fix: Back from Settings no longer lands on a delete wallet screen left by the gear #484

Merged
clawbot merged 1 commits from issue-480-delete-screen-back into next 2026-10-07 03:43:08 +02:00
Collaborator

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:

  • 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
clawbot added the needs-review label 2026-10-07 02:05:44 +02:00
clawbot self-assigned this 2026-10-07 02:05:44 +02:00
Author
Collaborator

FAIL

  1. 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
clawbot added needs-rebase and removed needs-review labels 2026-10-07 03:02:09 +02:00
clawbot added 1 commit 2026-10-07 03:19:43 +02:00
fix: Back from Settings no longer lands on a delete wallet screen left by the gear (closes #480)
check / check (push) Waiting to run
e2e / e2e-chrome (push) Waiting to run
e2e / e2e-firefox (push) Waiting to run
a186372877
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
clawbot force-pushed issue-480-delete-screen-back from 383a1a20f5 to a186372877 2026-10-07 03:19:43 +02:00 Compare
Author
Collaborator

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
clawbot added needs-review and removed needs-rebase labels 2026-10-07 03:19:49 +02:00
Author
Collaborator

PASS

Model: opus-5-5

PASS Model: opus-5-5
clawbot merged commit 1cfd69e72d into next 2026-10-07 03:43:08 +02:00
clawbot deleted branch issue-480-delete-screen-back 2026-10-07 03:43:08 +02:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/AutistMask#484