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

A preview that is not serving says the truth about its pull and links back: to the pull, to production and home #8154

shipped production is serving it opened this has it
opened this

Intent: the Lost test holds on the pages the proxy shows when nothing is serving.

Seen 2026-11-02: https://lab--4417--forge-trevato-apps.open-platform.sh/ and …--4425--… answer 404 "This preview is gone: its pull was closed, and its data with it." Both pulls are open. unavailable() in src/apps/proxy.ts infers gone from status === undefined, not from the pull. The gone, starting and not-running pages also offer no way to the pull, to production or home: only "Report a problem".

Done looks like:

  • [ ] gone (404) only when the pull is closed or merged, or no longer exists. An open pull with no environment answers a page that says the preview is not running, and how it starts again: the next push, or app_deploy redeploy.
  • [ ] Every not-serving page (gone, starting, failed, not running) links to the pull on the forge (for a preview), to production when production serves, and to the forge home. A private pull's title is shown only to a reader, as pillWhere does today.
  • [ ] Tests in the proxy's suite: an open pull with no env is not called gone; a closed one is a 404 gone; each page carries the three links, escaped.
  • [ ] A look of the not-running page on the pull.

Files: src/apps/proxy.ts (unavailable), its test. Risk: the 404 for gone is there so an edge that rewrites 5xx lets the page through; keep not-running a non-5xx too, or say why not.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs