mirror of
https://github.com/zellij-org/zellij.git
synced 2026-10-11 22:50:07 +00:00
* fix: kitty keyboard cleanup on error path + 2026 DECRPM state 3 handling
lib.rs: handle_error now exits kitty keyboard protocol (ESC[<1u) before
printing the backtrace, matching the normal exit path. Previously the
kitty keyboard mode was left active on crash, corrupting subsequent
terminal input.
stdin_ansi_parser.rs: synchronized_output_from_bytes now treats DECRPM
state 3 (permanently set) as enabled, matching states 1 and 2. State 3
is a valid "supported and on" response that was previously falling through
to None (treated as unsupported).
* docs: update changelog
* refactor(client): unify terminal teardown/setup sequences
- Extract named constants for all terminal escape sequences
- Add terminal_teardown_message() helper used by all three exit paths,
fixing several pre-existing inconsistencies in the process:
- handle_error was missing RESET_STYLE and SHOW_CURSOR
- remote client had kitty keyboard exit after EXIT_ALTERNATE_SCREEN
instead of before
- goodbye path had goto positioned in the alt screen before exit
- RESET_STYLE/SHOW_CURSOR are now sent after EXIT_ALTERNATE_SCREEN
so they take effect in the normal screen
- Replace write() with write_all() throughout; drop redundant let _ =
on unwrap() calls
* docs: update changelog