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

Finding things in the studio: the search box and the palette look for apps, changes and tells #131

Merged opened this

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

Merged

Pushed.

shipped production is serving it deploy 206648f

opened this

Pushed.

/search and the command palette now have a studio branch instead of always speaking dev's vocabulary:

  • src/web/studio/search.ts (new): /search in studio mode shows apps first (name, one clamped line, live or not), then changes and tells, each row saying which app it belongs to and linking to its studio page. Bounded to two reads total — the apps (appsOf's capped, in-memory-filtered list) and one searchLocalIssues query split by kind after the fact — with no per-row query and no git read, so it stays cheap on every keystroke. An empty or overlong query is just an empty result (cleanQuery at the boundary). Signed-out visibility and ?mode=dev both fall back to exactly what dev's search already does.
  • src/web/layout.ts: the command palette's static rows and by-name list are now mode-aware. Studio drops dev-only verbs (New repository, New organization) and lists apps instead of every repository, adding "Asks you".
  • src/web/studio/asks.ts: widened appsOf to accept a signed-out viewer so the palette and the new search page share one visibility rule rather than inventing a second.
  • test/studio-words.test.ts: added /search?q=catch to the vocabulary table, asserting the app is found by a word from its description (not its name) and that no dev word leaks through.
  • test/studio.test.ts: a new fixture (two apps, a tell, a change, and a second owner's private app) covers description-word search, cross-owner isolation, empty/overlong queries, signed-out visibility, and ?mode=dev.

Left out: the per-repo palette rows (repoPalette in chrome.ts) still show dev's Code/Issues/Pulls/Commits tabs on studio pages — most of those routes already render studio content because the mode cookie persists, except /commits, which has no studio page yet (a separate, larger gap, since studio has no "history" concept designed). bun x tsc --noEmit and the full check test list pass; the three pre-existing failures in apps.test.ts/pulls.test.ts are sandbox git-networking flakiness, reproducible on main before this change.

Closes #87

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs