Read on in a thread from where reading is, not from its root #255
No reviewers
Labels
No labels
area/ci
area/desktop
area/packaging
area/protocol
area/reading
area/ui
area/web
area/writing
kind/bug
kind/feature
kind/infra
kind/request
needs/user
parked
perf
security
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
littlefox/neokom!255
Loading…
Reference in a new issue
No description provided.
Delete branch "issue-251-thread-walk"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #251
Closes #259
In threads mode, every step listed the whole thread from its root (one
get-text-statper round trip, up to 2 000) and then looked for the first unread text. NowReadState::thread_atremembers the text last read; the next unread is looked for after it (below, next siblings, ancestors' next siblings), and only if nothing is unread there, from the root. Both stop at the first unread text, and a post's replies are fetched together.thread_rootno longer stops 64 steps up.Measured with
tools/perf.sh(#225, merged in here for that), 300 steps along the 1 500-long chain, 30 ms each way:Also #259: commands.spec's skip-tree test turns read-by-seen off (a slow runner read the comment by seeing it before the skip).
Verified: new devserver test
long_chain_reading(121-text chain, at most 12 calls a step; the old code took 126 in one step, checked); all 15 devserver tests incl.thread_reading,reading_order,related_firstand the mute tests pass; full e2e suite on three profiles 326 passed, 1 flaky (mute.spec on iPhone, a lost click, noted on #229); lint.🤖 Generated with Claude Code
https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8