RIS leaves focus reporting on and an open synchronized update open, so `wait_stable` can never succeed
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 82/100
Direzione di ricerca
Inizia in emu/seq.rs, nel ramo RIS intorno alla riga 1680, e confronta il suo comportamento di ripristino con quello di soft_reset() intorno alla riga 954. Aggiorna il ripristino RIS in modo che cancelli le modalità segnalate e qualsiasi frame raccolto solo parzialmente. Esegui la riproduzione dell’issue; il lavoro è terminato quando wait_stable riesce, focus_in non invia nulla e DECRQM segnala che entrambe le modalità sono state ripristinate.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What happens. After ESC c, focus reporting (mode 1004) is still on, and an unfinished DEC 2026 synchronized update is still open:
// 20x4
printf '\033[?1004h\033[?2026hhalf\033cREADY'
focus_events()istrueafter the RIS, sofocus_in()sends^[[I, which the tty echoes onto the screen.wait_stabletimes out with "the application is inside an unfinished DEC 2026 synchronized update (Begin with no End)".- DECRQM answers
Setfor both 1004 and 2026.
Cause. The RIS arm in emu/seq.rs:1680 resets the cursor style, charsets, mouse tracking, IRM, tabs, links and any kitty upload. It does not reset focus_events or sync_update. soft_reset() (:954) does clear focus_events.
Why it matters. RIS is the "start over" sequence. A program that resets after a crash or a mode switch leaves every later stability wait doomed.
Fix. In the RIS arm, set focus_events = false and sync_update = false. Drop any half-collected frame as well.
Done when the repro's wait_stable succeeds, focus_in sends nothing, and DECRQM reports both modes reset.
- Lingua principale
- Rust
- Stelle
- 28
- Fork
- 24
- Merge medio
- 11h 23m
- PR unite (30g)
- 42
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di vyncint/termlens
-
documentation good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
documentation good first issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 95/100
I maintainer di solito rispondono entro 1 giorno
-
Release notes show a broken link: `extract-changelog.sh` copies a reference but not its definitionApertabug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di vyncint/termlens
Issue simili
-
bug priority: low ui
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
storytold/photocraft#10370 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
area:doc bug in progress needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
bherbruck/solvecraft#9634 · 2 commenti · 1 reazione ·
-
inflate: total_in uses plain += on c_ulong (32-bit on Windows), panics in debug for streams > 4 GiBAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
trifectatechfoundation/zlib-rs#570 · 1 commento ·
-
bug discord-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
LanternOps/breeze#10755 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
aranya-project/aranya#803 ·