Repository navigation
Sonny: Home goes to the first turn, and Ctrl+F finds what pages let go hold - #364
Conversation
On the full screen, Home with an empty composer goes up to the conversation's first turn. On the way the pages over it are only read, 400 nodes at a time, for what their calls returned: they stand as blank rows as tall as the pages drawn so far suggest, and are drawn once the view nears them. The first page is drawn at once. A key or the wheel stops the way up. End goes back to the newest rows. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jkdGDkoLb9JSjmwGBPeUi
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0b79e0fc42
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…lace Stepping older or newer, the pages let go between the place found and the next one are drawn again first, the nearest first, each looked through once, so what they hold is found too. The find bar says it is looking further meanwhile, and Esc stops it. A page drawn again is not let go at once to make room. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jkdGDkoLb9JSjmwGBPeUi
Once the rows a long window wrote passed what is kept, the oldest went and the rows over them were no longer asked for, so Home stopped there. Now Home draws the conversation anew from its newest page and goes up from there. A repaint drawn from the newest page puts the welcome over it only once it is known to start the conversation, as attaching does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jkdGDkoLb9JSjmwGBPeUi
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 77d0fe7b5e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…e way up Stepping past the newest (or oldest) place now also looks through the pages let go on the far side, the way finding goes round in the rows drawn. A failed history read during the walk to the first turn stops the walk instead of asking again at once. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jkdGDkoLb9JSjmwGBPeUi
With no place found yet, the pages drawn on the way leave the position past the last place. Stepping then picks the nearest place to the view in the direction asked, and the pages still to draw are looked for from the view too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jkdGDkoLb9JSjmwGBPeUi
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b5ad3810d8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Typing or pasting into the find bar ends a step still looking for the last text. Nothing typed draws no pages. While a step is under way, the pages near the view wait, so the one just looked through is not let go before its place is shown. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jkdGDkoLb9JSjmwGBPeUi
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jkdGDkoLb9JSjmwGBPeUi
#364) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jkdGEPcebFosL2vrxNNYx
Requested by George · project thread
These are the last two steps of the "lay out only near the view" design (https://claude.ai/artifact/D2xq91EoAQbqbUmStaZo2L), built on #353.
Home goes to the first turn
unpaired).history_nodescall and cuts them into pages of 50. The daemon's lineage check costs time in proportion to how deepfromis, so asking for 50 at a time made the walk grow roughly with the square of the history.Ctrl+F finds what pages let go hold
Measured
On a 2,000-turn store at 200×50:
Searching the whole history costs about 80 ms per page, because each page is drawn exactly. A follow-up could check the raw items for the query before drawing a page, if 15 s turns out to matter. I left that out because rendering changes the text (markdown is stripped and labels are added), so a raw-text check could miss matches.
Starting from the top, I paged down slowly through all 2,000 turns, and they came in order with no gaps. After merging main (#326, #308, #310), I checked Home, End and Ctrl+F on the same store again.
Tests
a_page_only_read_gives_back_what_drawing_it_wouldpages_put_above_blank_wait_for_the_view_and_are_drawn_in_placefind_draws_the_pages_let_go_on_the_way_to_the_next_placefind_goes_round_through_the_pages_let_go_past_the_last_placefind_from_nothing_found_lands_on_the_nearest_place_that_waycargo test -p sonnypasses (429 tests).cargo clippy --all-targets -D warningsandcargo fmt --checkare clean.🤖 Generated with Claude Code
https://claude.ai/code/session_013jkdGDkoLb9JSjmwGBPeUi