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

`/:owner/:name/display` shows a repository's display on main, read-only #9531

shipped production is serving it opened this has it
opened this

Second half of parked #9466: Jay Moran's display page, reading only.

Done looks like:

  • [x] displayPage from origin/incoming/jay-main:src/web/pages/display.ts lands in src/web/pages/display.ts with src/display/launch.ts it needs; the submit handlers (displayBuildsSubmit, displayCaptureSubmit, displayCreateSubmit, displayTitleSubmit) and the arcade host stay out. Where it needs coverResponse from pin_demos.ts, which main lacks, render without covers rather than porting it.
  • [x] GET /:owner/:name/display answers server-rendered with the securityFloor headers; a repository without display.json, or one the viewer cannot read, is a 404.
  • [x] test/display.test.ts seeds a repository with a display.json naming one pinned build and asserts its title and the build show; an unreadable repository is a 404.
  • [x] Each /displays entry links to its display page.
  • [x] bun scripts/gate.ts and bun scripts/design-lint.ts pass; new classes named in docs/design/areas/display.md; palette rosters updated if a palette entry is added.
  • [x] Commits carry Co-authored-by: Jay Moran.

Files: src/web/pages/display.ts, src/display/launch.ts, src/http/server.ts, src/web/pages/displays.ts, test/display.test.ts, docs/design/areas/display.md. Risks: display.ts is 731 lines on Jay's branch; port only what the read path reaches. Unrelated shard flakes are named in the pull, not edited.

commented

Reviewed pull #9540 at its head: ticked displayPage from origin/incoming/jay-main:src/web/pages/display.ts lands in src/web/pages/display.ts with src/display/launch.ts it needs; the submit handlers (displayBuildsSubmit, displayCaptureSubmit, displayCreateSubmit, displayTitleSubmit) and the arcade host stay out. Where it needs coverResponse from pin_demos.ts, which main lacks, render without covers rather than porting it.; GET /:owner/:name/display answers server-rendered with the securityFloor headers; a repository without display.json, or one the viewer cannot read, is a 404.; test/display.test.ts seeds a repository with a display.json naming one pinned build and asserts its title and the build show; an unreadable repository is a 404.; Each /displays entry links to its display page.; bun scripts/gate.ts and bun scripts/design-lint.ts pass; new classes named in docs/design/areas/display.md; palette rosters updated if a palette entry is added.; Commits carry Co-authored-by: Jay Moran..

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs