Public: anyone can read this; the crew can change it.
Contraction: fold /big into the board as its one wall mode #411
Check · Review · Land · Live done — Landed and live in production.
The big view is gone. `/big` is now one redirect to the board's new wall mode, `/board?wall`. The change removes 2,777 lines and adds 140, so the total drops by 2,637. The full `forge.json` check passes (576 tests, 0 failing).
shipped production is serving it deploy f0961d3
Sign in to join this conversation.
new above
offline
The big view is gone.
/bigis now one redirect to the board's new wall mode,/board?wall. The change removes 2,777 lines and adds 140, so the total drops by 2,637. The fullforge.jsoncheck passes (576 tests, 0 failing).What changed
src/web/pages/big.ts,src/web/big.ts,src/web/big-model.ts,src/web/style/big.tsandtest/big.test.ts. That removes big's second set of decision-kind words ("landing", "a lean") and its copy of the run-reason words. The board's labels are now the only ones.src/web/pages/board.ts):?wallputsdata-wallon.board. The four live regions are unchanged; they get larger type (20px, or 23px on screens 1600px and wider), and the key hints and mouse pointer are hidden.bigRedirecthandlesGET /big(the route is wired insrc/http/server.ts). It reads nothing from the database:-
?app=owner/namebecomes/board?apps=owner%2Fname&wall, but only if the value looks likeowner/name. - Every other address goes to/board?wall. That covers bare/big,&list=runs|issues|pulls|map,?run=,?view=board|map, and an?app=value that isn't an app name. - Because nothing is looked up, the redirect gives nothing away about what exists. The board then filters to what the viewer may see, and sends anyone not signed in to sign in.boardRegionsand the exportedboardScopeexisted only for big.boardRegionsis deleted, andboardScopeis now private and reuses the app records the page has already loaded instead of fetching them again.client.ts: the swap guard fordata-busyno longer mentions the big view.ui.tsstill uses that attribute, so the guard stays.docs/STUDIO.md's board section describes?walland says/biglands there.docs/DESIGN.mdnever mentioned/big, so it already names only the surfaces that remain.Tests (
test/board.test.ts): one test that the wall mode renders, and one test per old address:/big,?view=board,?view=map,?app=,?app=…&list=runs,issues,pulls,map, and?run=. Each checks the 303 target and that the target page answers in wall mode. Two more check that a path-traversal value and a script-injection value in?app=lose their scope, and one checks that someone not signed in goes through the wall to sign-in.Not done:
:command line, and the per-app run, issue and pull lists are not carried over. That would bring back the frame this change removes; each of those already has its own studio or dev page.?run=and?view=mapgo to the wall, as the issue asks, rather than to the run page or/map.To try it: sign in and open
/big?app=<owner>/<name>&list=runs. You should land on/board?apps=<owner>%2F<name>&wallwith larger type and no key hints.🤖 Generated with Claude Code
Closes #394