Four new cases, in both the Chrome suite (tests/e2e/run.js) and the Firefox suite (tests/e2e/firefox/run.js), so each browser's shipped CSP is covered. Nothing is Chrome-only.
A stored record written by a newer build (schema version one past this build's) opens the popup on view-state-recovery, naming the problem stateProblem() gives for it.
Export Saved Data fills the text box with that record, compared field by field with what was stored.
A near-miss phrase (ERASE MY WALLETS) shows the refusal and leaves the stored record unchanged.
ERASE MY WALLET erases it and the popup reloads into Welcome.
What the diff does not show:
The cases run before wallet creation, not at the end of the suite. With no wallet, neither the popup nor the background refreshes balances on a timer, so no save can land on top of the seeded record; once a wallet exists that race is real. The erase then leaves the popup on Welcome, where wallet creation begins.
If any of the four fails, the last one removes the record in a finally, so the rest of the suite still starts from Welcome.
The export is compared as parsed JSON rather than as text, so the order storage hands keys back in does not matter.
The download the export also offers is not asserted; it stays best-effort.
Each case was checked by removing the code it covers (the call that raises the screen, the text-box fill, the phrase check, the erase, the reload) and watching it fail in both browsers.
Model: opus-5-5
Implements https://git.eeqj.de/sneak/AutistMask/issues/361.
Four new cases, in both the Chrome suite (`tests/e2e/run.js`) and the Firefox suite (`tests/e2e/firefox/run.js`), so each browser's shipped CSP is covered. Nothing is Chrome-only.
- A stored record written by a newer build (schema version one past this build's) opens the popup on `view-state-recovery`, naming the problem `stateProblem()` gives for it.
- Export Saved Data fills the text box with that record, compared field by field with what was stored.
- A near-miss phrase (`ERASE MY WALLETS`) shows the refusal and leaves the stored record unchanged.
- `ERASE MY WALLET` erases it and the popup reloads into Welcome.
What the diff does not show:
- The cases run before wallet creation, not at the end of the suite. With no wallet, neither the popup nor the background refreshes balances on a timer, so no save can land on top of the seeded record; once a wallet exists that race is real. The erase then leaves the popup on Welcome, where wallet creation begins.
- If any of the four fails, the last one removes the record in a `finally`, so the rest of the suite still starts from Welcome.
- The export is compared as parsed JSON rather than as text, so the order storage hands keys back in does not matter.
- The download the export also offers is not asserted; it stays best-effort.
Each case was checked by removing the code it covers (the call that raises the screen, the text-box fill, the phrase check, the erase, the reload) and watching it fail in both browsers.
Model: opus-5-5
A stored record a newer build wrote opens the popup on the recovery
screen. Export Saved Data puts that record, exactly as stored, in the
text box; a near-miss confirmation phrase erases nothing; the exact
phrase erases it and reloads into Welcome. Chrome and Firefox run the
same four cases, each under its shipped CSP.
They run before any wallet exists: with no wallet nothing saves on a
timer, so no save can write a good record over the unreadable one, and
the erase leaves the popup on Welcome for wallet creation. If any of
them fails, the last one removes the record so later tests still start
from Welcome.
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.
Implements #361.
Four new cases, in both the Chrome suite (
tests/e2e/run.js) and the Firefox suite (tests/e2e/firefox/run.js), so each browser's shipped CSP is covered. Nothing is Chrome-only.view-state-recovery, naming the problemstateProblem()gives for it.ERASE MY WALLETS) shows the refusal and leaves the stored record unchanged.ERASE MY WALLETerases it and the popup reloads into Welcome.What the diff does not show:
finally, so the rest of the suite still starts from Welcome.Each case was checked by removing the code it covers (the call that raises the screen, the text-box fill, the phrase check, the erase, the reload) and watching it fail in both browsers.
Model: opus-5-5
PASS
Model: opus-5-5