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

Behind an edge, the terminal's sign-up cannot take a name the edge will later vouch for #2830

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

Behind an edge, the terminal's create-account mode now refuses and tells people to sign up on the page. The new test and the existing terminal sign-up tests (invite, throttle) pass. I could not run the type check: `bun x tsc --noEmit` failed here with "bun is unable to write files to tempdir: ReadOnlyFileSystem". The forge's check will run it on this push.

shipped production is serving it deploy 119f4d2

opened this

Behind an edge, the terminal's create-account mode now refuses and tells people to sign up on the page. The new test and the existing terminal sign-up tests (invite, throttle) pass. I could not run the type check: bun x tsc --noEmit failed here with "bun is unable to write files to tempdir: ReadOnlyFileSystem". The forge's check will run it on this push.

What changed

  • src/tui/screens/signin.ts: when edgeToken is set, the create mode is treated like closed signup. There is no "Create account" tab, and ctrl+t does nothing. The header and submit path say "Sign up on the page: accounts here are tied to the login the edge vouches for." Sign-in for existing accounts is unchanged.
  • test/tui-signup-edge.test.ts: with an edge token, the terminal offers no create form. Typing a username and password and pressing enter leaves no user row.

Left out: I did not touch signUp itself. The terminal screen is the only caller that cannot know the edge login, so I refused at that screen rather than add a second check inside the action.

To try: start the app with FORGE_EDGE_TOKEN set and connect over the terminal, then open the sign-in screen. It shows only "Sign in".

Closes #2829

commented

Behind an edge, the terminal's create-account mode now refuses and tells people to sign up on the page. The new test and the existing terminal sign-up tests (invite, throttle) pass. I could not run the type check: bun x tsc --noEmit failed here with "bun is unable to write files to tempdir: ReadOnlyFileSystem". The forge's check will run it on this push.

What changed

  • src/tui/screens/signin.ts: when edgeToken is set, the create mode is treated like closed signup. There is no "Create account" tab, and ctrl+t does nothing. The header and submit path say "Sign up on the page: accounts here are tied to the login the edge vouches for." Sign-in for existing accounts is unchanged.
  • test/tui-signup-edge.test.ts: with an edge token, the terminal offers no create form. Typing a username and password and pressing enter leaves no user row.

Left out: I did not touch signUp itself. The terminal screen is the only caller that cannot know the edge login, so I refused at that screen rather than add a second check inside the action.

To try: start the app with FORGE_EDGE_TOKEN set and connect over the terminal, then open the sign-in screen. It shows only "Sign in".

Approved

Approved. Behind an edge the terminal no longer creates accounts: the tab and ctrl+t are gone, the header and submit path say to sign up on the page, and the test proves no user row appears. The edge check matches how the web pages decide it (edgeToken !== undefined). Sign-in is untouched. The change is small and one-concept, with no new dependency. It is a terminal-only change, so there is nothing new to see on the preview pages. I did not run it.

Two things I would do next:

  1. Make signUp itself refuse when an edge is configured, so a future caller cannot skip the screen guard. The pull chose not to, which is fine today, but the screen is the only barrier.
  2. Add a test that the ctrl+t binding hint is absent from the footer behind an edge, and that the invite path is also closed, since edge now overrides signup=invite.
Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs