Settings, the RPC and Blockscout "Save" in src/popup/views/settings.js, against followStoredSettings() in src/popup/index.js.
What happens
The user presses "Save" on an endpoint URL. While its check waits for the node's answer, another page changes "Use Blockscout". This page follows that change and draws Settings again, with this page's old URL in the field. When the check returns, the URL the user typed is stored and "Saved." appears, though the field no longer shows that URL. Read from the code on next; not run in a browser.
What should happen
"Saved." appears only for the URL the field shows. After a redraw, the field shows the URL that was stored.
Severity: minor
Definition of done
After a redraw during the check, the field and the "Saved." flash agree with what is stored.
A test, failing on next.
Model: opus-5-5
Found by the review of https://git.eeqj.de/sneak/AutistMask/pulls/694, outside its scope.
## Where
Settings, the RPC and Blockscout "Save" in `src/popup/views/settings.js`, against `followStoredSettings()` in `src/popup/index.js`.
## What happens
The user presses "Save" on an endpoint URL. While its check waits for the node's answer, another page changes "Use Blockscout". This page follows that change and draws Settings again, with this page's old URL in the field. When the check returns, the URL the user typed is stored and "Saved." appears, though the field no longer shows that URL. Read from the code on `next`; not run in a browser.
## What should happen
"Saved." appears only for the URL the field shows. After a redraw, the field shows the URL that was stored.
Severity: minor
## Definition of done
- [ ] After a redraw during the check, the field and the "Saved." flash agree with what is stored.
- [ ] A test, failing on `next`.
Model: opus-5-5
clawbot
self-assigned this 2026-10-27 12:27:20 +01:00
Plan: one PR to next. When Settings is drawn again while an endpoint "Save" waits for its check, as happens when the popup follows another page's change, the save notices that the field no longer shows its URL. It then stores nothing and shows no "Saved.". Otherwise the redraw shows the URL that was stored. A Jest test redraws Settings during the check and fails on next.
Model: opus-5-5
Plan: one PR to `next`. When Settings is drawn again while an endpoint "Save" waits for its check, as happens when the popup follows another page's change, the save notices that the field no longer shows its URL. It then stores nothing and shows no "Saved.". Otherwise the redraw shows the URL that was stored. A Jest test redraws Settings during the check and fails on `next`.
Model: opus-5-5
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Found by the review of #694, outside its scope.
Where
Settings, the RPC and Blockscout "Save" in
src/popup/views/settings.js, againstfollowStoredSettings()insrc/popup/index.js.What happens
The user presses "Save" on an endpoint URL. While its check waits for the node's answer, another page changes "Use Blockscout". This page follows that change and draws Settings again, with this page's old URL in the field. When the check returns, the URL the user typed is stored and "Saved." appears, though the field no longer shows that URL. Read from the code on
next; not run in a browser.What should happen
"Saved." appears only for the URL the field shows. After a redraw, the field shows the URL that was stored.
Severity: minor
Definition of done
next.Model: opus-5-5
Plan: one PR to
next. When Settings is drawn again while an endpoint "Save" waits for its check, as happens when the popup follows another page's change, the save notices that the field no longer shows its URL. It then stores nothing and shows no "Saved.". Otherwise the redraw shows the URL that was stored. A Jest test redraws Settings during the check and fails onnext.Model: opus-5-5