Repository navigation
fix(paths): a tab showing many folders no longer repaints forever (core 0.40.9) - #230
Merged
Merged
Conversation
…re 0.40.9) Owner, 2026-10-16: "All my Claude tabs have become completely unresponsive ... I can't type and I can't scroll". MEASURED on the Stable copy: the page process at 9.7 GB, then 15.9 GB twenty minutes later, growing 2.5 MB/s on about 1.5 cores of CPU with nobody using it; main, the shells and the Claude processes healthy, 22 GB of RAM free. Cause, from #221 (core 0.40.3): a full path on screen teaches the tab its folder, the newest four are kept, and teaching a folder not among the four woke the tab to paint again. A tab showing five or more folders pushed one out on every paint, so each repaint taught an evicted folder again and woke the tab: an endless paint loop (2,496 repaints in five seconds in the unit test). Each folder now wakes its tab once in the tab's life (`taught`, capped at 256). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017XYVRPzvhLpPCr75uB6uaA
github-actions Bot
pushed a commit
that referenced
this pull request
Oct 16, 2026
…re 0.40.9) (#230) Owner, 2026-10-16: "All my Claude tabs have become completely unresponsive ... I can't type and I can't scroll". MEASURED on the Stable copy: the page process at 9.7 GB, then 15.9 GB twenty minutes later, growing 2.5 MB/s on about 1.5 cores of CPU with nobody using it; main, the shells and the Claude processes healthy, 22 GB of RAM free. Cause, from #221 (core 0.40.3): a full path on screen teaches the tab its folder, the newest four are kept, and teaching a folder not among the four woke the tab to paint again. A tab showing five or more folders pushed one out on every paint, so each repaint taught an evicted folder again and woke the tab: an endless paint loop (2,496 repaints in five seconds in the unit test). Each folder now wakes its tab once in the tab's life (`taught`, capped at 256). Claude-Session: https://claude.ai/code/session_017XYVRPzvhLpPCr75uB6uaA Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Owner, 2026-10-16: "All my Claude tabs have become completely unresponsive ... I can't type and I can't scroll ... It's clearly a bug somewhere".
Measured on the Stable copy (0.52.1): the page process at 9.7 GB, then 15.9 GB twenty minutes later, growing about 2.5 MB/s and burning about 1.5 cores with nobody using it. Main, the shells and all 8 Claude processes were healthy; 22 GB of RAM free.
Cause (mine, from #221, core 0.40.3): a full path on screen teaches the tab its folder; the newest four are kept; teaching a folder that was not among the four woke the tab to paint again. A tab showing five or more folders pushed one out on every paint, so every repaint re-taught an evicted folder and woke the tab again: an endless paint loop. A unit test reproduces it: 2,496 repaints in five seconds from one tab with five folders, never settling.
Fix: each folder wakes its tab once in the tab's life (
taught, capped at 256), however often it is pushed out and taught again.Tests: a regression test (nine folders: the tab settles, at most one wake per folder) that fails on the old code and passes now; unit 2149 pass; e2e
pathLinks11/11.Core 0.40.8 -> 0.40.9 (Prism has the same bug until it takes this core; told the Prism session), app 0.53.0 -> 0.53.1. The Stable copy needs the update and a restart to drop the loop it is in.
🤖 Generated with Claude Code
https://claude.ai/code/session_017XYVRPzvhLpPCr75uB6uaA