Skip to content

feat(web): feedback, the sixth area of Phase 7b (D250) - #178

Merged
allisson merged 1 commit into
mainfrom
feat/7b-feedback
Nov 12, 2026
Merged

allisson merged 1 commit into
mainfrom
feat/7b-feedback

Conversation

@allisson

Copy link
Copy Markdown
Owner

The sixth area of Phase 7b (D244): feedback.

What changes

  • Toast: one region of the app's own (role=status), mounted with the vault shell, at the bottom and above the phone's navigation. It says "Saved.", "Moved to the trash." and "Restored.", and carries the copy message that used to sit beside each Copy button. A new toast replaces the last one; each goes after 5 s; no entrance under prefers-reduced-motion; it holds no secret and goes on lock.
  • Bottom sheet: on a phone, the confirmation of D231 is the same native modal <dialog> at the bottom, full width, buttons 44 px tall with the action first. Wider screens keep the centered dialog. No drag handle, and no confirmation added to Move to trash (the trash restores it).
  • First steps: an empty All items list shows a checklist in place of "No items yet.": vault created (done), "Add an item", "Import" (Settings at the import, a new import focus) and "Pair a device". A vault that cannot be written leaves out the item and the import.
  • Error boundary: around every screen, a render error locks the vault and clears the clipboard in the commit, before the failure screen paints. The screen shows nothing of the vault: "Something went wrong" and Reload.

Tests

  • New e2e/feedback.spec.ts: the first steps and where they lead; the toasts for save, copy, trash and restore, with no animation under reduced motion; the sheet on a phone (full width, at the bottom, action first, 44 px) and the dialog wider; a render error that locks, clears the clipboard and offers Reload.
  • screen-reader.spec.ts follows the checklist, the toast and the sheet's button order; backup.spec.ts and recovery-phrase.spec.ts scope their status to the main region; three specs look for "First steps" instead of "No items yet.".
  • pnpm run ci green. Playwright on Chromium, Firefox and WebKit: the full run gave 514 passed, 23 skipped, 15 failed (the specs above). The fixed specs plus keyboard, axe, motion and layout then passed 67 of 67.

Docs

  • docs/overview.md: D250.
  • docs/roadmap.md: the feedback task ticked.
  • docs/security-invariants.md: the error boundary test under CRYPTO-INV-010.

🤖 Generated with Claude Code

Toast region, bottom sheet on a phone, the empty vault's first steps, and an
error boundary that locks the vault before its failure screen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@allisson
allisson merged commit 9556b6d into main Nov 12, 2026
7 checks passed
@allisson
allisson deleted the feat/7b-feedback branch November 12, 2026 13:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant