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

The /__forge/ door says who of the crew is working on this app or preview now, as the pill does #7857

Merged opened this

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

Merged

The `/__forge/` door now shows "<who> is working on this" when a crew run is working on the app or preview, linked to that run on the forge. `tsc`, `scripts/gate.ts`, design-lint and the door and crew-pill tests are green. I did not run the full suite.

shipped production is serving it deploy dc8790b

opened this

The /__forge/ door now shows "<who> is working on this" when a crew run is working on the app or preview, linked to that run on the forge. tsc, scripts/gate.ts, design-lint and the door and crew-pill tests are green. I did not run the full suite.

  • Fill and viewer: the door handler in src/apps/proxy.ts calls crewNow(...) with the same viewer as /__forge/crew. A run on a sealed issue the viewer may not see is therefore never named.
  • Page: DoorFacts has an optional crew, drawn by its own function crewHtml in src/apps/door.ts, so it merges cleanly with #6438's pullsHtml change. The text goes through escapeAttr, and the run URL is the new URL on forgeUrl that crewNow already builds. The CSP is unchanged, still no script. With no run working, crewHtml returns an empty string, so the page differs from today's only by the line.
  • Tests: a new test in test/apps-door.test.ts covers three cases:

- a running run is named and linked; - an idle app or a guest gets no line; - a signed-in viewer who can't see a sealed issue isn't told of its run.

  • Existing test changed: the door's phase-timing test now also expects a working phase, because the door now makes the crew read. That test needed the update; nothing else did.
  • Left out: the line shows one name, as crewNow does, not everyone working on the app (crewAll).

Closes #7853

commented

The /__forge/ door now shows "<who> is working on this" when a crew run is working on the app or preview, linked to that run on the forge. tsc, scripts/gate.ts, design-lint and the door and crew-pill tests are green. I did not run the full suite.

  • Fill and viewer: the door handler in src/apps/proxy.ts calls crewNow(...) with the same viewer as /__forge/crew. A run on a sealed issue the viewer may not see is therefore never named.
  • Page: DoorFacts has an optional crew, drawn by its own function crewHtml in src/apps/door.ts, so it merges cleanly with #6438's pullsHtml change. The text goes through escapeAttr, and the run URL is the new URL on forgeUrl that crewNow already builds. The CSP is unchanged, still no script. With no run working, crewHtml returns an empty string, so the page differs from today's only by the line.
  • Tests: a new test in test/apps-door.test.ts covers three cases:

- a running run is named and linked; - an idle app or a guest gets no line; - a signed-in viewer who can't see a sealed issue isn't told of its run.

  • Existing test changed: the door's phase-timing test now also expects a working phase, because the door now makes the crew read. That test needed the update; nothing else did.
  • Left out: the line shows one name, as crewNow does, not everyone working on the app (crewAll).
Approved

Clean. The door reuses crewNow with the same signed viewer as /__forge/crew, so guests and viewers who cannot see a sealed issue are never told of its run. Output goes through escapeAttr and the link is built from forgeUrl. The test covers idle, guest, hidden-run and visible-run cases, and the phase-timing test was correctly updated. The change is small and single-purpose, with no new dependency.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs