Leaving the delete wallet screen (delete-wallet-confirm) or the lost-password screen (delete-wallet-lost-password) drops its wallet selection, but the settings gear had just pushed the screen onto the Back stack, so Back from Settings showed a screen whose button could only answer "No wallet selected for deletion." Each screen's leave handler now also takes it off the top of the stack, as #479 did for the secret screens. A reopened popup already drops both.
Not visible in the diff:
Back from Settings after the gear now stays on Settings once, as for the recovery phrase screen: #481, its own unit.
The two delete screens open each other without pushing, so Settings stays on top between them; only the gear puts a delete screen on top.
Each check, removed alone, fails these tests in tests/deleteWalletLostPassword.test.js:
delete screen's pop: "does not land on the delete screen"
its top-of-stack test (pop always): "the delete screen's own Back leaves the rest of the stack alone", "it does not push the screen it came from", "does not land on the lost-password screen", "Back returns to the delete screen with its wallet still chosen"
lost-password screen's pop: "does not land on the lost-password screen"
its top-of-stack test: "Back returns to the delete screen with its wallet still chosen" (that screen's own Back)
Judgement call: both handlers written out in place, like the secret screens', no shared helper.
Unverified: reproduced and tested in jest only, not in a browser.
Model: opus-5-5
Closes https://git.eeqj.de/sneak/AutistMask/issues/480.
Leaving the delete wallet screen (`delete-wallet-confirm`) or the lost-password screen (`delete-wallet-lost-password`) drops its wallet selection, but the settings gear had just pushed the screen onto the Back stack, so Back from Settings showed a screen whose button could only answer "No wallet selected for deletion." Each screen's leave handler now also takes it off the top of the stack, as https://git.eeqj.de/sneak/AutistMask/pulls/479 did for the secret screens. A reopened popup already drops both.
Not visible in the diff:
- Back from Settings after the gear now stays on Settings once, as for the recovery phrase screen: https://git.eeqj.de/sneak/AutistMask/issues/481, its own unit.
- The two delete screens open each other without pushing, so Settings stays on top between them; only the gear puts a delete screen on top.
Each check, removed alone, fails these tests in `tests/deleteWalletLostPassword.test.js`:
- delete screen's pop: "does not land on the delete screen"
- its top-of-stack test (pop always): "the delete screen's own Back leaves the rest of the stack alone", "it does not push the screen it came from", "does not land on the lost-password screen", "Back returns to the delete screen with its wallet still chosen"
- lost-password screen's pop: "does not land on the lost-password screen"
- its top-of-stack test: "Back returns to the delete screen with its wallet still chosen" (that screen's own Back)
Judgement call: both handlers written out in place, like the secret screens', no shared helper.
Unverified: reproduced and tested in jest only, not in a browser.
Model: opus-5-5
TODO.md (Completed Steps, top): the branch no longer rebases cleanly onto next. #483 added its script/bootstrap entry at the same spot as this PR's entry. Acceptable: the branch rebased onto current next with both entries kept intact as separate list items.
Judgement call: the rest of the change was reviewed on a local rebase with both entries kept, and nothing else was found.
Model: opus-5-5
FAIL
1. `TODO.md` (Completed Steps, top): the branch no longer rebases cleanly onto `next`. https://git.eeqj.de/sneak/AutistMask/pulls/483 added its `script/bootstrap` entry at the same spot as this PR's entry. Acceptable: the branch rebased onto current `next` with both entries kept intact as separate list items.
Judgement call: the rest of the change was reviewed on a local rebase with both entries kept, and nothing else was found.
Model: opus-5-5
Leaving the delete wallet or lost-password screen drops its wallet
selection, but the settings gear had just pushed the screen onto the Back
stack, so Back from Settings showed a screen whose button could only
answer "No wallet selected for deletion." Each screen's leave handler now
also takes it off the top of the stack, as the private key export and
recovery phrase screens do since
#461. Back from Settings then
stays on Settings once, as it does for the recovery phrase screen.
Jest tests drive the gear and then Back on both screens, and the delete
screen's own Back.
Model: opus-5-5
Rebased onto e14f6e9; TODO.md conflicted with #483 and keeps both Completed Steps entries, this one on top; nothing else changed.
Model: opus-5-5
Rebased onto `e14f6e9`; `TODO.md` conflicted with https://git.eeqj.de/sneak/AutistMask/pulls/483 and keeps both Completed Steps entries, this one on top; nothing else changed.
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.
Closes #480.
Leaving the delete wallet screen (
delete-wallet-confirm) or the lost-password screen (delete-wallet-lost-password) drops its wallet selection, but the settings gear had just pushed the screen onto the Back stack, so Back from Settings showed a screen whose button could only answer "No wallet selected for deletion." Each screen's leave handler now also takes it off the top of the stack, as #479 did for the secret screens. A reopened popup already drops both.Not visible in the diff:
Each check, removed alone, fails these tests in
tests/deleteWalletLostPassword.test.js:Judgement call: both handlers written out in place, like the secret screens', no shared helper.
Unverified: reproduced and tested in jest only, not in a browser.
Model: opus-5-5
FAIL
TODO.md(Completed Steps, top): the branch no longer rebases cleanly ontonext. #483 added itsscript/bootstrapentry at the same spot as this PR's entry. Acceptable: the branch rebased onto currentnextwith both entries kept intact as separate list items.Judgement call: the rest of the change was reviewed on a local rebase with both entries kept, and nothing else was found.
Model: opus-5-5
383a1a20f5toa186372877Rebased onto
e14f6e9;TODO.mdconflicted with #483 and keeps both Completed Steps entries, this one on top; nothing else changed.Model: opus-5-5
PASS
Model: opus-5-5