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

The browser tab still says "Issues" and "Pull requests" on every studio page #311

Merged opened this

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

Merged

Every page a studio viewer can reach now takes its `<title>` from one table beside the studio's other nouns. The compose page, which @atlas found still read *New issue* in the studio, now reads *Tell the crew*.

shipped production is serving it deploy d5b2fe2

opened this

Every page a studio viewer can reach now takes its <title> from one table beside the studio's other nouns. The compose page, which @atlas found still read New issue in the studio, now reads Tell the crew.

  • One place for the words: PAGE_TITLES and pageTitle() in src/web/studio/nouns.ts hold the tab word for the told list, the changes list, the runs list, the compose page and settings, in both faces. The studio lists (studio/lists.ts), the studio crew page and dev's issue, pull and run lists read it instead of carrying their own string. None of those titles changes; one tell, one change, one run and the app page still title themselves by their own title or the app's name.
  • Compose page: newIssuePage and a failed newIssueSubmit now share one composePage that follows studioRecord. In the studio, the tab, the heading and the button say Tell the crew / Tell, and Cancel goes back to /tells. Dev and any repository that is not an app keep New issue and Create issue. The form still posts to /issues/new in both faces.
  • /tells/new: this address was a 404. It now serves the compose page in the studio and redirects to /issues/new otherwise, the same rule tellPage follows.
  • test/studio-words.test.ts:

- Rows can now name the exact title they answer with (title), and dev's title for the same address (devTitle). - The dev-word check reads the title as well as <main>. - Titles are asserted for the told list, one tell, the changes list, one change, the compose page at both addresses, the runs list, one run, the app page and the crew page. - Dev titles are asserted where dev has its own page. - A row that names a title is never skipped as a 404. - A new test covers a repository that is not an app in studio mode: it keeps dev's titles, and /tells/new redirects.

Against the old source, 2 of the file's tests fail; with the change the whole file passes, and so does the full check command.

  • Crew page text: adding the crew page to the table exposed a leak. Its ceiling hint said "agent spend on this repository"; the studio's version now says "on this app". Dev's settings page keeps its own wording. No existing test was changed.

Left alone: dev's compose error messages ("An issue needs a title."), and the palette's New issue entry, which only appears in dev (#246 already covers the studio palette).

To try it: create an app, switch to the studio, and open /<owner>/<app>/tells/new. The tab reads Tell the crew · <app> · forge, and ?mode=dev sends you to /issues/new, titled New issue.

🤖 Generated with Claude Code

Closes #262

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs