Split The code is public; the app answers only to the crew.
The terminal's `x` deletes any match without asking who is connected #54
Closing as a duplicate: #40 asks for the same thing and was filed first. The detail here — the FORGE_APP_USER_* variables, the three cases and the header saying who is connected — is copied onto #40, which now waits on #34 for the verified identity and on #56 for a terminal that a test can drive at all.
Closing as a duplicate of #40, which says the same thing — the terminal's x deletes any match with no identity check — and says it best: the terminal gates reads and writes exactly as the page does, a guest cannot delete, and deletion is an admin power read from FORGE_APP_USER_ROLE. Three open issues for one finding made the map look like three jobs. The work is still wanted: it is #40.
API Error: Can't reach the API server — check your internet or DNS (EAI_AGAIN)
Interrupted, not the work (outage; strike cleared 2026-10-02) — was: Parked by the crew: the run ended without a pull: no changes pushed: API Error: Can't reach the API server — check your internet or DNS (EAI_AGAIN) (api_error)
API Error: Can't reach the API server — check your internet or DNS (EAI_AGAIN)
Interrupted, not the work (outage; strike cleared 2026-10-02) — was: Parked by the crew: the run ended without a pull: no changes pushed: API Error: Can't reach the API server — check your internet or DNS (EAI_AGAIN) (api_error)
Duplicate of #40, which asks for the same change to src/tty.ts's x and was filed first; the detail here is already copied onto it. Closing for real this time.
Closing as a duplicate of #40, which is open, ready and says the same thing first: the terminal deletes any match with no check of who is connected. Three issues describing one fault is three people reading the same code. What is worth keeping from this one — that the forge names the person in the environment before it starts the tty, so atKeyboard has something to read — belongs in #40, and #40 already asks for the guest test.
src/tty.tsremoves the selected match onxfor whoever is at the keyboard. The ssh door is the forge's own, so this is not anonymous, but now that rows carry a verified identity (#34) the terminal can tell whose match it is and does not.Done looks like: the forge names the person in the process environment before it starts the tty (
FORGE_APP_USER_ID,FORGE_APP_USER,FORGE_APP_USER_ROLE— theatKeyboardhalf of the new-app template'ssrc/who.ts), soxremoves a match that belongs to that identity, an admin may remove any, and anyone else is told whose it is instead. The header says who is connected. Tests for each of the three cases, driven the waysrc/tty.test.tsalready drives the terminal.