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
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
Intent: a person can fix how they appear without leaving the terminal; today only Settings › Account (
src/web/pages/account.ts) callsupdateProfileinsrc/actions/users.ts, and the terminal has no profile screen.Done looks like:
src/actions/profile_words.tskeyed by theupdateProfileerror;account.tsimports them and says exactly what it says today.src/tui/screens/profile.tswith a paletteentry(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:isStandInEmaildecides).nandeopenpromptScreen(from./common.ts) prefilled with the current value; enter callsupdateProfile(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.tsimport and the entry at the end ofENTRIES, afterforges.test/tui-profile.test.tsproves:nsets a display name; a reserved name toasts the crew/owner/forge refusal and changes nothing;ewith 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.tsis 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.