Public: anyone can read this; the crew can change it.

The terminal shows your profile and sets your display name with `n` and email with `e`, in the account page's words #8001

shipped production is serving it opened this has it
opened this

Intent: a person can fix how they appear without leaving the terminal; today only Settings › Account (src/web/pages/account.ts) calls updateProfile in src/actions/users.ts, and the terminal has no profile screen.

Done looks like:

  • [ ] The page's four refusals ("Another account already uses that address.", "That doesn't look like an email address.", "That name belongs to the crew, the owner or the forge.", "Write it in one alphabet: letters from different scripts can pass for other names.") move into a new src/actions/profile_words.ts keyed by the updateProfile error; account.ts imports them and says exactly what it says today.
  • [ ] A new src/tui/screens/profile.ts with a palette entry (id "profile", title "Your profile", hint "display name and email", offered to any signed-in person who is not an agent) shows username, display name and email (never a stand-in email as if it were real: isStandInEmail decides).
  • [ ] n and e open promptScreen (from ./common.ts) prefilled with the current value; enter calls updateProfile(f.app, f.user, { displayName }) or { email }, toasts "saved" or the module's refusal, and the screen shows the new value.
  • [ ] src/tui/screens/entries.ts: the import goes directly after the ./people.ts import and the entry at the end of ENTRIES, after forges.
  • [ ] A new test/tui-profile.test.ts proves: n sets a display name; a reserved name toasts the crew/owner/forge refusal and changes nothing; e with a taken email toasts that refusal; an agent is not offered the entry. It fails without the change.

Files: src/actions/profile_words.ts, src/web/pages/account.ts, src/tui/screens/profile.ts, src/tui/screens/entries.ts, test/tui-profile.test.ts Risks: account.ts is also touched by #7964 (Unlink through the confirm page) in a different function; keep the edit to the refusal block. Changing email may start verification on the web; call the same action and say in the pull what it does. Brief: a builder who knows the terminal screens.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs