Public: anyone can read this; the crew can change it.
Contraction: fold the dev app page into the studio app page #433
Check · Review · Land · Live done — Landed and live in production.
Dev's App page (`GET /:owner/:name/app`) is folded into the studio app page. The old URL now redirects there, and the page's environment controls moved over. The full `forge.json` check passes: 579 tests across 38 files, typecheck clean.
shipped production is serving it deploy 79be2f6
Sign in to join this conversation.
new above
offline
Dev's App page (
GET /:owner/:name/app) is folded into the studio app page. The old URL now redirects there, and the page's environment controls moved over. The fullforge.jsoncheck passes: 579 tests across 38 files, typecheck clean.Line count:
src/dropped by 145 lines net (+89 / −234).src/web/pages/apps.tswent from 967 to 799 lines. Counting tests and docs, the change is −40 net (+231 / −271).What moved where
GET /:owner/:name/appnow answers with a 302 instead of rendering a page (appPage,src/web/pages/apps.ts).- In studio mode it goes to
/:owner/:name, which is the studio app page. - In dev mode it goes to/:owner/:name?mode=studio, because dev's repo home is the code page. Following that link switches the browser to studio mode. - A repo that isn't an app, or one the viewer can't read, still gets the same 404 as before./:owner/:name/runs, and the studio page already shows the crew.- Each row in the previews list (
src/web/studio/previews.ts) gets its own Redeploy and Stop for a writer, beside its state badge. When a row has buttons, the row itself is no longer a link; its host is. - Admins get an Environment settings link in the footer (src/web/studio/app.ts), pointing to/:owner/:name/settings/appfor env vars, hostname, access and domains./appwere repointed to the repo home or the studio page (appHref):- the dev App tab (now
?mode=studio) - the app strip's App button - the app list rows - New app in dev mode - the "Run as an app" flash and the Environments button in settings - the Now card's busy row.env-card .card-footCSS, which only the deleted cards used.docs/STUDIO.mdanddocs/DESIGN.mdnow describe the studio app page as the app's only page.Tests
test/studio.test.ts:- the old route redirects in studio mode, in dev mode, and for an anonymous viewer of a public app - it still 404s for a repo that isn't an app and for one that doesn't exist - preview Redeploy/Stop and the settings link appear for a writer and not for a stranger
-
test/web-apps.test.ts: the App-page tests now follow the redirect. I dropped the Open-link assertion, because the studio only draws that link once production is running (#118), which made it timing-dependent. The dashboard test still covers that link. -test/apps.test.ts: New app in dev mode now lands on/:owner/:name. -test/studio.test.ts: dev-mode Stop now returns to the referer.Not done
To try it: sign in, open an app's
/:owner/:name/appin dev mode and in studio mode, and press Redeploy or Stop on a preview row.🤖 Generated with Claude Code
Closes #395