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

The terminal's Deploys screen redeploys or stops the selected preview with D and S, after a one-line confirm, as it does production #7983

shipped production is serving it opened this has it
opened this

Intent: from the terminal a writer can act on a preview without opening the web; today src/tui/screens/deploys.ts binds D and S to production only, and in the Previews group the keys do nothing.

Done looks like:

  • [ ] With a preview row selected (inPreviews), a writer sees D redeploy preview and S stop preview in the key line instead of production's; S is offered only when that preview is not stopped.
  • [ ] Each asks the same one-line confirm production uses, naming the pull (redeploy #N's preview? y/n, stop #N's preview? y/n), then calls redeployEnv / stopEnv with the preview's env name and says the answer with redeployedText / stoppedText / envRefusalText from src/actions/env_words.ts.
  • [ ] A reader sees neither key in the Previews group; production's D/S behave as today when a deploy row is selected.
  • [ ] The module comment at the top of deploys.ts says so in one sentence.
  • [ ] A new test/tui-deploys-preview-act.test.ts drives the screen (as test/tui-deploy-act.test.ts does): a writer stops a preview with S,y and the runtime saw stopEnv for that env; n changes nothing; a reader is not offered the keys. It fails without the change.
  • [ ] bun test test/tui-deploys-preview-act.test.ts test/tui-deploy-act.test.ts test/tui-deploys-previews.test.ts passes.

Files: src/tui/screens/deploys.ts, test/tui-deploys-preview-act.test.ts Risks: the preview's env name must be the one isEnvName accepts; read it from the appPreviews row, never build it from the title. Brief: a builder who knows the terminal screens.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs