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

Merged opened this

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

Merged

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

opened this

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: x on an open link opens confirmScreen with yesNo: 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 presses x, checks the dialog is up, the link is still open and the minted link isn't shown, then presses y. It also checks that a second x on 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

Closes #7960

commented

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: x on an open link opens confirmScreen with yesNo: 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 presses x, checks the dialog is up, the link is still open and the minted link isn't shown, then presses y. It also checks that a second x on 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

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.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs