Skip to content

fix(chat): stabilize live transcript activity - #350

Open
AlphaCatMeow wants to merge 2 commits into
Stack-Cairn:mainfrom
AlphaCatMeow:codex/fix-live-transcript-jitter
Open

fix(chat): stabilize live transcript activity#350
AlphaCatMeow wants to merge 2 commits into
Stack-Cairn:mainfrom
AlphaCatMeow:codex/fix-live-transcript-jitter

Conversation

@AlphaCatMeow

@AlphaCatMeow AlphaCatMeow commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Linked issue

Closes #349

Summary

Stabilizes the live assistant activity region so reasoning, tools, results, and the Vibing status update without remounting or reordering already visible transcript content. Bottom-follow writes are coalesced under one owner, detached readers retain their anchor, and thinking details move to a non-layout overlay.

This is a focused GUI/Gateway WebUI fix. It does not change Rust, Go, protocols, databases, or the TodoWrite task-progress feature.

Rebase and diff audit

  • rebased the complete two-commit PR from original merge base 849daf269762846557cc8243c5fe6e7fb155ed72 onto latest upstream/main@00a2c6fc43754f40022b0703459824559bee73ea
  • updated head from babfd48d0ec8b7cbdaec8db7d1df24116d456849 to f8db66e4f896008bbea23446524e15e2bcf7b724; the branch is 0 behind / 2 ahead and its merge base is the latest main commit
  • retained the original two-commit order: live transcript stabilization first, runtime acceptance evidence second; the final amend changes only the worklog while the accepted product tree is byte/path-equivalent
  • the product patch remains 44 files; original stats were 1681 insertions / 417 deletions, final stats are 1695 insertions / 417 deletions because the worklog now records the current baseline and fresh acceptance
  • only GatewayApp.tsx and scripts/mirror-manifest.json overlap changes made between the old and new baselines; latest-main CLI identity removal and overlay-host placement remain intact together with the PR's viewport-following prop and mirror entries
  • pairwise overlap is 6 files with PR feat(chat): add task progress indicator and stabilize ingress replay #345 and 12 files with the live PR feat(chat): add collapsible process details #366 head; neither relationship has Git ancestry, so all three PRs remain independent roots
  • no rebase conflicts, Rust/Go/database/protocol/dependency changes, generated binaries, credentials, or unrelated lifecycle changes

Change scope

  • Modules: agent-gui, agent-gateway/web
  • Stable desktop assistantActivity outer row and live-to-settled identity projection
  • Stable ordinary-tool grouping and in-place result/status updates in both clients
  • Mirrored thinking overlay, frame-pinned scroll controller, and scroll-adjust policy
  • Single-line, width-bounded live status and removal of the duplicate Markdown stream caret
  • Projection, component-source, stress, reconnect, special-tool, scroll, accessibility, and layout regression tests
  • Mirror manifest and implementation/acceptance worklog

Screenshots / preview

Gateway WebUI sequential runtime acceptance

Runtime acceptance was performed from the current main workspace and rebased product HEAD in the Windows Tauri client. The same mirrored GUI/WebUI implementation was covered by focused and full automated suites.

Verification

  • pnpm --dir crates/agent-gui build — passed (includes TypeScript typecheck)
  • pnpm --dir crates/agent-gateway/web build — passed (includes TypeScript typecheck)
  • focused GUI activity/identity/scroll/overlay suites — 46/46 passed
  • focused Gateway WebUI activity/identity/scroll/overlay suites — 47/47 passed
  • pnpm --dir crates/agent-gui test:frontend — 1,411/1,416 passed; the same five mention source-extraction and Rust/TypeScript preset-sync failures reproduce on a fresh non-Worktree upstream/main@00a2c6fc baseline at 1,398/1,403
  • pnpm --dir crates/agent-gateway/web test — 504/504 passed
  • full GUI Biome — existing baseline debt only: 424 errors / 358 warnings / 9 infos, identical to the latest-main baseline
  • full Gateway WebUI Biome — existing baseline debt only: 292 errors / 310 warnings / 10 infos, identical to the latest-main baseline
  • targeted Biome for all 14 touched GUI production files — exited 0 with warnings only
  • targeted Biome for all 11 touched Gateway WebUI production files — exited 0 with warnings only
  • go -C crates/agent-gateway test ./... — every package passed except the existing Windows file-mode assertion in internal/auth/agenttoken.TestDBFilePermissionsAndNoPlaintext (0666 versus POSIX 0600), reproduced on latest main
  • go -C crates/agent-gateway vet ./... — passed
  • cargo check --manifest-path crates/agent-gui/src-tauri/Cargo.toml --tests — passed using the existing local Python clang runtime; five unchanged unused/dead-code warnings remain
  • node scripts/check-mirror.mjs — passed for 118 mirrored files
  • git diff --check — passed
  • independent Git, GUI, and Gateway WebUI semantic reviews — no P0/P1/P2 blocker; the details overlay is intentionally user-activated while the live thinkingOpen state drives only the compact running indicator, matching Issue fix: stabilize live transcript activity and scrolling #349 and the acceptance matrix
  • GitHub final-head checks for f8db66e4: PR Governance (two runs), Gateway, Gateway Docker Smoke, Gateway WebUI, GUI, Tauri Rust Check, GUI/WebUI Mirror Check, and Diff Hygiene all completed successfully

Manual acceptance

  • current-workspace Tauri runtime was launched from chore-pr-350-rebase@e61a2bdf before the documentation-only final amend; Vite returned HTTP 200 and the worktree-local target/debug/liveagent.exe window remained responsive
  • the user explicitly confirmed PR #350 通过 on 2026-08-06 after testing stable streaming identity/order, bottom-follow and detached-reader anchoring, thinking overlay interactions, parallel/out-of-order tools, failure/retry, Stop/cancel, AskUserQuestion, history/reconnect restoration, narrow layout, themes, and reduced motion
  • the accepted product HEAD and final pushed HEAD differ only in docs/worklog/live-transcript-jitter.md; a path-by-path comparison found zero product-code changes

Pre-submit checklist

  • A requirement issue is linked.
  • No merge conflict with the target branch after the latest upstream/main fetch and rebase.
  • The change is focused, with no unrelated modifications.
  • No secrets, tokens, or personal data included.
  • Docs are updated for the behavior change and acceptance evidence.

Depends-On: none
Stack-Root: #350

@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

PR governance checks passed. Awaiting human review.

Keep each active assistant turn under one stable outer row, update thinking and tool activity in place, and unify bottom-follow scroll ownership across GUI and Gateway WebUI.

Add mirrored overlay/scroll models, lifecycle and stress regressions, runtime acceptance evidence, and status-width/caret fixes.
@AlphaCatMeow
AlphaCatMeow force-pushed the codex/fix-live-transcript-jitter branch from babfd48 to f8db66e Compare August 6, 2026 12:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix: stabilize live transcript activity and scrolling

1 participant