-
Notifications
You must be signed in to change notification settings - Fork 3
Reading older TUI chat stays responsive as the transcript grows #3309
Copy link
Copy link
Closed
Labels
area: go-tuiGo TUI frontendGo TUI frontendarea: performancePerformance optimizations and concurrency improvementsPerformance optimizations and concurrency improvementsbugSomething isn't workingSomething isn't workingpriority: highImportant for usabilityImportant for usabilityseverity: highWrong-target changes, lost input, unusable recovery, or substantial interaction degradationWrong-target changes, lost input, unusable recovery, or substantial interaction degradation
Description
Activity
Metadata
Metadata
Assignees
Labels
area: go-tuiGo TUI frontendGo TUI frontendarea: performancePerformance optimizations and concurrency improvementsPerformance optimizations and concurrency improvementsbugSomething isn't workingSomething isn't workingpriority: highImportant for usabilityImportant for usabilityseverity: highWrong-target changes, lost input, unusable recovery, or substantial interaction degradationWrong-target changes, lost input, unusable recovery, or substantial interaction degradation
Type: Bug
Severity: High. Warm updates while reading older chat scale with the complete transcript. A local production-path benchmark took about 91 ms at 1,000 messages and 906 ms at 10,000, even when the frame changed no transcript content.
What
The TUI lays out and styles every retained chat message on each update while the reader is scrolled away from the bottom. Reading older messages makes unrelated updates and input increasingly expensive as the conversation grows.
Why
Local transcript retention should let the reader navigate without waiting for Elixir. Rebuilding the complete transcript on the UI loop defeats that benefit and causes large allocation spikes.
Acceptance Criteria