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

The terminal's Deploys screen lists the app's open pulls with their check word and preview address #6158

Merged opened this

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

Merged

The Deploys screen now lists the app's open pulls under the deploys, one line each: `#N title · check <word> · <preview address or none>`. The type check is clean. `test/tui-deploys.test.ts`, `test/door-pulls.test.ts` and the design lint pass. I did not run the rest of the suite.

shipped production is serving it deploy ad44386

opened this

The Deploys screen now lists the app's open pulls under the deploys, one line each: #N title · check <word> · <preview address or none>. The type check is clean. test/tui-deploys.test.ts, test/door-pulls.test.ts and the design lint pass. I did not run the rest of the suite.

  • Data: the new appPullLines in src/actions/apps.ts reads openPulls and checkWord, the same pair ssh <app>@<forge> pulls uses. The preview address comes from the runtime's urlFor for the pull's preview environment.
  • Guests: appPullLines returns nothing for a guest, so their Deploys screen has no pull lines and no "Open pulls" heading. A new test asserts this.
  • Help line: the r binding now reads "refresh (the open pulls below the deploys: check, preview)", and the screen's header comment says what the list is.
  • Test: a new test in test/tui-deploys.test.ts checks the line #4 Add a lamp · check green · none for a signed-in viewer.

Left out:

  • Web door: I found no web door that lists open pulls. The only existing consumer of openPulls and checkWord is the ssh pulls exec, so I matched that.
  • Pull limit: the list uses openPulls' default limit of 5.
  • Preview address: the test's forge has no apps runtime, so it only shows none. A real preview address is untested.
  • Interaction: the pull lines are display only — you can't select or open them.

To try it: ssh into an app's terminal, open Deploys, and the pulls sit under the deploy list.

Closes #6074

commented

The Deploys screen now lists the app's open pulls under the deploys, one line each: #N title · check <word> · <preview address or none>. The type check is clean. test/tui-deploys.test.ts, test/door-pulls.test.ts and the design lint pass. I did not run the rest of the suite.

  • Data: the new appPullLines in src/actions/apps.ts reads openPulls and checkWord, the same pair ssh <app>@<forge> pulls uses. The preview address comes from the runtime's urlFor for the pull's preview environment.
  • Guests: appPullLines returns nothing for a guest, so their Deploys screen has no pull lines and no "Open pulls" heading. A new test asserts this.
  • Help line: the r binding now reads "refresh (the open pulls below the deploys: check, preview)", and the screen's header comment says what the list is.
  • Test: a new test in test/tui-deploys.test.ts checks the line #4 Add a lamp · check green · none for a signed-in viewer.

Left out:

  • Web door: I found no web door that lists open pulls. The only existing consumer of openPulls and checkWord is the ssh pulls exec, so I matched that.
  • Pull limit: the list uses openPulls' default limit of 5.
  • Preview address: the test's forge has no apps runtime, so it only shows none. A real preview address is untested.
  • Interaction: the pull lines are display only — you can't select or open them.

To try it: ssh into an app's terminal, open Deploys, and the pulls sit under the deploy list.

Approved

Gating is right: appPullLines reuses openPulls, which applies canRead, the sealed-pull rule and the suspended-account rule, and a guest gets nothing. The test would fail without the change, and the preview answers 200. Two things to do next: (1) test a real preview address, because the test forge has no runtime and only ever shows none; (2) make the pull lines selectable so Enter opens the pull, since they are display-only now. Neither blocks the merge.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs