diff --git a/CHANGELOG.md b/CHANGELOG.md index 71d0c129d996..6b3fb009073a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [11.2.0] +## [11.1.2] +### Fixed +- Prevent crashes for users that have NFTs without an image and/r limited image data ([#21176](https://github.com/MetaMask/metamask-extension/pull/21176)) + ## [11.1.1] ### Fixed - Ensure NFT settings notice in the NFT import modal is shown and hidden correctly, and that the modal is hidden when clicking the link to settings ([#21100](https://github.com/MetaMask/metamask-extension/pull/21100)) @@ -4044,6 +4048,8 @@ Update styles and spacing on the critical error page ([#20350](https://github.c [Unreleased]: https://github.com/MetaMask/metamask-extension/compare/v11.2.0...HEAD [11.2.0]: https://github.com/MetaMask/metamask-extension/compare/v11.1.0...v11.2.0 [Unreleased]: https://github.com/MetaMask/metamask-extension/compare/v11.1.1...HEAD +[Unreleased]: https://github.com/MetaMask/metamask-extension/compare/v11.1.2...HEAD +[11.1.2]: https://github.com/MetaMask/metamask-extension/compare/v11.1.1...v11.1.2 [11.1.1]: https://github.com/MetaMask/metamask-extension/compare/v11.1.0...v11.1.1 [11.1.0]: https://github.com/MetaMask/metamask-extension/compare/v11.0.0...v11.1.0 [11.0.0]: https://github.com/MetaMask/metamask-extension/compare/v10.35.1...v11.0.0 diff --git a/package.json b/package.json index cb1d79e8ed52..99a52e23d433 100644 --- a/package.json +++ b/package.json @@ -226,12 +226,12 @@ "@material-ui/core": "^4.11.0", "@metamask-institutional/custody-controller": "^0.2.12", "@metamask-institutional/custody-keyring": "^1.0.2", - "@metamask-institutional/extension": "^0.3.5", - "@metamask-institutional/institutional-features": "^1.2.4", + "@metamask-institutional/extension": "^0.3.7", + "@metamask-institutional/institutional-features": "^1.2.6", "@metamask-institutional/portfolio-dashboard": "^1.4.0", "@metamask-institutional/rpc-allowlist": "^1.0.0", - "@metamask-institutional/sdk": "^0.1.18", - "@metamask-institutional/transaction-update": "^0.1.27", + "@metamask-institutional/sdk": "^0.1.19", + "@metamask-institutional/transaction-update": "^0.1.29", "@metamask/address-book-controller": "^3.0.0", "@metamask/announcement-controller": "^4.0.0", "@metamask/approval-controller": "^3.4.0", diff --git a/test/e2e/tests/ipfs-toggle.spec.js b/test/e2e/tests/ipfs-toggle.spec.js index d6634ea3729a..149442b4ce91 100644 --- a/test/e2e/tests/ipfs-toggle.spec.js +++ b/test/e2e/tests/ipfs-toggle.spec.js @@ -33,10 +33,6 @@ describe('Settings', function () { '.settings-page__header__title-container__close-button', ); await driver.clickElement('[data-testid="home__nfts-tab"]'); - const nftDefaultImage1 = await driver.findElement( - '[data-testid=nft-default-image]', - ); - assert.equal(await nftDefaultImage1.isDisplayed(), true); const importedNftImage = await driver.findVisibleElement( '.nft-item__container', ); @@ -63,13 +59,6 @@ describe('Settings', function () { // should render image now const nftImage = await driver.findElement('[data-testid="nft-image"]'); assert.equal(await nftImage.isDisplayed(), true); - - await driver.clickElement('[data-testid="asset__back"]'); - await driver.clickElement('[data-testid="home__nfts-tab"]'); - await driver.clickElement('[data-testid="collection-expander-button"]'); - - const nftImage2 = await driver.findElement('[data-testid=nft-image]'); - assert.equal(await nftImage2.isDisplayed(), true); }, ); }); diff --git a/ui/components/app/nfts-items/nfts-items.js b/ui/components/app/nfts-items/nfts-items.js index d2e5eeb6630d..ced4c8f5a897 100644 --- a/ui/components/app/nfts-items/nfts-items.js +++ b/ui/components/app/nfts-items/nfts-items.js @@ -192,7 +192,7 @@ export default function NftsItems({ ipfsGateway, ); const nftImageAlt = getNftImageAlt(nft); - const isImageHosted = image.startsWith('https:'); + const isImageHosted = image?.startsWith('https:'); const nftImageURL = imageOriginal?.startsWith('ipfs') ? nftImage : image; diff --git a/yarn.lock b/yarn.lock index 5bd73a0a28c4..8a4a6901d6b0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3628,59 +3628,59 @@ __metadata: languageName: node linkType: hard -"@metamask-institutional/custody-controller@npm:^0.2.12": - version: 0.2.12 - resolution: "@metamask-institutional/custody-controller@npm:0.2.12" +"@metamask-institutional/custody-controller@npm:^0.2.12, @metamask-institutional/custody-controller@npm:^0.2.15": + version: 0.2.15 + resolution: "@metamask-institutional/custody-controller@npm:0.2.15" dependencies: "@ethereumjs/util": "npm:^8.0.5" - "@metamask-institutional/custody-keyring": "npm:^1.0.1" - "@metamask-institutional/sdk": "npm:^0.1.18" + "@metamask-institutional/custody-keyring": "npm:^1.0.4" + "@metamask-institutional/sdk": "npm:^0.1.20" "@metamask-institutional/types": "npm:^1.0.3" "@metamask/obs-store": "npm:^8.0.0" - checksum: 62d54cf12b5ff00d8038261de835d07f654077c39a66081fb88d4c79d37227ef6671dfef437e2af925cf72576abd523013a0fa652845960d937c6e58afff796b + checksum: d318adb8bee16bb294021056031e1fc7837a64bbc3ef025f05605ae121fac98210ac0e56a415f0c500f403fd67c2d4094e8d757102a9595966cd54f9994c57c4 languageName: node linkType: hard -"@metamask-institutional/custody-keyring@npm:^1.0.1, @metamask-institutional/custody-keyring@npm:^1.0.2": - version: 1.0.2 - resolution: "@metamask-institutional/custody-keyring@npm:1.0.2" +"@metamask-institutional/custody-keyring@npm:^1.0.2, @metamask-institutional/custody-keyring@npm:^1.0.4": + version: 1.0.4 + resolution: "@metamask-institutional/custody-keyring@npm:1.0.4" dependencies: "@ethereumjs/tx": "npm:^4.1.1" "@ethereumjs/util": "npm:^8.0.5" "@metamask-institutional/configuration-client": "npm:^2.0.0" - "@metamask-institutional/sdk": "npm:^0.1.18" + "@metamask-institutional/sdk": "npm:^0.1.20" "@metamask-institutional/types": "npm:^1.0.3" "@metamask/obs-store": "npm:^8.0.0" crypto: "npm:^1.0.1" lodash.clonedeep: "npm:^4.5.0" - checksum: eff487de17a9d7ea889a953f9874ee0a55b568928c97bf93a90c33af52acfc8958d708d8fb4e4cd909ec0e57757409ac86476b6ab89b72b72b4f6559eab3b06b + checksum: 49a6d53fba31c36d8b263a3f660b09a2b434540a0affd706f9447715304969a49e815bcce67b8e5d1f0872413a76e83057471faf5a911aa83fcc8d64604fbfc4 languageName: node linkType: hard -"@metamask-institutional/extension@npm:^0.3.5": - version: 0.3.5 - resolution: "@metamask-institutional/extension@npm:0.3.5" +"@metamask-institutional/extension@npm:^0.3.7": + version: 0.3.8 + resolution: "@metamask-institutional/extension@npm:0.3.8" dependencies: "@ethereumjs/util": "npm:^8.0.5" - "@metamask-institutional/custody-controller": "npm:^0.2.12" - "@metamask-institutional/custody-keyring": "npm:^1.0.1" + "@metamask-institutional/custody-controller": "npm:^0.2.15" + "@metamask-institutional/custody-keyring": "npm:^1.0.4" "@metamask-institutional/portfolio-dashboard": "npm:^1.4.0" - "@metamask-institutional/sdk": "npm:^0.1.18" - "@metamask-institutional/transaction-update": "npm:^0.1.27" + "@metamask-institutional/sdk": "npm:^0.1.20" + "@metamask-institutional/transaction-update": "npm:^0.1.30" "@metamask-institutional/types": "npm:^1.0.3" jest-create-mock-instance: "npm:^2.0.0" jest-fetch-mock: "npm:3.0.3" - checksum: a8b242d4837abc3812e01c38945428dcde0b29090e6c60d828c259f968378144c2e7e3f4bc3591f72232e0c037e6e3718627a65f45c3d446b96c45752e03eb4c + checksum: 47277ce38e1182fbbabe1243dff9ae4773c43abed3212ad712a975c1f26bddf86d016d117e426fd837b320c389f0f5745305da469f639ed25bcf18b41e6b8b21 languageName: node linkType: hard -"@metamask-institutional/institutional-features@npm:^1.2.4": - version: 1.2.4 - resolution: "@metamask-institutional/institutional-features@npm:1.2.4" +"@metamask-institutional/institutional-features@npm:^1.2.6": + version: 1.2.7 + resolution: "@metamask-institutional/institutional-features@npm:1.2.7" dependencies: - "@metamask-institutional/custody-keyring": "npm:^1.0.1" + "@metamask-institutional/custody-keyring": "npm:^1.0.4" "@metamask/obs-store": "npm:^8.0.0" - checksum: 988dc946563c820951da37a1aba2905b3d4987332c72dc2131cce2a67fcbc6789fd3e73d9240c9c756cb73d1e28953bd8efd6b7c3828d3a90e6bd9ed72243cd7 + checksum: d1b158c8fb18fce9d9f391d173853e622d8c5550291f79971f849bb2d9a26ca4706e704b33a2633d5c5c4f3f12b1c1fb6cbb53e37d989dde7ba0600e1ad3e386 languageName: node linkType: hard @@ -3698,17 +3698,17 @@ __metadata: languageName: node linkType: hard -"@metamask-institutional/sdk@npm:^0.1.18": - version: 0.1.18 - resolution: "@metamask-institutional/sdk@npm:0.1.18" +"@metamask-institutional/sdk@npm:^0.1.19, @metamask-institutional/sdk@npm:^0.1.20": + version: 0.1.20 + resolution: "@metamask-institutional/sdk@npm:0.1.20" dependencies: "@metamask-institutional/simplecache": "npm:^1.1.0" "@metamask-institutional/types": "npm:^1.0.3" "@types/jsonwebtoken": "npm:^9.0.1" - "@types/node": "npm:^18.15.11" + "@types/node": "npm:^20.4.2" bignumber.js: "npm:^9.1.1" jsonwebtoken: "npm:^9.0.0" - checksum: a554a2431caa4d9bb396cb19434a68a4a0a87eecfc5e7c0ed57b4d763eb5ac43563f002f90789f503ceec9c12534b727ad62a3d3feae4aea623eb35244be19aa + checksum: 80e84057d7f67f4af365be9cb20c7d6e0f35d9dbd85876c06a1703749ded93d7391c1533d59a49c9cf793acee60bf5ba74626313e88100abdf0c7f65c9d56bef languageName: node linkType: hard @@ -3719,17 +3719,17 @@ __metadata: languageName: node linkType: hard -"@metamask-institutional/transaction-update@npm:^0.1.27": - version: 0.1.27 - resolution: "@metamask-institutional/transaction-update@npm:0.1.27" +"@metamask-institutional/transaction-update@npm:^0.1.29, @metamask-institutional/transaction-update@npm:^0.1.30": + version: 0.1.30 + resolution: "@metamask-institutional/transaction-update@npm:0.1.30" dependencies: - "@metamask-institutional/custody-keyring": "npm:^1.0.1" - "@metamask-institutional/sdk": "npm:^0.1.18" + "@metamask-institutional/custody-keyring": "npm:^1.0.4" + "@metamask-institutional/sdk": "npm:^0.1.20" "@metamask-institutional/types": "npm:^1.0.3" - "@metamask-institutional/websocket-client": "npm:^0.1.29" + "@metamask-institutional/websocket-client": "npm:^0.1.32" "@metamask/obs-store": "npm:^8.0.0" ethereumjs-util: "npm:^7.1.5" - checksum: 1ff8db117aebf1c0131de0d89ca14d9a74ef8757187ad30e6ee7fd25859a2ce22a9a01f49efc33360bd9231ccce22ab89cc1bcea3d6a0ea915b2ee9d76cdc618 + checksum: 3236dd0982081ebb660f0787c44e78c37f40f66368316c278c63a1a536163b7d23e0b26dc7126e84abcaaef71a35ef426b917979b14cd6a5bf4b854999689ff1 languageName: node linkType: hard @@ -3740,15 +3740,15 @@ __metadata: languageName: node linkType: hard -"@metamask-institutional/websocket-client@npm:^0.1.29": - version: 0.1.29 - resolution: "@metamask-institutional/websocket-client@npm:0.1.29" +"@metamask-institutional/websocket-client@npm:^0.1.32": + version: 0.1.32 + resolution: "@metamask-institutional/websocket-client@npm:0.1.32" dependencies: - "@metamask-institutional/custody-keyring": "npm:^1.0.1" - "@metamask-institutional/sdk": "npm:^0.1.18" + "@metamask-institutional/custody-keyring": "npm:^1.0.4" + "@metamask-institutional/sdk": "npm:^0.1.20" "@metamask-institutional/types": "npm:^1.0.3" mock-socket: "npm:^9.2.1" - checksum: 137d8d9c9a0672744022a92b04ed9b65d10cc34bba2bbcdb5b8ac7e7912ca25d6f8fc4d671ff973ee6dafbe58b6cbbad4aad3f35146363b03acdfa5d91d6b961 + checksum: d0ab49a189e5a95494c880b0a300bcad1fd824085c331f8922bf2e120b3cfbf1cf54d48946b89f6c83d315d1392f916e5e1233586bf96de503d421c10f1cc542 languageName: node linkType: hard @@ -8132,10 +8132,10 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:>=13.7.0": - version: 20.2.5 - resolution: "@types/node@npm:20.2.5" - checksum: 37529473f00ee1042133abef58c9f9e92cd3b28f8d6cae3fabd09696dc86505bb6cdf3329403a5b23ccddbe589b8b7579b0b6d78ddfbeca856114d165af44ce5 +"@types/node@npm:*, @types/node@npm:>=13.7.0, @types/node@npm:^20.4.2": + version: 20.8.2 + resolution: "@types/node@npm:20.8.2" + checksum: 61bd39870625d8afcbb4f21d6a0c3a9681f6d508dc6b06f2497e9ad3ec942092a120bcfdbc1757a8e4017308449bc2a9b9865b2b9840b158878a4e8cc0804a3c languageName: node linkType: hard @@ -8153,13 +8153,6 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^18.15.11": - version: 18.16.16 - resolution: "@types/node@npm:18.16.16" - checksum: de89394eae62000f2df988b37928cbeefc1407a50060aee8d1ac9c5e11d01be8305c1e14fc26d80f262f352e60c961b82a00bbafca181d3717a7ce52336cb2bd - languageName: node - linkType: hard - "@types/normalize-package-data@npm:^2.4.0": version: 2.4.0 resolution: "@types/normalize-package-data@npm:2.4.0" @@ -24165,12 +24158,12 @@ __metadata: "@material-ui/core": "npm:^4.11.0" "@metamask-institutional/custody-controller": "npm:^0.2.12" "@metamask-institutional/custody-keyring": "npm:^1.0.2" - "@metamask-institutional/extension": "npm:^0.3.5" - "@metamask-institutional/institutional-features": "npm:^1.2.4" + "@metamask-institutional/extension": "npm:^0.3.7" + "@metamask-institutional/institutional-features": "npm:^1.2.6" "@metamask-institutional/portfolio-dashboard": "npm:^1.4.0" "@metamask-institutional/rpc-allowlist": "npm:^1.0.0" - "@metamask-institutional/sdk": "npm:^0.1.18" - "@metamask-institutional/transaction-update": "npm:^0.1.27" + "@metamask-institutional/sdk": "npm:^0.1.19" + "@metamask-institutional/transaction-update": "npm:^0.1.29" "@metamask/address-book-controller": "npm:^3.0.0" "@metamask/announcement-controller": "npm:^4.0.0" "@metamask/approval-controller": "npm:^3.4.0"