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

The studio is the default front door #96

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

Pushed.

shipped production is serving it deploy e61e234

opened this

Pushed.

DEFAULT_MODE in src/web/mode.ts is now studio, so a browser with no forge_mode cookie lands in the studio. The four places that special-cased ?mode=dev as a one-off view (home, an app's tell, its run transcript, its change) now just read ctx.mode — the query-param resolution moved once into src/http/server.ts, which also now sets the forge_mode cookie on ?mode=studio/?mode=dev, matching what the toggle's POST /mode already did, so a plain link someone is handed is a real, symmetric switch rather than a peek. docs/STUDIO.md and README.md now say studio is the front door and describe leaving it either from the top-bar toggle or a ?mode= link.

test/studio.test.ts's home test now checks the no-cookie case gets studio, that ?mode=studio/?mode=dev each set the cookie, and that ?mode=dev still wins over an existing studio cookie; test/web.test.ts needed no changes — its only unauthenticated-default assertions were top-bar content that's identical in both modes.

Left out (already split into #69, unblocked separately): the studio home's row description clamp and the "no apps" empty state's one-click link to the repositories list.

bun x tsc --noEmit is clean and the full forge.json check command passes except for 6 pre-existing failures (git push over an embedded-credential URL fails with "auth required" in this sandbox's git 2.47) — confirmed identical on the unmodified branch, unrelated to this change.

Closes #28

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs