You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: avoid multiple calls to refresh nft metadata (#4325)
## Explanation
This PR updates the logic of `updateNftMetadata` function and adds a
mutex to synchronize state updates.
Inside `getNftInformation` function, before returning the image, we
prioritize checking for api result then fallback to checking if there
was an image in the blockchain result.
The nft detection will be enabled by default in the future, this will
avoid making unnecessary state updates when the image string returned
from NFT-API is different than the string returned from
`blockchainMetadata`.
## References
* Related to MetaMask/metamask-mobile#9759
## Changelog
<!--
If you're making any consumer-facing changes, list those changes here as
if you were updating a changelog, using the template below as a guide.
(CATEGORY is one of BREAKING, ADDED, CHANGED, DEPRECATED, REMOVED, or
FIXED. For security-related issues, follow the Security Advisory
process.)
Please take care to name the exact pieces of the API you've added or
changed (e.g. types, interfaces, functions, or methods).
If there are any breaking changes, make sure to offer a solution for
consumers to follow once they upgrade to the changes.
Finally, if you're only making changes to development scripts or tests,
you may replace the template below with "None".
-->
### `@metamask/assets-controllers`
- **Added**: Added Mutex lock in the `updateNftMetadata` function.
## Checklist
- [ ] I've updated the test suite for new or updated code as appropriate
- [ ] I've updated documentation (JSDoc, Markdown, etc.) for new or
updated code as appropriate
- [ ] I've highlighted breaking changes using the "BREAKING" category
above as appropriate
0 commit comments