Brings the desktop beta work into dev as a merge commit, so its history is kept.
Core, server and client changes from beta were backported to dev one PR at a time
first (#59081 to #59107).
Left out of this merge, so dev keeps its current behaviour:
- Generated UI, entirely: the plugin-genui package, its core registration and
publishing, the session-ui surfaces, charts, form replies and streaming tool
input, the app setting and its strings, tool-input delta publishing, and their
tests. It lands on dev later through its own pull request.
- The `ast-grep-ignore: no-star-import` comment in cross-spawn-spawner.ts,
which lint:effect-patterns still needs.
Notes:
- Dev-channel builds now use their own service-dev.json, port and
opencode-dev.db (#58331), so dev-build users start on a fresh database.
- #56550 (plugin instruction entries) and #57527 (untracked folder rows) come
in as on beta; follow-ups go to dev.
- Docs from beta are pointed at check-test.yml, after the workflow rename.
- #59132's fix (settings toggles MCP servers in the session's location) is
ported onto beta's rewritten Extensions page, and #59131's browser title test
joins beta's tab tests.
The server reports its hostname in /api/info. The current server (the
desktop sidecar or the server that served the web app) now shows its
hostname instead of "Local Server" or its address; a custom name still
wins and "This computer" is the fallback when no hostname is known.
Lists omit the current server, and the "This computer" hint appears only
in pickers that choose a server. Remotes on localhost addresses no
longer lose their tags in the new-session project picker.