default pager repeats inputs on windows
Zoybean opened this issue · 2 comments
Description
inputs are duplicated in default pager
cannot select text in default pager
Steps to Reproduce the Problem
- Open windows terminal
- navigate to a jj repo
jj log
- press
/
and start typing (e.g. "cat") - click and drag mouse to select text
Expected Behavior
pager searches for the entered term (e.g. "cat")
terminal selects the moused-over text
Actual Behavior
pager has duplicated every keypress, so it is searching for e.g. "/ccatat" instead of "cat"
cannot select text, and screen appears to refresh every time the mouse moves (flicker no longer happens in 0.16)
Specifications
- Platform: Windows 10
- Version: jj 0.16.0 (originally jj 0.15.1-bf76080f42f77cad934d9a5202c7b7d29ab2c890)
This actually goes a few layers down into dependencies. 😅 minus
updated its crossterm
dependency in AMythicDev/minus@39224c3, which started reporting key repeats and releases (distinguished by the KeyEvent::kind
field) when the KeyboardEnhancementFlags::REPORT_EVENT_TYPES
feature was set. minus
didn't migrate code to distinguish these events, so it ends up duplicating input when the feature is set. crossterm
always1 sets this feature on Windows, so this bubbled up to jj
.
I've filed an issue and PR pair in minus
upstream to handle this bug:
Footnotes
-
This is slated to change to be opt-in with https://github.com/crossterm-rs/crossterm/pull/778. ↩
Update: minus
upstream has merged AMythicDev/minus#141, and is awaiting release.