Skip to content

v1.165.1

Choose a tag to compare

@deivid11 deivid11 released this 16 Jul 21:55

What's New

Fixed

  • Streaming flicker on mid-turn refresh - the live output tail no longer remounts (markdown re-parse + fade restart, plus a height reflow) every time a session-history refresh arrives while an agent is streaming. Row keys now use a stable per-(uuid, timestamp) ordinal instead of an index that shifted with history length, and measured row heights bridge the live→history identity swap so the visible tail stays put instead of collapsing to size estimates.
  • Grok agents in the same folder could cross conversations - two Grok agents running in the same working directory no longer risk one attaching to the other's session. Session discovery now claims each session per agent and matches on creation time (not modification time, which a concurrent agent's writes kept "hot"), and the watcher re-pins to the session id the CLI itself reports on stdout. This prevents one agent mirroring another's tool output into its terminal and the two sessions merging on the next resume; forked sessions never hand the fork-source id to the watcher.

Technical Details

  • Client: buildItemKey takes a stable liveOrdinal (per-(uuid,timestamp)) instead of originalIndex; new bridgeIdsFor maps live rows to their history twins so the virtualizer's measured heights survive the live→history key swap (VirtualizedOutputList / virtualizedOutputKey / AgentTerminalPane).
  • Server: grok/session-watcher adds a per-agent sessionOwners claim map, birthtime-based discovery, and setSessionId re-pin; process-lifecycle never hands the fork-source id to the Grok watcher and clears forkSession once a real id exists.
  • Android versionName/versionCode derive from package.json; APK built after the version bump and verified as versionName 1.165.1 / versionCode 1165001. 1068 tests / 87 files passing.