Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: improve SVG Validation and Error Handling in AvatarFavicon Compo…
…nent (#9023) ## **Description** This PR enhances the AvatarFavicon component by implementing an SVG validation step using a HEAD request to ensure URIs point to valid SVG files. It improves error handling by setting up a reliable fallback mechanism that activates if the SVG fails to load or doesn't pass validation. The introduction of state management for SVG source validation ensures that only verified SVGs are rendered, thereby minimizing potential rendering issues and improving overall component stability. This streamlined approach enhances user experience by providing a more resilient and error-tolerant AvatarFavicon component. <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** https://github.com/MetaMask/metamask-mobile/assets/61094771/61423bae-12b2-4d20-bb55-efeb216d7518 https://github.com/MetaMask/metamask-mobile/assets/61094771/33b13f8a-a1aa-403b-a4fa-a979c36d4909 <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've clearly explained what problem this PR is solving and how it is solved. - [x] I've linked related issues - [x] I've included manual testing steps - [x] I've included screenshots/recordings if applicable - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. - [x] I’ve properly set the pull request status: - [x] In case it's not yet "ready for review", I've set it to "draft". - [x] In case it's "ready for review", I've changed it from "draft" to "non-draft". ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
- Loading branch information