Skip to content

fix(web): keep compaction status semantic row singular - #52

Merged
lyc-aon merged 4 commits into
mainfrom
fix/compaction-status-singleton
Jul 18, 2026
Merged

fix(web): keep compaction status semantic row singular#52
lyc-aon merged 4 commits into
mainfrom
fix/compaction-status-singleton

Conversation

@lyc-aon

@lyc-aon lyc-aon commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Problem

During TranscriptTimeline's cold-mount handoff, the hidden LegendList and the paint-only warm-tail overlay coexist. Both copies of a working row exposed data-transcript-status, so the compacting status intermittently appeared twice in the DOM. The real headed reproduction failed 8/10 first attempts with a two-element strict-mode violation.

Fix

Mark cold-mount overlay rows as paint-only ghosts. Working-row copy and pixels stay unchanged, but only the live transcript row carries the lifecycle status hook. The overlay was already aria-hidden; no locator, timing, CSS, or assertion was weakened.

Proof

  • focused web behavior test: 3/3 passed
  • headed Chromium on isolated Xvfb, retries disabled: 10/10 consecutive focused attempts passed
  • implementation-agent stress: an additional 20/20 consecutive focused attempts and full file 5/5 passed
  • pnpm --filter @t4-code/web typecheck: passed

This is release-critical because the prior headed release gate was genuinely flaky.

@lyc-aon
lyc-aon merged commit 9e8c82c into main Jul 18, 2026
4 checks passed
@lyc-aon
lyc-aon deleted the fix/compaction-status-singleton branch July 18, 2026 18:34
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.

1 participant