-
Notifications
You must be signed in to change notification settings - Fork 5.5k
fix: cp-12.22.3 Stop polling multichain rates while idle #34474
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
🔍 Existing Issues For ReviewYour pull request is modifying functions with the following pre-existing issues: 📄 File: app/scripts/background.js
Did you find this useful? React with a 👍 or 👎 |
08b8a34 to
1d6b5a0
Compare
Collaborator
Builds ready [1d6b5a0]
UI Startup Metrics (1242 ± 51 ms)
Benchmark value 211 exceeds gate value 10 for chrome browserify home mean backgroundConnect Benchmark value 4 exceeds gate value 1 for chrome browserify home mean initialActions Benchmark value 854 exceeds gate value 830 for chrome browserify home mean loadScripts Benchmark value 231 exceeds gate value 18 for chrome browserify home p95 backgroundConnect Benchmark value 16 exceeds gate value 1.2 for chrome browserify home p95 initialActions Benchmark value 2378 exceeds gate value 2192 for chrome webpack home mean uiStartup Benchmark value 1889 exceeds gate value 1711 for chrome webpack home mean load Benchmark value 1883 exceeds gate value 1704 for chrome webpack home mean domContentLoaded Benchmark value 11 exceeds gate value 7 for chrome webpack home mean initialActions Benchmark value 1878 exceeds gate value 1699 for chrome webpack home mean loadScripts Benchmark value 2550 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 2125 exceeds gate value 2030 for chrome webpack home p95 load Benchmark value 2121 exceeds gate value 2005 for chrome webpack home p95 domContentLoaded Benchmark value 71 exceeds gate value 57 for chrome webpack home p95 domInteractive Benchmark value 28 exceeds gate value 7 for chrome webpack home p95 initialActions Benchmark value 2119 exceeds gate value 1970 for chrome webpack home p95 loadScripts Benchmark value 1507 exceeds gate value 1405 for firefox browserify home mean uiStartup Benchmark value 1292 exceeds gate value 1245 for firefox browserify home mean load Benchmark value 1292 exceeds gate value 1239 for firefox browserify home mean domContentLoaded Benchmark value 30 exceeds gate value 25 for firefox browserify home mean backgroundConnect Benchmark value 28 exceeds gate value 25 for firefox browserify home mean firstReactRender Benchmark value 4 exceeds gate value 1 for firefox browserify home mean initialActions Benchmark value 1266 exceeds gate value 1230 for firefox browserify home mean loadScripts Benchmark value 17 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 1790 exceeds gate value 1660 for firefox browserify home p95 uiStartup Benchmark value 295 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 71 exceeds gate value 70 for firefox browserify home p95 backgroundConnect Benchmark value 13 exceeds gate value 2 for firefox browserify home p95 initialActions Benchmark value 90 exceeds gate value 27 for firefox browserify home p95 setupStore Benchmark value 1716 exceeds gate value 1615 for firefox webpack home mean uiStartup Benchmark value 1462 exceeds gate value 1380 for firefox webpack home mean load Benchmark value 1462 exceeds gate value 1380 for firefox webpack home mean domContentLoaded Benchmark value 101 exceeds gate value 100 for firefox webpack home mean domInteractive Benchmark value 28 exceeds gate value 26 for firefox webpack home mean backgroundConnect Benchmark value 51 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 6 exceeds gate value 1 for firefox webpack home mean initialActions Benchmark value 1440 exceeds gate value 1360 for firefox webpack home mean loadScripts Benchmark value 2119 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 1772 exceeds gate value 1660 for firefox webpack home p95 load Benchmark value 1772 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded Benchmark value 277 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 70 exceeds gate value 49 for firefox webpack home p95 backgroundConnect Benchmark value 61 exceeds gate value 50 for firefox webpack home p95 firstReactRender Benchmark value 22 exceeds gate value 2 for firefox webpack home p95 initialActions Benchmark value 1752 exceeds gate value 1630 for firefox webpack home p95 loadScripts Sum of mean exceeds: 1585ms | Sum of p95 exceeds: 1726.8ms Sum of all benchmark exceeds: 3311.8ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
99610a1 to
087e861
Compare
Collaborator
Builds ready [087e861]
UI Startup Metrics (1297 ± 71 ms)
Benchmark value 1107 exceeds gate value 1070 for chrome browserify home mean load Benchmark value 1100 exceeds gate value 1061 for chrome browserify home mean domContentLoaded Benchmark value 217 exceeds gate value 10 for chrome browserify home mean backgroundConnect Benchmark value 25 exceeds gate value 23 for chrome browserify home mean firstReactRender Benchmark value 4 exceeds gate value 1 for chrome browserify home mean initialActions Benchmark value 890 exceeds gate value 830 for chrome browserify home mean loadScripts Benchmark value 1452 exceeds gate value 1365 for chrome browserify home p95 uiStartup Benchmark value 1242 exceeds gate value 1190 for chrome browserify home p95 load Benchmark value 1232 exceeds gate value 1180 for chrome browserify home p95 domContentLoaded Benchmark value 234 exceeds gate value 18 for chrome browserify home p95 backgroundConnect Benchmark value 16 exceeds gate value 1.2 for chrome browserify home p95 initialActions Benchmark value 1016 exceeds gate value 940 for chrome browserify home p95 loadScripts Benchmark value 2342 exceeds gate value 2192 for chrome webpack home mean uiStartup Benchmark value 1849 exceeds gate value 1711 for chrome webpack home mean load Benchmark value 1841 exceeds gate value 1704 for chrome webpack home mean domContentLoaded Benchmark value 23 exceeds gate value 21 for chrome webpack home mean domInteractive Benchmark value 44 exceeds gate value 40 for chrome webpack home mean backgroundConnect Benchmark value 10 exceeds gate value 7 for chrome webpack home mean initialActions Benchmark value 1837 exceeds gate value 1699 for chrome webpack home mean loadScripts Benchmark value 2544 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 2137 exceeds gate value 2030 for chrome webpack home p95 load Benchmark value 2132 exceeds gate value 2005 for chrome webpack home p95 domContentLoaded Benchmark value 62 exceeds gate value 57 for chrome webpack home p95 domInteractive Benchmark value 271 exceeds gate value 90 for chrome webpack home p95 backgroundConnect Benchmark value 20 exceeds gate value 7 for chrome webpack home p95 initialActions Benchmark value 2122 exceeds gate value 1970 for chrome webpack home p95 loadScripts Benchmark value 1600 exceeds gate value 1405 for firefox browserify home mean uiStartup Benchmark value 1367 exceeds gate value 1245 for firefox browserify home mean load Benchmark value 1367 exceeds gate value 1239 for firefox browserify home mean domContentLoaded Benchmark value 126 exceeds gate value 110 for firefox browserify home mean domInteractive Benchmark value 31 exceeds gate value 25 for firefox browserify home mean backgroundConnect Benchmark value 31 exceeds gate value 25 for firefox browserify home mean firstReactRender Benchmark value 21 exceeds gate value 11 for firefox browserify home mean getState Benchmark value 6 exceeds gate value 1 for firefox browserify home mean initialActions Benchmark value 1341 exceeds gate value 1230 for firefox browserify home mean loadScripts Benchmark value 12 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 1928 exceeds gate value 1660 for firefox browserify home p95 uiStartup Benchmark value 1573 exceeds gate value 1495 for firefox browserify home p95 load Benchmark value 1573 exceeds gate value 1495 for firefox browserify home p95 domContentLoaded Benchmark value 451 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 62 exceeds gate value 55 for firefox browserify home p95 firstReactRender Benchmark value 174 exceeds gate value 24 for firefox browserify home p95 getState Benchmark value 26 exceeds gate value 2 for firefox browserify home p95 initialActions Benchmark value 1543 exceeds gate value 1475 for firefox browserify home p95 loadScripts Benchmark value 34 exceeds gate value 27 for firefox browserify home p95 setupStore Benchmark value 1747 exceeds gate value 1615 for firefox webpack home mean uiStartup Benchmark value 1461 exceeds gate value 1380 for firefox webpack home mean load Benchmark value 1461 exceeds gate value 1380 for firefox webpack home mean domContentLoaded Benchmark value 43 exceeds gate value 26 for firefox webpack home mean backgroundConnect Benchmark value 52 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 10 exceeds gate value 1 for firefox webpack home mean initialActions Benchmark value 1438 exceeds gate value 1360 for firefox webpack home mean loadScripts Benchmark value 19 exceeds gate value 13 for firefox webpack home mean setupStore Benchmark value 2103 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 1748 exceeds gate value 1660 for firefox webpack home p95 load Benchmark value 1748 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded Benchmark value 272 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 64 exceeds gate value 49 for firefox webpack home p95 backgroundConnect Benchmark value 63 exceeds gate value 50 for firefox webpack home p95 firstReactRender Benchmark value 36 exceeds gate value 32 for firefox webpack home p95 getState Benchmark value 29 exceeds gate value 2 for firefox webpack home p95 initialActions Benchmark value 1707 exceeds gate value 1630 for firefox webpack home p95 loadScripts Benchmark value 75 exceeds gate value 28 for firefox webpack home p95 setupStore Sum of mean exceeds: 2003ms | Sum of p95 exceeds: 2751.8ms Sum of all benchmark exceeds: 4754.8ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
darkwing
approved these changes
Jul 21, 2025
The `MultichainRatesController` now stops polling when the UI is closed, and starts up again when the first UI instance is opened (conditionally, if a non-EVM account is selected). The method for starting polling is slightly different from other polling controllers because this controller doesn't use the same polling mixin as elsewhere. This controller is deprecated and soon to be removed. Relates to #33879
087e861 to
10132ba
Compare
Collaborator
Builds ready [10132ba]
UI Startup Metrics (1275 ± 72 ms)
Benchmark value 1097 exceeds gate value 1070 for chrome browserify home mean load Benchmark value 1090 exceeds gate value 1061 for chrome browserify home mean domContentLoaded Benchmark value 211 exceeds gate value 10 for chrome browserify home mean backgroundConnect Benchmark value 3 exceeds gate value 1 for chrome browserify home mean initialActions Benchmark value 885 exceeds gate value 830 for chrome browserify home mean loadScripts Benchmark value 1390 exceeds gate value 1365 for chrome browserify home p95 uiStartup Benchmark value 1200 exceeds gate value 1190 for chrome browserify home p95 load Benchmark value 1195 exceeds gate value 1180 for chrome browserify home p95 domContentLoaded Benchmark value 44 exceeds gate value 41 for chrome browserify home p95 domInteractive Benchmark value 228 exceeds gate value 18 for chrome browserify home p95 backgroundConnect Benchmark value 37 exceeds gate value 33 for chrome browserify home p95 getState Benchmark value 9 exceeds gate value 1.2 for chrome browserify home p95 initialActions Benchmark value 992 exceeds gate value 940 for chrome browserify home p95 loadScripts Benchmark value 2434 exceeds gate value 2192 for chrome webpack home mean uiStartup Benchmark value 1935 exceeds gate value 1711 for chrome webpack home mean load Benchmark value 1925 exceeds gate value 1704 for chrome webpack home mean domContentLoaded Benchmark value 26 exceeds gate value 21 for chrome webpack home mean domInteractive Benchmark value 11 exceeds gate value 7 for chrome webpack home mean initialActions Benchmark value 1920 exceeds gate value 1699 for chrome webpack home mean loadScripts Benchmark value 2653 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 2198 exceeds gate value 2030 for chrome webpack home p95 load Benchmark value 2191 exceeds gate value 2005 for chrome webpack home p95 domContentLoaded Benchmark value 76 exceeds gate value 57 for chrome webpack home p95 domInteractive Benchmark value 349 exceeds gate value 334 for chrome webpack home p95 firstPaint Benchmark value 34 exceeds gate value 7 for chrome webpack home p95 initialActions Benchmark value 2189 exceeds gate value 1970 for chrome webpack home p95 loadScripts Benchmark value 1478 exceeds gate value 1405 for firefox browserify home mean uiStartup Benchmark value 1285 exceeds gate value 1245 for firefox browserify home mean load Benchmark value 1285 exceeds gate value 1239 for firefox browserify home mean domContentLoaded Benchmark value 120 exceeds gate value 110 for firefox browserify home mean domInteractive Benchmark value 27 exceeds gate value 25 for firefox browserify home mean backgroundConnect Benchmark value 29 exceeds gate value 25 for firefox browserify home mean firstReactRender Benchmark value 12 exceeds gate value 11 for firefox browserify home mean getState Benchmark value 4 exceeds gate value 1 for firefox browserify home mean initialActions Benchmark value 1263 exceeds gate value 1230 for firefox browserify home mean loadScripts Benchmark value 11 exceeds gate value 9 for firefox browserify home mean setupStore Benchmark value 1706 exceeds gate value 1660 for firefox browserify home p95 uiStartup Benchmark value 320 exceeds gate value 195 for firefox browserify home p95 domInteractive Benchmark value 56 exceeds gate value 55 for firefox browserify home p95 firstReactRender Benchmark value 42 exceeds gate value 24 for firefox browserify home p95 getState Benchmark value 14 exceeds gate value 2 for firefox browserify home p95 initialActions Benchmark value 36 exceeds gate value 27 for firefox browserify home p95 setupStore Benchmark value 1798 exceeds gate value 1615 for firefox webpack home mean uiStartup Benchmark value 1517 exceeds gate value 1380 for firefox webpack home mean load Benchmark value 1517 exceeds gate value 1380 for firefox webpack home mean domContentLoaded Benchmark value 106 exceeds gate value 100 for firefox webpack home mean domInteractive Benchmark value 32 exceeds gate value 26 for firefox webpack home mean backgroundConnect Benchmark value 52 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 8 exceeds gate value 1 for firefox webpack home mean initialActions Benchmark value 1493 exceeds gate value 1360 for firefox webpack home mean loadScripts Benchmark value 21 exceeds gate value 13 for firefox webpack home mean setupStore Benchmark value 2182 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 1835 exceeds gate value 1660 for firefox webpack home p95 load Benchmark value 1835 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded Benchmark value 316 exceeds gate value 156 for firefox webpack home p95 domInteractive Benchmark value 73 exceeds gate value 49 for firefox webpack home p95 backgroundConnect Benchmark value 60 exceeds gate value 50 for firefox webpack home p95 firstReactRender Benchmark value 33 exceeds gate value 32 for firefox webpack home p95 getState Benchmark value 22 exceeds gate value 2 for firefox webpack home p95 initialActions Benchmark value 1809 exceeds gate value 1630 for firefox webpack home p95 loadScripts Benchmark value 110 exceeds gate value 28 for firefox webpack home p95 setupStore Sum of mean exceeds: 2118ms | Sum of p95 exceeds: 2443.8ms Sum of all benchmark exceeds: 4561.8ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
GuillaumeRx
approved these changes
Jul 22, 2025
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
The
MultichainRatesControllernow stops polling when the UI is closed, and starts up again when the first UI instance is opened (conditionally, if a non-EVM account is selected).The method for starting polling is slightly different from other polling controllers because this controller doesn't use the same polling mixin as elsewhere. This controller is deprecated and soon to be removed.
Changelog
CHANGELOG entry: Prevent frequent writes while the wallet UI is closed
Related issues
Relates to #33879
Manual testing steps
this.persistbeingtrue:metamask-extension/app/scripts/lib/ComposableObservableStore.js
Line 111 in f2104e9
Screenshots/Recordings
N/A
Pre-merge author checklist
Pre-merge reviewer checklist