Skip to content

feat(browse): walk content cursor across dialogues - #213

Draft
Ariestar wants to merge 1 commit into
fix/workset-anchor-leaksfrom
feat/content-cursor-crosses-dialogues
Draft

feat(browse): walk content cursor across dialogues#213
Ariestar wants to merge 1 commit into
fix/workset-anchor-leaksfrom
feat/content-cursor-crosses-dialogues

Conversation

@Ariestar

Copy link
Copy Markdown
Owner

j/k off either end of the shown dialogue's blocks now steps the dialogue
list instead of clamping, so one walk covers every dialogue the list
holds — across every marked session. Crossing is two-phase: the key
handler records a direction, and the redraw lands the cursor on the end
of the frame it arrived at, since the next dialogue's blocks only exist
once its frame is built.

The content pane now always shows the dialogue under the dialogue cursor,
which deletes multi-select paging outright: shown_dialogue_idx, the J/K
actions and help entries, content_page and its · 2/3 label, and the
markable_key / marks_key redraw guards. Block marks keep their real
invariant instead — a mark is meaningful exactly while its dialogue still
has a materialized body — as ContentPane::retain_marks beside the
projection that decides it.


Stack created with GitHub Stacks CLIGive Feedback 💬

j/k off either end of the shown dialogue's blocks now steps the dialogue
list instead of clamping, so one walk covers every dialogue the list
holds — across every marked session. Crossing is two-phase: the key
handler records a direction, and the redraw lands the cursor on the end
of the frame it arrived at, since the next dialogue's blocks only exist
once its frame is built.

The content pane now always shows the dialogue under the dialogue cursor,
which deletes multi-select paging outright: shown_dialogue_idx, the J/K
actions and help entries, content_page and its `· 2/3` label, and the
markable_key / marks_key redraw guards. Block marks keep their real
invariant instead — a mark is meaningful exactly while its dialogue still
has a materialized body — as ContentPane::retain_marks beside the
projection that decides it.
@coderabbitai

coderabbitai Bot commented Aug 26, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Ariestar Ariestar changed the title feat(browse): walk the content cursor across dialogues feat(browse): walk content cursor across dialogues Aug 26, 2026
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying sivtr with  Cloudflare Pages  Cloudflare Pages

Latest commit: 3d0799a
Status: ✅  Deploy successful!
Preview URL: https://992d81cb.sivtr.pages.dev
Branch Preview URL: https://feat-content-cursor-crosses.sivtr.pages.dev

View logs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant