Repository navigation
plat 527
github-actions[bot] edited this page Oct 6, 2026
·
1 revision
| Field | Value |
|---|---|
| State | open |
| Priority | P2 |
| Product | app |
| Area | chat |
| Summary | open: cause not found, three suspects, needs a reproduction. |
| Coordination | Value |
|---|---|
| State | open: cause not confirmed; owner chose to keep it open (2026-10-05) |
| Priority | P2 |
| Date | 2026-10-05 |
| Owner | frontend-chat |
Owner, local app: "the chat flickers a lot", then "scroll filter is there even now", then "it starts after we switch between workflows". Fine before any switch.
- Workflow to Crew unmounts the old chat (
App.tsx:933-985); switching between workflows keeps oneChatAreamounted and only thetabIdchanges (WorkflowLayout.tsx:2470). - No leaking scroll observers, listeners or intervals found (
useTranscriptScroll.ts,ChatArea.tsx,WorkflowLayout.tsx). - The outer chat scroller steps aside while the transcript shows (
ChatArea.tsx:3565), so two scrollers do not fight over one container. - Server log: one chat re-subscribed to its event stream several times within seconds around the switches (18:55 to 18:58); no errors.
- The follow-the-bottom logic fights Virtuoso after the list rebuilds with unmeasured rows (
useTranscriptScroll.ts:174-191, 214-215, 324-337;TerminalEventTranscript.tsx:1044). A code comment already says it "can fight itself". - Older history pages cached per chat (commit
89e1040fa, 2026-10-05) are joined to live events without de-duplicating by event id (ChatArea.tsx:876-880); an overlap would give duplicate row keys and re-measuring. Only if earlier pages were loaded. Overlap not shown. - The
manualflag stays set after a wheel gesture, so a layout-driven scroll counts as the reader scrolling up and later height changes shift the view (useTranscriptScroll.ts:270-312, 331-334).
- Reproduce and say which suspect: a short screen recording, whether it needs scrolling up or "Load earlier" first, or a temporary log of
move/scrollToIndexcalls after a switch. - Then fix the confirmed one only; do not ship a guess into the recently reworked scroll code.
PLAT-527, open: cause not found, three suspects, needs a reproduction.
Auto-synced from docs/ on main. Edit there, not here.