[codex] Fix composer arrows with mouse capture#1866
Conversation
There was a problem hiding this comment.
Code Review
This pull request standardizes the default behavior for composer arrow scrolling across all platforms by removing the Windows-specific logic that enabled it when mouse capture was active. The default_composer_arrows_scroll_for_platform function and associated tests have been updated to ensure arrow scrolling defaults to false when mouse capture is enabled, regardless of the operating system. I have no feedback to provide.
Hmbown
left a comment
There was a problem hiding this comment.
Thanks for this fix — the behavior change looks right for mouse-capture mode. The new test assertion will fail the workspace clippy gate (-D warnings) on clippy::bool_assert_comparison:
crates/tui/src/tui/ui/tests.rs:5732
Suggested one-line tweak:
assert!(
!app.composer_arrows_scroll,
"arrows-scroll should default to false when mouse capture is on"
);Local repro (from a worktree of this PR):
cargo clippy -p deepseek-tui --all-targets --all-features --locked -- -D warnings
Once that's applied, behavior tests, fmt, and clippy all pass locally. Happy to push the fix if it's easier.
|
Thanks for the Windows composer-arrow fix. I checked current main: default_composer_arrows_scroll_for_platform still returns is_windows || !use_mouse_capture, and issue #1720 remains open, so this is not already fully handled. I am not merging it into v0.8.42 because Windows input/mouse-capture defaults need a focused pass and current PR CI only shows GitGuardian. Keeping it open for a Windows input maintenance pass with current crate-name tests and, ideally, the matrix from #1720 rechecked against Windows Terminal/conhost/VS Code integrated terminal. |
|
Rechecked the Windows input matrix on the current PR branch ( Environment:
Local checks:
I also ran a small
Caveat: the wheel rows used synthesized Win32 wheel input, not a physical mouse wheel, so I would treat them as terminal event-routing evidence rather than a full manual UX pass. The #1720 behavior itself is covered by the unit tests above: on Windows, |
|
Thanks for the focused fix here. I harvested the same behavior into a fresh maintainer branch with current tests and CI as #2103, and credited this PR plus the Windows terminal matrix in the new PR body. The landed changelog-level behavior is: Windows Terminal / mouse-capture sessions now keep Up/Down history recall, while no-mouse-capture terminals keep the transcript-scroll fallback. |
Summary
Fixes #1720
Validation