Repository navigation
fix: keep cached chat layout stable through attach - #33460
Conversation
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Gallery before/after for
States
Pick other states with a Passes: CI passes on CI passes on Written by web and size checks: green Shipped in:
The feat-cmux-next push run https://github.com/manaflow-ai/cmux/actions/runs/41683707440 at 2e9aa60 failed: cmux-next checks (god files, concurrency, crash safety, l10n). |
This comment has been minimized.
This comment has been minimized.
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
|
Review (claude opus-5.5 medium, independent subagent): SHIP at 740f010 Visual verdict: code only; fleet captures pending. Independent reviewer checked retained turn opener and stale-read guards, visible code fallback, font/label/newline parity, and final test-only corrections. The test now advertises the one turn its journal contains and permits the rail's independent prompt-index request; zero-swap/shift assertions remain unchanged. No blocking code findings. Follow-ups: syntax-color handoff tracked in #33523; offline peer-snapshot opener metadata remains a known gap. Fleet red/green result and visual inspection are pending; this is not a test pass. |
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-68e3f2f1bfa31b937a4e
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-68e3f2f1bfa31b937a4e
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-68e3f2f1bfa31b937a4e
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-68e3f2f1bfa31b937a4e
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-68e3f2f1bfa31b937a4e
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-68e3f2f1bfa31b937a4e
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-68e3f2f1bfa31b937a4e
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-68e3f2f1bfa31b937a4e
18bf54a to
3bff550
Compare
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-68e3f2f1bfa31b937a4e
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-68e3f2f1bfa31b937a4e
|
Focused gallery reconciliation at the exact failing merge tree ( GitActions keyboard/include-new shift was 0.029849550145617604 in every stage, below the original failed 0.05704566790037136. Font picker had no violations; the new RTL alignment violation was absent (11 known violations remain). Normalized actual-font/network/style receipts matched across stages. This does not establish a font-fallback cause or clear the original full-shard failures by itself. The named webview red is undergoing a complete exact merge/base comparison in a separate focused run. No new product commit; head remains |
|
Completed per-test base attribution: run 41631324917, logs/artifact, verifies the exact CI merge tree
The comparison harness succeeds because all four named executions completed and source/index restoration was verified; it does not mean those tests passed. These two reds reproduce on base. The official webview verdict is still red; this receipt does not rewrite it. Original gallery-shard failures remain separately documented in the preceding comment. |
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-68e3f2f1bfa31b937a4e
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-68e3f2f1bfa31b937a4e
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-68e3f2f1bfa31b937a4e
|
Final-head validation at The release-notary guard's |
Retain the base selectionReply theme configuration in applyPaneTheme for both initial previews and host pushes. Scoped formatting passes. Light web lint reports base token violations in chief-web.css and conversation.css plus settings.gallery.ts formatting; conflict resolution adds none. Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-68e3f2f1bfa31b937a4e
|
Native capture evidence (Debug builds, base = this PR's merge-base
The warm sampled frames do not show the transcript page itself, so they neither prove nor disprove a swap; this is not a one-render 0/0 claim. Same-machine head numbers for chat-open are still running. Native evidence is advisory and does not block landing. |
|
Exact-source attribution for head 071a377: run 41657645538, artifact 13240104144, compared merge 90ebf2d with base 1ac26c7. All 32 renders completed. Using the same browser, both trees give identical Git Actions and repository-search shift scores: full Chrome produces the same three reds on both; headless-shell passes both. The workflow's mixed browser comparison explains these apparent regressions; #33836 fixes that setup. Both named guard failures also complete identically on the two trees: DigestTests.test_the_repository_highlights_validate (team invitation highlight missing its link) and ThisTree.test_every_compile_job_names_its_warm_sources (perf-budgets exemption). No crash or incomplete run is excused. The experiment remains marked failed: its final optional CDP command-line metadata assertion failed after the renders and reports completed. Launch options and browser.version are recorded (Chrome 156.0.8078.79; shell 156.0.8078.80, identical across trees within each mode), and exact source-tree/restoration checks passed. This is scoped attribution evidence, not a claim that the full run passed. |
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-68e3f2f1bfa31b937a4e
|
Review (claude opus-5.5 medium, independent subagent): SHIP at 1400922 Visual verdict: code only; this base merge changes none of the PR's rendered UI. The independent reviewer verified that the PR's added/removed lines are unchanged against its new base, and the only conflict keeps mock transport preparation before the mount. Primary integration inspection agrees; working tree is clean. Follow-ups: existing gallery run 41659686211 exercises |
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-68e3f2f1bfa31b937a4e
|
Review (claude opus-5.5 medium, independent subagent): SHIP at 877032d Visual verdict: code only. The conflict resolution preserves base's new message-row styling on both mount paths. The reviewer verified that Follow-ups: exact-head fleet verification 41667496265 and official webview results are pending; this is not a test-pass receipt. Carried follow-ups, including #33523, remain. |
|
Webview health attribution for run 41667274334: health (1) and health (5) failed only in |
A capped cached transcript could first show raw activity, then replace it with the folded completed turn when attach supplied its missing prompt. Preserve that prompt when capping a visited chat and prepare it during read-ahead so equal-data attach keeps the first rows and their layout.
Code cards keep visible text until the worker draws, with matching fallback font, header label and final-newline geometry. Authentication preflight keeps sending disabled and its tooltip, but no longer inserts then removes a 20px “Checking…” row above the composer. Actual sign-in failures retain their notice. The temporary row originated in #26643.
Static transcript previews now mount their complete supplied snapshot, with the host theme and font applied before React renders. Previously the gallery painted an empty shell and delivered its already-known rows in a later task. Delayed-host, New Tab and mock-daemon scenes retain their asynchronous startup. This corrects the gallery mount path; it does not establish native cold-open performance.
Current head
877032d08e0d4cee4c3a10681dcfdafa4ffb0fc6merges basecd679bd6f02bd8984a855c1aefe5a8ecbc7a2d00. The sole conflict carries base'sconfigureMessageLineLookcall intoapplyPaneTheme, preserving message-row styling at initial mount and subsequent bridge updates. All other PR changes are retained. Independent Claude Opus 5.5 medium review passed at this exact head. The resolved theme configuration matches base's calls in order; the rest of the reviewed patch is unchanged. Host-safe lint and exact-range static checks passed. Focused fleet verification and the official webview verdict are pending.Prior integration head
1400922180b7adaca6a5ca09b481bf4148da3599passed independent Opus 5.5 medium review and focused fleet verification: 28 tests, 324 assertions, no skips, typecheck across 4,241 files, and scoped lint. Its three-round transcript metrics were Chromium 0.4 ms / WebKit 1 ms settle after paint, with CLS 0 in both. Those results are historical after this base merge.The three apparent gallery shift regressions at
071a377reproduce identically on its exact base when both use the same browser. Scoped attribution records completed renders, both matching named guard failures, and the experiment's final metadata failure; it is not a full-run pass. Browser setup is fixed separately by #33836.Prior head
7049de3f0b623fd40fbc4c023792481bc46e05b8had independent Claude Opus 5.5 medium SHIP. Paired first-mount verification at 7049de3f passed: 14 tests, 251 assertions, and typecheck across 4,212 files. Both baseline first-frame tests fail on the empty shell. The eight completed-turn/switch rows below were measured at1339cad9; the preview rows were measured at7049de3fbefore this base merge.Leo's request:
Performance
chat-switch-prefetch.test.tscode-block-highlight-height.test.ts, held workerLATENCY=150 bun bench/chat-switch.bench.ts 3 300Same-worker production-path pair at
1339cad9(historical, same seed/harness on cmux10s; HQ receipt):These are historical production-path latency measurements, not native frame-strip swap or CLS evidence. The warm frame strip did not capture the CEF transcript, so native 0/0 remains unclaimed.
The standard benchmark has short turns and does not reproduce the capped-turn defect; the dedicated regression above does. Numbers compare the same source and harness with only this production patch reversed/restored. These are completed-turn browser results, not a claim that every fresh native or offline remote chat is one-render. Syntax-color changes remain #33523; unfinished cached turns remain #33529. #33580 owns persisted remote opener metadata and its
peerCopy.tsadapter; this PR preserves #33155's peer-copy provenance and does not change storage.Earlier production-path validation at
1339cad9: 48 targeted tests passed (202 assertions), with six expected baseline regressions. Typecheck hit seven existing errors in the unchanged streaming-no-flicker test from #33526; the correction is already on base (#33545), and verification with only that unchanged base test corrected found no type errors in 4,161 files. Independent Claude Opus 5.5 medium review: SHIP at1339cad928dbefe2a0563fd6a68fe6de7dff562e. Host-safe web lint passed. The frame sampler records row text/rectangles, composer rectangle, width, scrollTop and scrollHeight through attach; its observer, frame callback and deadline are cleaned up. Production adds no timer or animation loop.Scenes:
agent-pane.transcript#conversation(static first mount); capped completed Codex turn intest/chat-switch-prefetch.test.ts;agent-pane.transcript#copy-last-code-block;test/browser/code-handoff-height.html. 2x light/dark scene captures were opened by the independent reviewer: readable cards without blank/clipped text; syntax colors are a later paint tracked separately. Reference: privatecodex/live/transcript-worked-for-collapsed-summary. Specs:leo-workspace/design/chat-transcript.mdanddesign/composer.md(routine state belongs in controls, not added narration rows).Risk: cached turn preparation and asynchronous code rendering. InitialChat is preview-only; production still calls mountAcpmux() without a seed. A future production initial-state caller must initialize the full receive/trust/harness/persistence path. The new first-frame tests use bounded frame samplers with cleanup and assert actual fixture text, row/line geometry, width and scroll across equal snapshot delivery. Send/auth behavior has explicit pending and settled regression coverage, including click, Enter, and the resend handle. One extra bounded opener read may run in background for a page that begins mid-turn; nothing new waits on the click.
Agent session: agent session
Webview health run 41667274334 finished its render steps. Two health shards reported only base-red attribution failures in
Judge the red states against the base; logs nameagent-pane.claude-desktop-tool-summary#failed-openandagent-pane.subagent-split-pair#defaultas red the same way on basecd679bd6f02b. No setup or render failure is attributed to this PR. The official webview verdict is complete; its only failures are the base-red states named above.