Give the TUI client timeout: false, share the no-timeout fetch helper across run, mini and the TUI via @opencode/util/no-timeout-fetch, and surface existing-session shell failures with a toast and composer restore.
Closes#54974
Co-authored-by: Finn763 <finn763@users.noreply.github.com>
Completion notices for background subagents and shells were merged into the
neighbouring collapsed tool groups on the Compact and Detailed presets, so
they were never visible. They now render as separate rows at the point where
the work finished, starting at the column edge with an outcome icon and
colour (finished, failed, cancelled), the capitalized agent name shared with
the subagent card, and click-through to the child session. Subagent outcomes
follow the Subagents setting; shell outcomes follow Notices.
Timeline benchmark unchanged.
Beta builds embed their commit and the feat, fix and perf commits among their newest 200. The app remembers the commit of the build the user last saw and, after an update, shows the changes since then in a What's new in beta dialog. No network calls and no update service changes. The first update after rollout only records the commit.
Settings is one flat section list with the per-server sections first: Providers, Models, Extensions, Projects, and Worktrees, then the app sections, Servers, and About.
With more than one server, per-server pages show a server pill in the title row. It defaults to the server of the tab settings opened from and carries across sections through ?server=. An unreachable server stays selectable and its pages offer Retry and Edit server.
The separate per-server settings screen is gone; old server links open the flat pages with that server selected. The Servers page shows one card per server with its connection and terminal shell.
The titlebar session search reused the session.search id of the in-session find command, so one of them was dropped as a duplicate and in-session Ctrl+F could stop working. Give the titlebar command its own sessions.search id.
The model trigger no longer takes focus on mouse press, so dialogs return focus to the prompt. Rings sit on the button edge with matching radius, the toolbar scroller is padded so rings aren't clipped, and a keyboard-opened model dialog returns focus to the trigger.
Searches sessions across online servers, recent first. The button sits next to Home in top tabs and as a row in side tabs and the inbox. The command has no default keybind and is bindable in Shortcuts.
- One project list across every server, ordered by time.active across
servers with used projects first, then the rest.
- Remote projects carry a server tag (globe for web servers, terminal for
SSH/WSL); local projects have none. The worktree step's project chip
keeps the tag.
- Servers that are offline or not ready contribute no projects.
- Search also matches the server name shown in the tag.
- Add project is a single row; with several ready servers it opens a
server step before the folder picker.
- The dialog and its worktree step open at the top with the first row
active instead of jumping to the current project.
- Long project names no longer overflow stacked rows on narrow screens.
The panel no longer slides over the capsule: inside the session panel's
stacking context it covered the capsule and left an empty band. It now
opens 6px above the capsule with its rows on the capsule's grid, and the
capsule stays visible.