Skip to main content

Account & profile management

Status: 🧩 Needs SDK

Scope

A Rewhaven account (Supabase Auth identity) is separate from a Member profile in a household. This feature covers: email/password change, account deletion (with cascade to household membership), and the multi-account case (one person in multiple households — forward-compatible but multi-house is deferred). Auth skeleton is built; real wiring is deferred per arch docs.

The Profile page (shipped)

The Profile tab (ProfilePage / ProfileRoute) is the one place that hosts both account management and the active-member lens. It replaced the old More hub tab. Its structure, top to bottom:

  • Login-account frame (authenticated self): anchored on the authenticated (login) account — account settings, About, Help, Join-with-code, and the admin tile (streamed from CurrentMemberRepository, so it appears/disappears live with role). This is the _LoginAccountHeader (member identity) that replaced the retired household-header block.
  • Active-member switcher (_AccountSwitcherSection): the Google-account-style, capability-gated switcher; selecting re-scopes the app and updates the top-bar avatar + the Profile nav icon together. See Profile switching.
  • Active-member subsections: My Cosmos (companion settings) and per-member appearance reflect the active member, not the login self. The proxy read-only rule applies — editing My Cosmos is enabled only when the active member is the authenticated self; while proxied it is a read-only view (SDK self-only mutation enforces this).
  • Logout sits at the very bottom of the page — removed from the top header entirely (the old top-header logout affordance is retired).

Open questions

  • Can a single auth account be a member of multiple households simultaneously (the multi-house model)?
  • What happens to household data when the last owner deletes their account?
  • Is social login (Google/Apple) in scope for launch, or email/password only?
  • How does account deletion interact with the append-only ledger (GDPR erasure vs audit trail)?

Relationship

Personas — auth account ≠ member; one auth account may map to multiple member records in the future.