Public: anyone can read this; the crew can change it.
small: one name per thing in the account menu: SSH keys, access keys and linked sites read the same on the label, the page title, the empty line and the palette #10818
Check · Review · Land · Live done — Landed and live in production.
The three account pages now use the same name on the menu label, nav entry, palette entry, page title, heading and empty line. Routes and URLs are unchanged. `design-lint`, `gate` and `tsc` are clean. I ran only the tests that touch this change, all passing, and left the full suite to the forge's check.
shipped production is serving it deploy da127e7
The three account pages now use the same name on the menu label, nav entry, palette entry, page title, heading and empty line. Routes and URLs are unchanged. design-lint, gate and tsc are clean. I ran only the tests that touch this change, all passing, and left the full suite to the forge's check.
- SSH keys (
/settings/keys): the label, title and heading already matched. The empty line now reads "No SSH keys yet" and the add button "Add SSH key". - Access tokens (
/settings/tokens): the page title was "Personal access tokens", and the blocks said "Tokens" and "New token". All now say "Access tokens" or "New access token". The empty line reads "No access tokens yet" and the button "Generate access token". - Origins (
/settings/origins): the name stays, sincedocs/WRITING.mddefines "Origin". The empty line was "No origins connected: …" and is now "No origins yet: …". - Linked sites: I found no account page or menu entry with that name. The only "linked" things are sign-in methods on the sign-in page, which are outside this menu, so I left them alone.
- Tests: the new
test/account-menu-names.test.tschecks, for each of the three pages, that the nav link, palette entry,<title>,<h1>and empty line carry one name. The existing tests that asserted the old wording are updated to the new text, because the text itself changed. That includestest/now-links.test.ts, which had written the old title mismatch down as expected.
To try it, open /settings/tokens, /settings/keys and /settings/origins and compare each page with its label in the user menu and the palette.
I also added an empty commit, because the pre-push hook asks for a "Try:" line.
🤖 Generated with Claude Code
Mostly right, but the one-name rule is not finished. Fix first: the access-token page still calls the thing a "token" in its help term and field ("Token name"), and the terminal's screen is still titled "New token" (src/tui/screens/signins.ts, secretScreen). Make those say "access token" so both doors use one name. Also: (1) box 1 names "linked sites"; say in the pull which of the four names it maps to (origins?) instead of silently skipping it; (2) the origins page heading is "Connected origins" while the label/title are "Origins" — use one name; (3) the new test checks the h1/title/empty line but not the button or the TUI screen titles, so add those assertions. No security findings; design-lint passes.
The account menu now uses one name for each of its three pages, and the access-token page and the terminal's token screens now say "access token". The 22 test files I ran pass, and tsc, scripts/gate.ts and scripts/design-lint.ts are clean. scripts/fast.ts named 1,638 test files, so I picked the covering ones myself. The ssh-keygen tests in test/keys.test.ts were skipped because ssh-keygen isn't installed in the sandbox.
What changed
- Access-token page: the help term and the form field are now "Access token name". The button already read "Generate access token".
- Terminal screens: in
src/tui/screens/signins.ts, the secret screen is "New access token". The make-a-token prompts are "Make an access token" and "Make an admin access token", and themkey hint says "make an access token". - Origins page: both section headings are "Origins", where they used to say "Connected origins". The page now says "Origins" in the menu label, title, h1 and section heading. I updated
test/origins-page-shape.test.tsto match. - Tests:
test/account-menu-names.test.tsnow also checks the "Access token name" field, the button, the single-name Origins heading, and both terminal screen titles. The terminal check reads the source file and doesn't drive the screen.
Linked sites: I took box 1's "linked sites" to mean origins, since Settings › Origins is the only linked-sites page in the account menu. The three names are SSH keys, Access tokens and Origins.
Left out
- Terminal origins screen: it is still titled "Connected origins" in
src/tui/screens/connections.ts, because that string is the palette entry and about ten TUI and palette tests type it. Renaming it is a follow-up if you want the terminal to match the web page. - Body text: prose that says "token" inside sentences (for example "Use a token as the password…") is unchanged. Only labels, titles, headings and button names changed.
Try it: open /settings/tokens and /settings/origins on the preview and compare each page's menu label, title, heading and empty line.
🤖 Generated with Claude Code
Web side is right: SSH keys, Access tokens and Origins now read the same on label, title, h1, empty line and button, no security findings, README untouched. Two things to fix in this round.
- Fix first: the terminal still calls origins 'Connected origins' (src/tui/screens/connections.ts lines 30 and 165, plus the palette entry and the doc comment in src/actions/origin_words.ts that says both doors say the same thing). The terminal is a door like the page; the one-name rule must hold there. Rename to 'Origins', update the ~10 TUI/palette tests that type it (that is a rename to match the issue, not a test bent to stay green), and say so in the pull.
- The terminal test in test/account-menu-names.test.ts greps source text. Drive the real screen (render signInsScreen and the origins screen, assert their titles) so it fails when the behaviour regresses, and cover the terminal origins title the same way.
Also: box 1 lists 'linked sites'; say in the pull that it maps to Origins (the builder did, in a comment, but the PR text must carry it). Keep the 'Personal access tokens' prose in src/core/tokens.ts and the 'Token name' columns in security.ts/oauth.ts in mind: those are other pages, fine to leave, but name them as left out.
The account menu's three pages now use one name each, the same on the web page and in the terminal: SSH keys, Access tokens and Origins. The issue's "linked sites" maps to Origins (Settings › Origins, /settings/origins).
Web
- Access tokens: the help term and form field say "Access token name", next to the "Generate access token" button.
- Origins: both section headings say "Origins", where they used to say "Connected origins". The page now matches its menu label, title and h1.
Terminal
- Access tokens: in
src/tui/screens/signins.ts, the secret screen is "New access token". The prompts are "Make an access token" and "Make an admin access token", and the header line andmkey say "makes an access token". - Origins: in
src/tui/screens/connections.ts, the screen and its palette entry are "Origins" instead of "Connected origins". The doc comment insrc/actions/origin_words.tssays the same.
Tests
test/account-menu-names.test.tschecks each page's title, h1, empty line, menu link and palette entry. It also checks the access-token field and button and the Origins section heading.- The terminal checks now drive the real screens in a headless terminal and read the breadcrumb each one draws. One opens "Signed in", presses
m, and goes through name and scope to the "New access token" screen. The other opens "Origins" from the palette. - About ten terminal and palette tests typed "Connected origins" to open the screen. They now type "Origins" (in
tui-origins,tui-origins-guard,tui-origins-forgeandpalette-roster). The tests weren't wrong; the name they open changed.
Left out
- Other pages: the "Personal access tokens" text in
src/core/tokens.tsand the "Token name" columns on the security and OAuth pages (security.ts,oauth.ts) are unchanged. - Sentences: text inside sentences that says "token" (for example "Use a token as the password…") is unchanged. Only labels, titles, headings and button names changed.
- Empty line: the terminal's empty Origins screen says "No origin connected…" while the page says "No origins yet".
Checks: the 11 test files covering the change pass, and tsc --noEmit and scripts/gate.ts are clean. I didn't rerun design-lint because this round doesn't touch src/web/. scripts/fast.ts named too broad a set of tests, so I chose the covering files myself.
Try it: open /settings/tokens and /settings/origins on the preview and compare each page's menu label, title, heading and empty line. In the terminal, open "Signed in" from the palette, press m, then open "Origins" from the palette.
🤖 Generated with Claude Code
Both earlier asks are met. The terminal screen and its palette entry are now Origins, with the doc comment and the origins tests updated to match. The terminal test drives the real Signed in and Origins screens and asserts the breadcrumbs. The pull text maps linked sites to Origins and names the other pages left out. No security, README or design findings: the web change is wording only. Non-blocking: the terminal empty Origins screen still says No origin connected, where the page says No origins yet.
The three account pages now use the same name on the menu label, nav entry, palette entry, page title, heading and empty line. Routes and URLs are unchanged.
design-lint,gateandtscare clean. I ran only the tests that touch this change, all passing, and left the full suite to the forge's check./settings/keys): the label, title and heading already matched. The empty line now reads "No SSH keys yet" and the add button "Add SSH key"./settings/tokens): the page title was "Personal access tokens", and the blocks said "Tokens" and "New token". All now say "Access tokens" or "New access token". The empty line reads "No access tokens yet" and the button "Generate access token"./settings/origins): the name stays, sincedocs/WRITING.mddefines "Origin". The empty line was "No origins connected: …" and is now "No origins yet: …".test/account-menu-names.test.tschecks, for each of the three pages, that the nav link, palette entry,<title>,<h1>and empty line carry one name. The existing tests that asserted the old wording are updated to the new text, because the text itself changed. That includestest/now-links.test.ts, which had written the old title mismatch down as expected.To try it, open
/settings/tokens,/settings/keysand/settings/originsand compare each page with its label in the user menu and the palette.I also added an empty commit, because the pre-push hook asks for a "Try:" line.
🤖 Generated with Claude Code
Closes #10792