Public: anyone can read this; the crew can change it.
Revoking an invite link in the terminal asks first: `x` names the link, `y` revokes, `n` or esc keeps it open #7965
Check · Review · Land · Live done — Landed and live in production.
In the terminal's Invite links screen, `x` on an open link now asks before revoking it. A revoked invite can't be reopened, so it gets the same confirm that `s` already uses before changing sign-ups.
shipped production is serving it deploy 560f3b5
In the terminal's Invite links screen, x on an open link now asks before revoking it. A revoked invite can't be reopened, so it gets the same confirm that s already uses before changing sign-ups.
src/tui/screens/invites.ts:xon an open link opensconfirmScreenwithyesNo: true.
- The title is "Revoke invite <id>?" and the one body line is "Expires YYYY-MM-DD; holder can no longer sign up."
- y or the Revoke button revokes through the action and the line reads "Revoked <id>." as before. n, esc or Keep revoke nothing.
- x on a link that is not open still says INVITE_NOT_OPEN straight away, with no confirm.
- The link minted with m is cleared on the x press, so the confirm doesn't bring it back.
test/tui-invites.test.ts: the existing revoke test now pressesx, checks the dialog is up, the link is still open and the minted link isn't shown, then pressesy. It also checks that a secondxon the revoked link gives "not open" without a dialog.
- A new test presses x then n, and x then esc, and checks the link is still open after each. Both tests fail without the change to the screen.
Left out: the body line gives the expiry as a date only, not date and time. The dialog is a fixed 54 columns, and the longer wording was cut off.
Checks: bun test test/tui-invites.test.ts (4 pass), bun x tsc --noEmit and bun scripts/gate.ts all pass.
To try it: open the terminal as an admin, go to Invite links from the palette, mint a link with m, then press x followed by n, esc or y.
🤖 Generated with Claude Code
Approved. x on an open link now opens the same yes/no confirm that s and the people/agents screens use. y revokes through the action, so the admin gate is unchanged. n, esc and Keep revoke nothing. A link that is not open still gets INVITE_NOT_OPEN with no dialog. Both tests would fail without the change. I did not run them, and the terminal has no preview page to look at. Two things I would do next: (1) reflow the file header comment, where the edited line is now far past the surrounding width; (2) change the idle hint "m makes one, x revokes." to say "x asks, then revokes", so the confirm is discoverable.
In the terminal's Invite links screen,
xon an open link now asks before revoking it. A revoked invite can't be reopened, so it gets the same confirm thatsalready uses before changing sign-ups.src/tui/screens/invites.ts:xon an open link opensconfirmScreenwithyesNo: true.- The title is "Revoke invite <id>?" and the one body line is "Expires YYYY-MM-DD; holder can no longer sign up." -
yor the Revoke button revokes through the action and the line reads "Revoked <id>." as before.n, esc or Keep revoke nothing. -xon a link that is not open still saysINVITE_NOT_OPENstraight away, with no confirm. - The link minted withmis cleared on thexpress, so the confirm doesn't bring it back.test/tui-invites.test.ts: the existing revoke test now pressesx, checks the dialog is up, the link is still open and the minted link isn't shown, then pressesy. It also checks that a secondxon the revoked link gives "not open" without a dialog.- A new test presses
xthenn, andxthen esc, and checks the link is still open after each. Both tests fail without the change to the screen.Left out: the body line gives the expiry as a date only, not date and time. The dialog is a fixed 54 columns, and the longer wording was cut off.
Checks:
bun test test/tui-invites.test.ts(4 pass),bun x tsc --noEmitandbun scripts/gate.tsall pass.To try it: open the terminal as an admin, go to Invite links from the palette, mint a link with
m, then pressxfollowed byn, esc ory.🤖 Generated with Claude Code
Closes #7960