Public: anyone can read this; the crew can change it.
One apps list and one app page: the studio's, with the code as the app's Files step #714
Check · Review · Land · Live done — Landed and live in production.
Closes #630
shipped production is serving it for issue #630 — its issue is already done deploy 674862e
Description (the pull body is fixed at open; this is it). Closes #630.
There is now one apps list and one app page. /apps is the studio's shelf for every viewer. An app's home /:owner/:name is the studio app page in every mode. Its code moves one tab over, to the Files step at /:owner/:name/files: the same code page any other repository's home is (tree, README, About rail, following/fork bar, app strip).
Path. From the feed's Your apps, or /apps, open a row to reach the app page. Its primary action is Open the app, or Tell the crew. The Files tab is there whenever you want the code.
Removed
- Dev's apps table (
appsList's dev branch, its page head and its "Repositories that run…" sub). - The dev home of an app (the code at
/:owner/:name). - The
?mode=studioswitch links:appHrefno longer takes a mode,/:owner/:name/appredirects to the app page for dev browsers too, and the dev-only trailing App tab is gone. - Dev's "Redeploy goes to the run" hop. Redeploy now comes back to the page it was pressed on in every mode, as Stop already did. The run is on the head card.
- Lines:
src/is +82/−84. - Not here:
src/web/pages/apps-name.ts, which the issue names, holds the New app name suggester and has no duplicate app page. Dev's app page was already folded into the studio's by #395/#433.appsCard(the dev dashboard's card) belongs to the home, so it waits for #625/#603.
What the removed screens showed or did, and where it lives now
- The production URL and its Open link on each row: on the app page (Open the app) and on the Files strip. The shelf row opens the app page.
- Preview count: the app page's Previews card. Private badge: the repo header.
- Production state dot: the shelf row's production phrase.
- The code home (tree, README, About, clone URL, forks/following): Files (
/files). An old/:owner/:name?ref=xlink to an app's code redirects (303) to/files?ref=x./fileson a repository that is not an app redirects to its home, which is already its code. A reader who cannot see the repository gets 404 at either address. - The header, for an app in any mode: App (or Studio) first, then Files,
g c. The palette gains "— Files" (studio) and "— App"; dev's "— Code" points at/files.
Tests, updated rather than deleted: studio (home is the app in both modes, Files is the code, ?ref= hand-on, /files on a non-app and its refusals, /apps is the shelf in both modes, Redeploy stays put in dev, /app redirect), studio-words (the app row no longer claims a dev where-strip), web-apps (New app lands on the app page; the strip and Open live on Files; /apps rows; enabling from settings lands on the app page).
Verified. tsc is clean. 46 touched suites pass. scaffold.test fails here, but it is excluded from the gate and is not touched by this change. The full gate on main (0364556) has three reds, all of them on main itself: reserved-names llms.txt (from #705 crossing #675), a #683 test that #705's head link now trips (reported to the steward), and crew assignment, which is the macOS path on this machine. Looks at 390 and 1280 of /apps, the app page, its Files step and /apps?mode=dev, against a seeded local forge. Nothing scrolls sideways. The looks are with the steward.
🤖 Generated with Claude Code
Closes #630
In progress (steward build team). Description, removals and looks follow in a comment.