Terminal replies that arrive after the 250 ms probe are read as keystrokes
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 65/100
Research direction
Start with term::probe in src/term.rs:87-104 and its deadline in src/main.rs:78; trace how terminal replies are read before the event loop starts. Then inspect key handling in src/app.rs:391-450. Done when late terminal replies no longer trigger input actions and Alt-modified keys are ignored; the issue does not name specific tests.
Written by the indexing model from the issue text.
Description
Today — term::probe stops reading at its 250 ms deadline (src/main.rs:78, src/term.rs:87-104). On a slow link (ssh with high latency), the answers arrive afterwards and crossterm parses them as input:
ESC ]becomes Alt+], which is "next year", becauseon_key_normalignores modifiers (src/app.rs:391-450).rgb:0d0d/…containsr(reload) anddtwice (cell style).
Reproduced with termlens by sending a dark kitty terminal's ordinary answers after the first frame: the chart switched from "auto: rounded cells" to "snug cells". That run also got no pixels and assumed a dark theme. term.rs promises "A terminal that never answers costs the timeout and nothing else".
Fix
- After the deadline, keep draining until the DA1 sentinel or a second bounded window, before the event loop starts.
- Ignore key events that carry Alt.
- Consider a longer timeout, since DA1 ends the read early anyway.
- Dominant language
- Rust
- Stars
- 2
- Forks
- 1
- Avg merge
- 17h 38m
- Merged PRs (30d)
- 8
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from vyncint/mossaic
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
Maintainers usually reply within 1 day
-
enhancement good first issue help wanted
Difficulty 1/5 1-3 hours Newbie friendliness 85/100
vyncint/mossaic#57 · 1 comment ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 56/100
Maintainers usually reply within 1 day
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 75/100
Maintainers usually reply within 1 day
Similar issues
-
good first issue help wanted r-docs
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
servo/rust-smallvec#824 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
Maintainers usually reply within 1 day
-
priority middle
Difficulty 1/5 Under an hour Newbie friendliness 62/100
KATO-Hiro/AtCoderClans#12940 ·
Maintainers usually reply within 1 day
-
o8 next debug build aborts on Glass to Dark appearance switch (nil identifier messaged before check)Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
hurttlocker/o8#5112 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 79/100
Maintainers usually reply within 1 day