Warp
Warp copied to clipboard
Warp does not respect \u001B[?25l and \u001B[?25h like all major terminals do
Discord username (optional)
No response
Describe the bug
Hi Folks 👋
I initially provided this as feedback on #573 after it was incorrectly triaged as not being a bug simply because the OP had focused it on a particular framework.
My response was not acknowledged and the issue has nothing to do with a specific framework so it deserves to be represented by a more precise issue on this repo.
Warp should be respecting \u001B[?25l and \u001B[?25h to hide and show the cursor as all other major terminals do.
Many thanks!
To Reproduce
Here is a super simple non-framework specific repro using node:
hide-cursor-for-5.js
process.stdout.write("\u001B[?25l");
setTimeout(() => {
process.stderr.write("\u001B[?25h");
while (true) {} // just to simulate a long running process for demo purposes
}, 5000);
iTerm2 (cursor is both hidden and restored programmatically as expected)
https://user-images.githubusercontent.com/900523/177579542-fa239cb0-45e8-42af-8d44-f26b9dbcb0b2.mov
Warp (cursor is never hidden)
https://user-images.githubusercontent.com/900523/177580029-0478f133-6fa9-4a96-a7ca-7a2c30275048.mov
Expected behaviour
Warp should be respecting \u001B[?25l and \u001B[?25h to hide and show the cursor as all other major terminals do.
Screenshots
No response
Operating System
No response
OS Version
All
Shell Version
All
Warp Version
All
Additional context
No response
Does this block you from using Warp daily?
Yes
Warp Internal (ignore): linear-label:b8107fdf-ba31-488d-b103-d271c89cac3e
No response
Thanks for following up and creating a super concise example.
I was going to open an issue with a similar situation. After running a command, the first printed line gets partially hidden, and it only gets corrected after the 2nd line is printed:
https://user-images.githubusercontent.com/22917135/199523588-577945a8-a9b2-4115-81cf-b274acb0607f.mp4
It gets worse the larger your font is, so I used 24px in the video as an example.
Would you consider this to be the same issue (or at least same solution)? Or should I open a new one for that?