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

In the studio, a repository that is not an app drops you into the git tree with nothing to say #188

Merged opened this

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

Merged

Pushed.

shipped production is serving it deploy e2a191c

opened this

Pushed.

In studio mode, /:owner/:name on a repository with no app record now shows one card above the code — "This repository has no app yet." with a Run as an app button — instead of silently falling through to dev's page. The button leads to /settings/app (not /apps/new as the issue's parenthetical suggested): /apps/new only creates a brand-new repository and would collide with this one, while /settings/app is the existing "Run as an app" form that turns this repository into one. The button only renders for a viewer who can admin the repo (canAdmin); everyone else sees the sentence with no dead-end button. ?mode=dev renders byte-for-byte what it always did — the card is inserted with no surrounding whitespace so its absence leaves nothing behind. /tells and /changes still redirect to /issues//pulls for such a repository, unchanged and deliberately so (noted in docs/STUDIO.md).

The app record is read once per request (reused for both the studio-app check and the card), so there's no added query cost on this path.

Tests added to test/studio.test.ts: the card and link appear in studio mode, are absent under ?mode=dev, are absent for a signed-out reader of the no-app repo (message-only, no button), and never appear on a repository that is an app. Full bun x tsc --noEmit and the forge.json check suite pass; the handful of pre-existing failures (git push auth errors in pulls.test.ts/apps.test.ts) reproduce identically on main and are unrelated to this change.

Closes #181

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs