A "Top tokens:" button on SettingsAddToken had no already-tracked check and stays enabled until its save ends. A fast double click therefore tracked the token twice in memory.
The handler now starts with the isTracked check the rest of the screen uses. A second click shows "Already tracked." and tracks nothing. The top 100 dropdown already has this check, so it is unchanged.
tests/addTokenLateAnswer.test.js gains a double-click test. The test "a second click on Add while the lookup waits tracks the token once" now also checks state.trackedTokens, because a save drops duplicates from the stored list.
What the diff does not show:
When the first click's save ends, its "Added SYMBOL" flash message replaces "Already tracked."
The test page builds no elements from markup, so the new test hands the screen a stand-in button.
Disclosures:
Unverified: the double click was not run in a browser.
Judgement call: README.md is unchanged, as the plan names only two files. Its SettingsAddToken section says a tracked token "is disabled" and names "Already tracked." only for the dropdown, which leaves out this short window before the save ends.
Model: opus-5-5
A "Top tokens:" button on SettingsAddToken had no already-tracked check and stays enabled until its save ends. A fast double click therefore tracked the token twice in memory.
The handler now starts with the `isTracked` check the rest of the screen uses. A second click shows "Already tracked." and tracks nothing. The top 100 dropdown already has this check, so it is unchanged.
`tests/addTokenLateAnswer.test.js` gains a double-click test. The test "a second click on Add while the lookup waits tracks the token once" now also checks `state.trackedTokens`, because a save drops duplicates from the stored list.
What the diff does not show:
- When the first click's save ends, its "Added SYMBOL" flash message replaces "Already tracked."
- The test page builds no elements from markup, so the new test hands the screen a stand-in button.
Disclosures:
- Unverified: the double click was not run in a browser.
- Judgement call: `README.md` is unchanged, as the plan names only two files. Its SettingsAddToken section says a tracked token "is disabled" and names "Already tracked." only for the dropdown, which leaves out this short window before the save ends.
Model: opus-5-5
A "Top tokens:" button had no already-tracked check and stays enabled until its
save ends, so a fast double click tracked the token twice in memory. Its handler
now checks first. A second click shows "Already tracked." and tracks nothing.
The top 100 dropdown already has this check, so it is unchanged.
Model: opus-5-5
PASS: a second click on a "Top tokens:" button before the first click's save ends now shows "Already tracked." and tracks nothing, as #729 asks, and the new test fails without the fix.
Follow-up: the new test's comment in tests/addTokenLateAnswer.test.js says "The page stub". tests/support/popupBoot.js calls it "The DOM stub", so the comment should use that name.
Follow-up: the commit is authored as sneak <sneak@sneak.berlin>, not clawbot. The squash merge replaces the author, but the worker should commit as clawbot.
Unverified: the double click was not run in a browser.
Model: opus-5-5
PASS: a second click on a "Top tokens:" button before the first click's save ends now shows "Already tracked." and tracks nothing, as https://git.eeqj.de/sneak/AutistMask/issues/729 asks, and the new test fails without the fix.
- Follow-up: the new test's comment in `tests/addTokenLateAnswer.test.js` says "The page stub". `tests/support/popupBoot.js` calls it "The DOM stub", so the comment should use that name.
- Follow-up: the commit is authored as `sneak <sneak@sneak.berlin>`, not `clawbot`. The squash merge replaces the author, but the worker should commit as `clawbot`.
- Unverified: the double click was not run in a browser.
Model: opus-5-5
clawbot
merged commit 21d5e42528 into next2026-11-03 07:37:04 +01:00
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.
A "Top tokens:" button on SettingsAddToken had no already-tracked check and stays enabled until its save ends. A fast double click therefore tracked the token twice in memory.
The handler now starts with the
isTrackedcheck the rest of the screen uses. A second click shows "Already tracked." and tracks nothing. The top 100 dropdown already has this check, so it is unchanged.tests/addTokenLateAnswer.test.jsgains a double-click test. The test "a second click on Add while the lookup waits tracks the token once" now also checksstate.trackedTokens, because a save drops duplicates from the stored list.What the diff does not show:
Disclosures:
README.mdis unchanged, as the plan names only two files. Its SettingsAddToken section says a tracked token "is disabled" and names "Already tracked." only for the dropdown, which leaves out this short window before the save ends.Model: opus-5-5
PASS: a second click on a "Top tokens:" button before the first click's save ends now shows "Already tracked." and tracks nothing, as #729 asks, and the new test fails without the fix.
tests/addTokenLateAnswer.test.jssays "The page stub".tests/support/popupBoot.jscalls it "The DOM stub", so the comment should use that name.sneak <sneak@sneak.berlin>, notclawbot. The squash merge replaces the author, but the worker should commit asclawbot.Model: opus-5-5