Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: may fail to ignore escape sequences for kitty progressive enhancements #4338

Open
krobelus opened this issue Jan 3, 2025 · 0 comments

Comments

@krobelus
Copy link

krobelus commented Jan 3, 2025

Problem description

termux seems to fail to parse certain CSI escape sequences, and ends up echoing them.
This is unfortunate because it prevents programs like text editors and shells from using the kitty keyboard protocol

This was originally reported in the fish-shell matrix channel
I have not had a chance to reproduce this but it should be easy to do so.

Steps to reproduce the behavior.

printf '\x1b[=5u

This supposedly echoes 5u

What is the expected behavior?

Nothing should be echoed, since the string is a CSI-prefixed escape sequence

System information

not sure

krobelus added a commit to fish-shell/fish-shell that referenced this issue Jan 3, 2025
We unconditionally request kitty keyboard protocol's progressive
enhancements.

It seems that a lot of terminals fail to parse CSI commands that
contain '=' such as \x1b[=5u.

1. [Midnight Commander](MidnightCommander/mc@0ea77d2)
2. Prompt 3 App (private bug tracker)
3. JetBrains IDEs https://youtrack.jetbrains.com/issue/IJPL-166234
4. Termux termux/termux-app#4338
5. Amazon Linux Web Console amazonlinux/amazon-linux-2023#871

It is difficult to fix the four remaining ones in a
timely manner, so let's query for support as described in
https://sw.kovidgoyal.net/kitty/keyboard-protocol/#detection-of-support-for-this-protocol
This uses CSI 5 n (device status report), which is the older brother
of CSI 6 n (cursor position report) we use as of recently.

Query asynchronously and enable progressive enhancements as soon
as we get a response. In theory this allow `cat malicious-file.txt`
leading us to believe the protocol is supported.

See #10994
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant