Files
buzz/desktop
Taylor Ho 60b7da6312 feat(onboarding): rework backup step into masked-key chooser with copy and download options
- BackupStep.tsx: replace the single Keycase card with a chooser view
  centered on a full-width masked key display:
  - Masked nsec with same-length monospace mask, inline reveal toggle
    (backup-key-reveal-toggle) and inline copy button (backup-copy-key)
    with spinner/checkmark feedback and an inline error banner
    (backup-copy-error) when the keychain fetch fails
  - Copy guidance ("save it somewhere safe — a password manager is a
    great place for it") moved into a tooltip on the copy icon
  - Security note restored below the key card
  - Encrypted download flow moved behind a footer CTA
    (backup-option-download) between Next and Back; opens a dedicated
    view with an "All backup options" back link (backup-back-to-options)
  - Raw key is fetched from the keychain only on explicit reveal/copy;
    the download path never fetches it
- EncryptedBackupCreator.tsx: de-brand "Keycase" to download/password
  terminology across headings, buttons, errors, and a11y labels
  ("Create Keycase" → "Encrypt and download", "Keycase saved to" →
  "Saved to", etc.)
- NsecMaskedDisplay.tsx: de-brand the ncryptsec kind label to
  "encrypted key"
- onboarding-backup.spec.ts: rewrite for the new UX — chooser
  masked-key/reveal/copy coverage (with clipboard permissions), download
  happy path behind the footer CTA, return-to-chooser navigation, and
  reveal error/retry paths replacing the old raw-key error tests
- onboarding-docked-cta-screenshots.spec.ts: capture the reveal toggle
  on the chooser instead of the removed backup-show-raw-key flow

Settings keeps its own Keycase wording; only the onboarding surface is
de-branded here.

Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: Taylor Ho <taylorkmho@gmail.com>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
2026-07-28 15:33:47 -07:00
..
2026-07-27 16:45:34 -04:00
…

Buzz

Desktop chat shell with:

  • Tauri + React + TypeScript + Vite
  • Tailwind CSS
  • shadcn/ui-ready shared components
  • Biome (lint/format/check)
  • Feature-driven frontend structure

Scripts

  • pnpm dev - run the web frontend
  • pnpm tauri dev - run the desktop app
  • pnpm build - typecheck and build frontend
  • pnpm typecheck - TypeScript checks
  • pnpm lint - Biome lint
  • pnpm format - Biome format (write)
  • pnpm check - Biome check

Structure

  • src/shared - reusable app-wide code (ui, lib, styles)
  • src/features - feature modules (vertical slices)
  • src/app - top-level app composition