Skip to content

Prevent bounds crashes when navigating unprepared wrapped lines - #459

Merged
simonbs merged 1 commit into
mainfrom
codex/fix-unprepared-line-navigation
Oct 26, 2026
Merged

simonbs merged 1 commit into
mainfrom
codex/fix-unprepared-line-navigation

Conversation

@simonbs

@simonbs simonbs commented Oct 26, 2026

Copy link
Copy Markdown
Owner

Vertical cursor movement could query fragments beyond the portion of a long line prepared by viewport layout, triggering a RedBlackTree bounds assertion. Navigation now prepares the source and destination fragments before accessing them, including adjacent offscreen lines. Downward movement prepares only the requested fragments so a single Down key does not lay out an entire long line.

Validation: reproduced the crash before the fix (10000 out of bounds, valid range 0–84); 32 focused simulator tests pass, including four new regressions for partial layout, adjacent lines, and bounded layout work. Targeted SwiftLint and git diff --check pass.

Related to #411. The reproduced trigger is vertical navigation; the original rapid-typing sequence was not independently reproduced.

@simonbs
simonbs merged commit e57b76d into main Oct 26, 2026
9 checks passed
@simonbs
simonbs deleted the codex/fix-unprepared-line-navigation branch October 26, 2026 07:15
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