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

Make windows terminal keep up with real time #11905

Merged
merged 13 commits into from
Jun 3, 2022

Conversation

Joerger
Copy link
Contributor

@Joerger Joerger commented Apr 12, 2022

This PR improves the speed of the windows terminal stdin. This was done by replacing the subscription based sequence event channel with a very efficient buffered channel pipe which pipes directly into stdin. Anything less efficient (io.Pipe, unbuffered channel) will not transmit VT sequence keystrokes quickly enough for Windows to group them as VT sequence.

Note: Tested with a 4gb memory Windows virtual box.

Fixes #11340

@Joerger Joerger requested a review from timothyb89 April 12, 2022 23:49
Joerger added 2 commits May 19, 2022 17:40
…oser to real-time. The speed increase makes it so that VT sequences are captured properly by windows.
@Joerger Joerger force-pushed the joerger/ansi-escape-windows-fix branch from eed7521 to b34207b Compare May 20, 2022 18:48
@Joerger Joerger marked this pull request as ready for review May 20, 2022 18:52
@Joerger Joerger requested a review from timothyb89 May 20, 2022 18:52
@github-actions github-actions bot requested review from atburke and rosstimothy May 20, 2022 18:52
lib/client/tncon/buffer.go Outdated Show resolved Hide resolved
lib/client/tncon/buffer_test.go Outdated Show resolved Hide resolved
lib/client/tncon/buffer_test.go Outdated Show resolved Hide resolved
lib/client/tncon/buffer_test.go Outdated Show resolved Hide resolved
lib/client/tncon/buffer_test.go Show resolved Hide resolved
lib/client/tncon/tncon.go Outdated Show resolved Hide resolved
lib/client/tncon/tncon.go Outdated Show resolved Hide resolved
@Joerger Joerger requested a review from rosstimothy May 24, 2022 00:55
@Joerger Joerger force-pushed the joerger/ansi-escape-windows-fix branch from 57fed3b to c9c6d94 Compare May 24, 2022 00:59
@Joerger Joerger requested a review from rosstimothy May 24, 2022 17:18
…ional/teleport into joerger/ansi-escape-windows-fix
@Joerger Joerger force-pushed the joerger/ansi-escape-windows-fix branch from 996ca3d to 0e1e87d Compare May 24, 2022 20:49
@Joerger Joerger force-pushed the joerger/ansi-escape-windows-fix branch from 0e1e87d to ed714d8 Compare May 24, 2022 20:50
@Joerger Joerger requested a review from rosstimothy May 24, 2022 20:54
@Joerger
Copy link
Contributor Author

Joerger commented Jun 3, 2022

@timothyb89 Can you do a quick re-review when you get a chance?

@Joerger Joerger enabled auto-merge (squash) June 3, 2022 19:16
@Joerger Joerger merged commit f23a29f into master Jun 3, 2022
@Joerger Joerger deleted the joerger/ansi-escape-windows-fix branch June 3, 2022 21:47
Joerger added a commit that referenced this pull request Jun 6, 2022
Use a buffered channel pipe to increase the speed of windows stdin closer to real-time. The speed increase makes it so that VT sequences are captured properly by windows.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ANSI escape sequences broken when using tsh for windows
3 participants