Add pause/resume button for speed tests #113
Merged
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.
Adds a global pause/resume toggle next to the theme button to halt all active speed test requests.
Changes
UI Component (
index.jsx)PauseTogglecomponent with play/pause SVG iconsonPauseChange()with cleanup on unmountSpeed Test Engine (
lib/speed-test.js)pause(),resume(),isPaused()exports for state controlonPauseChange(callback)for reactive updates (returns unsubscribe function)Styling (
index.html).pause-togglepositioned 60px from right, matching theme button styleScreenshot
Active state:

Paused state:

Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
jioindiawest47365.z1.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestaic18632.z45.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestamw18632.z48.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestapac18632.z24.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestaqc18632.z1.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestat53726.z49.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestcac18632.z9.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestcae18632.z27.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestchile53201.z47.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestden18632.z1.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestein18632.z38.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestene18632.z1.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestesc218632.z1.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestesn18632.z1.web.core.windows.netspeedtestfrc18632.z28.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestjpw18632.z31.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestkoreasout18632.z32.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestmeic18632.z39.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestmmc18632.z41.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestne18632.z16.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestnea18632.z15.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestnsus18632.z14.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestnzn18632.z44.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestoze18632.z8.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestozse07105.z26.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestozse07315.z26.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestplc18632.z36.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestsan18632.z1.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestscus18632.z21.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestsea18632.z23.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestspain53288.z43.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestuaen18632.z1.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestuks18632.z33.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestwe07148.z6.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestwestcentr18632.z4.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestwestindia18632.z10.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestwestus218632.z5.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)speedtestwus318632.z1.web.core.windows.netstci08318.z29.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)stcus09377.z19.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)stea09073.z7.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)stei08516.z30.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)steus09377.z13.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)steus208516.z20.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)stjpe09377.z11.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)stkc09377.z12.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)stukw08516.z35.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)stwe08516.z6.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)stwus09377.z22.web.core.windows.netnode test/cb-endpoints-test.mjs(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.