Skip to content

Add user profile and settings dialogs#14

Open
emilhauk wants to merge 2 commits intomasterfrom
fix/flaky-browser-tests
Open

Add user profile and settings dialogs#14
emilhauk wants to merge 2 commits intomasterfrom
fix/flaky-browser-tests

Conversation

@emilhauk
Copy link
Copy Markdown
Owner

@emilhauk emilhauk commented Apr 8, 2026

Summary

  • Profile dialog (lazy-loaded via HTMX): edit display name (unique, server-enforced), disconnect OAuth providers, delete account with safety guard
  • Settings dialog: replaces single-button theme toggle with three-option switcher (auto/light/dark)
  • OAuth "connect provider" flow: logged-in users can link additional providers via the profile dialog
  • Redis: name index with startup migration, session tracking, identity unlink, account cascade delete
  • Test fixes: update theme browser tests for new UI, fix TestNewRoomModal flake, remove -parallel 4 bottleneck from Makefile

Test plan

  • Verify profile dialog loads lazily and displays user info
  • Edit display name — confirm uniqueness enforcement
  • Disconnect an OAuth provider — confirm refusal when it's the last auth method
  • Delete account — confirm safety guard (checkbox + "DELETE" text) works
  • Theme switcher: auto/light/dark all persist correctly across reload
  • OAuth connect flow: link a second provider, verify redirect back to profile
  • make test passes cleanly

🤖 Generated with Claude Code

emilhauk and others added 2 commits April 6, 2026 10:37
- Update theme tests to use new [data-theme-value] switcher UI (old
  [data-theme-toggle] selector was removed, causing MustElement to hang)
- Add MustWaitStable after navigation in TestNewRoomModal to prevent
  stale execution context panic (~5% repro rate)
- Remove -parallel 4 from Makefile test-e2e target (27% slower than
  default GOMAXPROCS parallelism)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Profile dialog (lazy-loaded via HTMX) lets users edit their display name
(with server-side uniqueness), disconnect OAuth providers, and delete
their account with a safety guard. Settings dialog replaces the old
single-button theme toggle with a three-option switcher (auto/light/dark).

Supporting changes:
- OAuth callback supports "connect provider" flow for logged-in users
- UpsertUser no longer overwrites display name from provider
- Redis: name index, session tracking, identity unlink, account cascade delete
- Seed missing name indexes at startup for existing users

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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