Add account-settings OpenSpec change

Settings page at /settings with profile editing, passkey management
(list, add, delete), email change with verification, and account
deletion. Includes comprehensive E2E test plan using virtual WebAuthn.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ullrich Schäfer 2026-03-29 10:00:46 +02:00
parent 0230d93004
commit 388a7d4866
No known key found for this signature in database
GPG key ID: A32FF691A0F752D9
6 changed files with 314 additions and 0 deletions

View file

@ -0,0 +1,32 @@
## Why
Users have no way to manage their account after registration. There's no
settings page to edit their profile, manage passkeys, change email, or delete
their account. Passkey count currently shows on the home page as a stopgap,
but it belongs in a dedicated settings area.
## What Changes
- **Account settings page** (`/settings`): central place for account management
- **Profile editing**: update display name and bio
- **Email change**: update email with verification via magic link
- **Passkey management**: view registered passkeys (device type, date added),
add new passkeys, delete existing ones
- **Account deletion**: delete account and all associated data with confirmation
- Move passkey status display from home page to settings
## Capabilities
### New Capabilities
- `account-settings`: Settings page with profile, security, and account sections
### Modified Capabilities
- `journal-auth`: Passkey management moves from home page prompt to settings;
add passkey delete functionality
## Impact
- **Files**: New route `apps/journal/app/routes/settings.tsx`, API routes for
profile update, email change, passkey delete, account delete
- **Database**: No schema changes — uses existing users and credentials tables
- **Routes**: Must register new routes in `apps/journal/app/routes.ts`