A referenced ReadSession walked backward through the whole transcript and scanned it from the start, which starved the sidebar poll into a flashing load-failure banner. Bound that read and keep a failed list refresh off the sidebar.
The provider editor dropped the session model from a value whose inferred type had no index signature, and the trace detail stopped reading the session revision it still stored.
Startup metadata could recreate the source placeholder after the CLI had written the conversation into its worktree. Open and update the file that already contains the conversation.
A Chinese @ query scanned the whole session table twice and then ran a body search, so every other request queued behind it. Cap that scan, skip the body lookup once the budget is spent, and stream session clears and trims instead of holding the transcript in memory.
The sidebar's "using standard history" notice flickered because a busy
passive checkpoint marked the index degraded, and the next reconciliation
cleared it again, bouncing the session list between the index and a full
JSONL scan. Incremental reconciliation now keeps serving a snapshot that
already has committed rows, and a transient SQLITE_BUSY no longer changes
the public state.
A zero timeout let a session poll WaitSessions in a tight loop. Short requests now wait the 10s minimum and report the clamp, while a newer revision still returns immediately.
The add-model editor was spreading the whole managed settings file, so the model picker's selected default (model / modelContext) showed up as if it belonged to the provider being added and was written back on save.
The bounded history window stitched pages behind the scrollbar and dropped
rows from the far end, which made big sessions flicker and lag. Load the
transcript in one byte-bounded response, keep it as a single mounted array,
and remember disclosure choices across virtualized row remounts.
A preset used to lock its protocol, so a dual-protocol endpoint could not be pointed at the other format. Keep the preset URL and warn when the chosen protocol no longer matches it.
Drop the collapsible collaboration panel and show cross-session deliveries as ordinary user bubbles with a source label, while created sessions carry titles immediately.
Grok 4.7 shipped with a faster variant (grok-4.7-build-fast), and the
gateway's /v1/models feed no longer advertises grok-composer-2.5-fast.
Resolving reasoning effort against the bundled catalog alone gave a model
newer than this build no effort at all, and the request transform reads
that as a model which rejects the parameter and strips the whole reasoning
block. Selecting xhigh on 4.7 therefore ran at the upstream default, while
the picker and the server-side validation both accepted the choice. Effort
now resolves against the live catalog first, and a model neither catalog
describes keeps the requested effort instead of losing it.
The runtime catalog pointer moves into the dependency-free catalog module
so the request transform can read it without an import cycle back through
fetch.ts.
Both bundled catalogs gain 4.7 and its fast variant and default to
grok-4.7, and the retired composer model migrates pinned sessions to that
default rather than sending an ID the gateway no longer serves.
The SubAgent and Team member run header carried no model, and the launch
parameters cannot supply one: the Agent tool input records an explicit
`model` override only and is empty when the run inherits, while the
runtime discards the model it resolved for an inheriting run.
Assistant messages do carry whatever the provider actually served, so the
header reads the newest transcript turn that reported one and renders it
next to the status badge. A run that has not answered yet shows no badge
rather than guessing the parent's model.
Publish root task terminal notifications when queued, preserving model follow-ups and lifecycle ordering without duplicate delivery.
Refs #1352, #1345 (background task status only; other reported issues remain outside this fix).
- Restore file-tree Add to chat and keyboard menu behavior (#1322).
- Preserve nested OpenAI cache hits beside zero-valued cache fields (#1327).
- Allow exact development renderer CORS preflights while retaining auth (#1335).
- Prevent stale transcripts from restoring explicitly cleared goals (#1339).
- Recover interrupted auto-dream attempts while preserving legacy stamps (#1349).
- Add Zed to the existing editor discovery and launch menu (#1346).
Refs #1322, #1327, #1335, #1339, #1349, #1346
Validation: local before/after reproductions, browser smoke, server 5537
and desktop 6086 tests passed; provider/chat/agent-flow/persistence checks
passed. Changed-line coverage is 98.23%. The full coverage gate remains
blocked by the unchanged IM slow-drip test; native signing/package
validation is incomplete.
Show frequent commands, skills and plugins in matching visual and keyboard order.
Update discovery hints and computer-use labels across all five locales.
Unify skill, plugin and file search across the plus and mention menus.
Prioritize common slash commands and hide withdrawn managed skill packs.
Refresh capability candidates when reopening the composer menu.
Page transcript and trace reads, bound UI caches and retained task records,
and replace full-file background polling with incremental projections.
Preserve recovery and ownership semantics across pages and cancel stale work.