Skip to content

Bring the Open Wall gallery into the new design #216

Description

@openipc-ai

Part of #206 (Phase 2). Depends on nothing.

Retargeted 2026-09-26. This issue was written against the Rails views. Since #160, #162, #164 and #165, every page it names is built by the static bundle (frontend/apps/site), and the Rails templates are only the rollback path. #287 deletes those templates along with Rails (#304). The port reproduced the old look on purpose, pixel for pixel, so the restyle still needs doing. The work now happens in the Astro components, and the Rails files named in the original text are not the target.

Why

The Open Wall is the most visited page after the home page and the one the home page's mosaic sends people to. Since #165 it is a static shell (components/pages/Wall.astro) with a Preact island (components/wall/Wall.tsx, Frame.tsx). It reads /api/v1/wall/*.json and paints frames that arrive over the /api/v1/wall/cable socket. nginx serves the shell for every wall address: the gallery pages, a camera's permalink, a snapshot, and its archive and slideshow. The island reproduces the old gallery's look.

What to change

  • The grid, the camera page and the one-day strip rebuilt on the new tokens, in the island's markup and styles/app.css.
  • Nothing on the data path changes: POST /snapshots, the wall JSON, the frame socket, WallGrant and the canvas painting are out of scope. So are the addresses: every link already shared must open the page it opens today.
  • Screenshots use a presentable scene, not a bench.

Done means

  • The wall renders full-bleed in three locales, with cameras and without (dev has none).
  • wall-frames.test.ts and wall-route.test.ts pass unchanged, and tools/mirror-check.mjs still reads pixels off the canvases.
  • The conformance suite (bin/conformance, A black-box conformance suite for the surface Rails still owns #291) passes. It is the upload's contract and must not notice this issue.
  • Screenshots before any PR.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions