diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0023dd5e58..293984443f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,14 +6,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
-## [9.5.8]
+## [9.5.9]
### Fixed
-- [#11207](https://github.com/MetaMask/metamask-extension/pull/11207) - Fix error causing crashes on some locales on v9.5.6
+- [#11225](https://github.com/MetaMask/metamask-extension/pull/11225) - Fix persistent display of chrome ledger What's New popup message
+## [9.5.8]
### Added
- Re-added "Add Ledger Live Support" ([#10293](https://github.com/MetaMask/metamask-extension/pull/10293)), which was reverted in the previous version
+### Fixed
+- [#11207](https://github.com/MetaMask/metamask-extension/pull/11207) - Fix error causing crashes on some locales on v9.5.6
+
## [9.5.7]
### Fixed
- Revert "Add Ledger Live Support" ([#10293](https://github.com/MetaMask/metamask-extension/pull/10293)), which introduced a UI crash for some locales
@@ -2259,7 +2263,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Uncategorized
- Added the ability to restore accounts from seed words.
-[Unreleased]: https://github.com/MetaMask/metamask-extension/compare/v9.5.7...HEAD
+[Unreleased]: https://github.com/MetaMask/metamask-extension/compare/v9.5.9...HEAD
+[9.5.9]: https://github.com/MetaMask/metamask-extension/compare/v9.5.8...v9.5.9
+[9.5.8]: https://github.com/MetaMask/metamask-extension/compare/v9.5.7...v9.5.8
[9.5.7]: https://github.com/MetaMask/metamask-extension/compare/v9.5.6...v9.5.7
[9.5.6]: https://github.com/MetaMask/metamask-extension/compare/v9.5.5...v9.5.6
[9.5.5]: https://github.com/MetaMask/metamask-extension/compare/v9.5.4...v9.5.5
diff --git a/app/manifest/_base.json b/app/manifest/_base.json
index a3c5d621fe..a5969f3379 100644
--- a/app/manifest/_base.json
+++ b/app/manifest/_base.json
@@ -71,6 +71,6 @@
"notifications"
],
"short_name": "__MSG_appName__",
- "version": "9.5.8",
+ "version": "9.5.9",
"web_accessible_resources": ["inpage.js", "phishing.html"]
}
diff --git a/package.json b/package.json
index 168408e091..f6e3c4dc68 100644
--- a/package.json
+++ b/package.json
@@ -81,7 +81,8 @@
"analytics-node/axios": "^0.21.1",
"ganache-core/lodash": "^4.17.21",
"netmask": "^2.0.1",
- "pull-ws": "^3.3.2"
+ "pull-ws": "^3.3.2",
+ "ws": "^7.4.6"
},
"dependencies": {
"3box": "^1.10.2",
diff --git a/ui/app/components/app/whats-new-popup/index.scss b/ui/app/components/app/whats-new-popup/index.scss
index 8f2aca460d..3bef998590 100644
--- a/ui/app/components/app/whats-new-popup/index.scss
+++ b/ui/app/components/app/whats-new-popup/index.scss
@@ -10,6 +10,19 @@
flex-direction: column;
margin: 0 24px 24px 24px;
border-bottom: 1px solid $Grey-100;
+ position: relative;
+ }
+
+ &__last-notification {
+ > * {
+ &:nth-last-child(2) {
+ margin-bottom: 0;
+ };
+ }
+
+ .whats-new-popup__intersection-observable {
+ bottom: 8px;
+ }
}
&__notification-image {
@@ -47,6 +60,13 @@
font-weight: bold;
margin-bottom: 8px;
}
+
+ &__intersection-observable {
+ bottom: 22px;
+ position: absolute;
+ height: 1px;
+ width: 100%;
+ }
}
.popover-wrap.whats-new-popup__popover {
diff --git a/ui/app/components/app/whats-new-popup/whats-new-popup.js b/ui/app/components/app/whats-new-popup/whats-new-popup.js
index 499d2ee45e..be9415d4b1 100644
--- a/ui/app/components/app/whats-new-popup/whats-new-popup.js
+++ b/ui/app/components/app/whats-new-popup/whats-new-popup.js
@@ -56,7 +56,7 @@ const renderDescription = (description) => {
);
};
-const renderFirstNotification = (notification, idRefMap) => {
+const renderFirstNotification = (notification, idRefMap, isLast) => {
const { id, date, title, description, image, actionText } = notification;
const actionFunction = getActionFunctionById(id);
const imageComponent = image && (
@@ -72,9 +72,11 @@ const renderFirstNotification = (notification, idRefMap) => {
{!placeImageBelowDescription && imageComponent}
{title}
@@ -95,19 +97,24 @@ const renderFirstNotification = (notification, idRefMap) => {
{actionText}
)}
+
);
};
-const renderSubsequentNotification = (notification, idRefMap) => {
+const renderSubsequentNotification = (notification, idRefMap, isLast) => {
const { id, date, title, description, actionText } = notification;
const actionFunction = getActionFunctionById(id);
return (
{title}
@@ -121,6 +128,10 @@ const renderSubsequentNotification = (notification, idRefMap) => {
{`${actionText} >`}
)}
+
);
};
@@ -194,9 +205,11 @@ export default function WhatsNewPopup({ onClose }) {
{notifications.map(({ id }, index) => {
const notification = getTranslatedUINoficiations(t, locale)[id];
- return index === 0
- ? renderFirstNotification(notification, idRefMap)
- : renderSubsequentNotification(notification, idRefMap);
+ const isLast = index === notifications.length - 1;
+ // Display the swaps notification with full image
+ return index === 0 || id === 1
+ ? renderFirstNotification(notification, idRefMap, isLast)
+ : renderSubsequentNotification(notification, idRefMap, isLast);
})}
diff --git a/yarn.lock b/yarn.lock
index f72b8435e9..056b64bc21 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -5260,11 +5260,6 @@ async-iterator-to-stream@^1.1.0:
dependencies:
readable-stream "^3.0.5"
-async-limiter@^1.0.0, async-limiter@~1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd"
- integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
-
async-mutex@^0.2.6:
version "0.2.6"
resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.2.6.tgz#0d7a3deb978bc2b984d5908a2038e1ae2e54ff40"
@@ -19603,11 +19598,6 @@ optionator@^0.9.1:
type-check "^0.4.0"
word-wrap "^1.2.3"
-options@>=0.0.5:
- version "0.0.6"
- resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f"
- integrity sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=
-
optjs@latest:
version "3.2.2"
resolved "https://registry.yarnpkg.com/optjs/-/optjs-3.2.2.tgz#69a6ce89c442a44403141ad2f9b370bd5bb6f4ee"
@@ -25761,16 +25751,6 @@ typical@^5.0.0:
resolved "https://registry.yarnpkg.com/typical/-/typical-5.1.0.tgz#7116ca103caf2574985fc84fbaa8fd0ee5ea1684"
integrity sha512-t5Ik8UAwBal1P1XzuVE4dc+RYQZicLUGJdvqr/vdqsED7SQECgsGBylldSsfWZL7RQjxT3xhQcKHWhLaVSR6YQ==
-ultron@1.0.x:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa"
- integrity sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=
-
-ultron@~1.1.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c"
- integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==
-
umd@^3.0.0:
version "3.0.3"
resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.3.tgz#aa9fe653c42b9097678489c01000acb69f0b26cf"
@@ -27220,51 +27200,10 @@ write@^0.2.1:
dependencies:
mkdirp "^0.5.1"
-ws@7.1.0:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/ws/-/ws-7.1.0.tgz#0395646c6fcc3ac56abf61ce1a42039637a6bd98"
- integrity sha512-Swie2C4fs7CkwlHu1glMePLYJJsWjzhl1vm3ZaLplD0h7OMkZyZ6kLTB/OagiU923bZrPFXuDTeEqaEN4NWG4g==
- dependencies:
- async-limiter "^1.0.0"
-
-ws@7.2.3:
- version "7.2.3"
- resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.3.tgz#a5411e1fb04d5ed0efee76d26d5c46d830c39b46"
- integrity sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==
-
-ws@^1.1.0:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.5.tgz#cbd9e6e75e09fc5d2c90015f21f0c40875e0dd51"
- integrity sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==
- dependencies:
- options ">=0.0.5"
- ultron "1.0.x"
-
-ws@^3.0.0:
- version "3.3.3"
- resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2"
- integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==
- dependencies:
- async-limiter "~1.0.0"
- safe-buffer "~5.1.0"
- ultron "~1.1.0"
-
-ws@^5.1.1:
- version "5.2.2"
- resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f"
- integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==
- dependencies:
- async-limiter "~1.0.0"
-
-ws@^7, ws@^7.2.0, ws@^7.4.0, ws@~7.4.2:
- version "7.4.2"
- resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.2.tgz#782100048e54eb36fe9843363ab1c68672b261dd"
- integrity sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==
-
-ws@^7.4.4:
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.4.tgz#383bc9742cb202292c9077ceab6f6047b17f2d59"
- integrity sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw==
+ws@7.1.0, ws@7.2.3, ws@^1.1.0, ws@^3.0.0, ws@^5.1.1, ws@^7, ws@^7.2.0, ws@^7.4.0, ws@^7.4.4, ws@^7.4.6, ws@~7.4.2:
+ version "7.4.6"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c"
+ integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==
xdg-basedir@^3.0.0:
version "3.0.0"