Phases 28-31 archived to milestones/v2.2-phases/ Requirements and roadmap snapshots archived to milestones/ Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1.9 KiB
status, phase, source, started, updated
| status | phase | source | started | updated | |||
|---|---|---|---|---|---|---|---|
| complete | 28-profile-and-logto-integration |
|
2026-04-12T18:30:00Z | 2026-04-12T21:00:00Z |
Current Test
[testing complete]
Tests
1. Profile page navigation
expected: Click your avatar in the top nav. The dropdown shows "Profile" above "Settings". Clicking it navigates to /profile. result: pass
2. Profile page sections
expected: /profile page shows four sections: Profile Info (displayName, bio, avatar), Account Info (email, member-since date), Security (password change), and Danger Zone (delete account). result: pass
3. Settings page separation
expected: /settings page shows only app preferences: weight unit, currency, import/export, API keys. No profile section. result: pass
4. Edit display name, bio, and avatar
expected: On /profile, upload an avatar, change display name and bio, click Save. Avatar image renders. Refreshing shows updated values. result: pass reported: "Fixed: avatar now uses presigned S3 URLs instead of /uploads/ paths. Avatar also shows in top nav."
5. Email display
expected: Account Info section shows your email address (from Logto) and a "Change" button next to it. result: pass reported: "Fixed: M2M credentials configured, email change now reflects in UI immediately via optimistic cache update."
6. Password change form
expected: Security section shows a password change form. Current password, new password, confirm new password fields. result: pass
7. Delete account UI
expected: Danger Zone shows a red-bordered card with "Delete Account" button. Clicking it shows a confirmation dialog requiring you to type "DELETE" before proceeding. result: pass
8. Member-since date
expected: Account Info section shows a "Member since" date formatted nicely (e.g., "April 2026"). result: pass
Summary
total: 8 passed: 8 issues: 0 pending: 0 skipped: 0 blocked: 0
Gaps
[none]