dogfood v2.2.12: port of #29609, a scroll region scroll breaks the soft wrap across its edges (E2)
Merged
LA
5d ago+67+67+01234567890123456789-6-6-0123456789
Summary
- Port of #29609 (feat squash b2ec1ee1b6d) to the dogfood line, by cherry-pick. No force push.
- This line pins ghostty-next
ef6ce279a(9ce9b7d08 plus "fitGrid returns null when no whole cell fits after padding"). A plain pin to feat's8444cc1ebwould drop that commit. So the pin is fork branchrelease/cmux-ef6ce279-e2=ef6ce279aplus only the commits of feat's9ce9b7d08..8444cc1eb.git diff 8444cc1eb 3a82309b9shows only src/Surface.zig, which is this line's own commit. - GhosttyNextKit
xcframework-3a82309b9309ce9a0dde48fa63e85869c7aa2657-apple-v6(sha256340e4bee...4eb5, release run 41250275372). The patch unit tests in that run include the new Zig tests.
Testing
- Red on this line: journey
r3-e2-reattach(kit c370e63cead) failed in 3 of 3 valid rounds on dogfood build 4b3bd8a20dc17d9054221533 (cmux21 22:00Z, 22:02Z, 22:04Z) at the replay compare. - Green: the journey on a build of this head. Results are in a comment below.
Observed / Not run
- Observed: the red rounds above and the fork release run.
- Not run yet: the journey on this head's build, and the Rust replay test on this head.
Changelog
- Fixed: a terminal row under a scroll region no longer moves to the right after cmux reattaches to its session.
![View with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3-3x.png)
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Ports the scroll region wrap fix (#29609) to the dogfood v2.2.12 line. Previously, scrolling inside a DECSTBM region broke the soft wrap across the region edge, and the attach replay drew the row under the region 43 or 163 columns to the right; now the wrap and wrap_continuation flags are cleared on both sides of a full-width region scroll, and the unwrap formatter no longer carries trailing blank cells into a wrap_continuation row after a line break. The row under the region stays in its column when cmux reattaches to its session.
Notes
- Pins ghostty-next to fork branch
release/cmux-ef6ce279-e2(the prior pin plus only the feat's commits), keeping thefitGridnull fix; notices anddocs/ghostty-fork.mdare updated. - The new Rust test
vt_replay_keeps_a_stale_wrap_continuation_row_in_its_columnreproduces the bug: it failed on the old kit (3 of 3 journey rounds) and passes at this head.