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
Fix unresponsive terminal in Connect on Windows Server 2019 #22971
Conversation
VSCode uses another check to determine whether to enable ConPTY and they match on build 18309. My Windows Server 2019 instance has build number 17763. I haven't tested that in Connect but I doubt this check would help much because the problem we have is with the new node-pty beta with ConPTY enabled on a recent Windows 11 version which build number is well after 18309. |
Oh, and also I tested that update on Ubuntu and the terminal appears to be working just fine. |
ed4b8af
to
89d3b4f
Compare
Just rebased it on top of master instead of |
@ravicious See the table below for backport results.
|
Closes #22845.
Updating node-pty alone fixes the aforementioned issue. However, when running on Windows 11 with ConPTY enabled, node-pty would throw an uncaught exception when closing the shell by closing the tab (
EPIPE
, exactly the same as microsoft/node-pty#512). On top of that, closing the shell by executingexit
would cause another uncaught exception,AttachConsole failed
.AttachConsole failed stack trace
Those issues are not present on Windows Server 2019 running the same version of Connect with just node-pty updated (v11.3.8-dev.ravicious.2). Both problems are also not present on Windows 11 if ConPTY is not used.
node-pty uses ConPTY by default where available (as far as I know, this means both Windows 11 and Windows Server 2019).
The unfortunate downside of turning off ConPTY is that the winpty solution is worse at handling the terminal being resized. I think our best bet here is waiting for updates to ConPTY and node-pty and re-enable ConPTY in the future.
Backporting to v11 and v12 only because v10 uses an older Electron version and I didn't check if that version node-pty is compatible with it. We should aim to update the Electron version across all supported versions in the future.