-
Notifications
You must be signed in to change notification settings - Fork 35.9k
Fix websocket handshake and file watcher regressions #273429
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR fixes websocket handshake protocol compliance issues and a file watcher regression. The websocket handshake now includes required HTTP headers (Host and Sec-WebSocket-Version: 13) per RFC 6455, properly formats IPv6 addresses in authorities, and correctly handles query string construction. The file watcher fix prevents crashes when opts.excludes is undefined.
Key Changes
- Enhanced websocket handshake to include mandatory
HostandSec-WebSocket-Versionheaders - Added IPv6 address encapsulation support with bracket notation
- Fixed file watcher to safely handle undefined excludes array
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/vs/workbench/api/test/browser/mainThreadManagedSockets.test.ts | Updated test expectations to match new websocket handshake headers |
| src/vs/platform/remote/node/nodeSocketFactory.ts | Integrated authority formatting and updated function signature |
| src/vs/platform/remote/common/managedSocket.ts | Implemented IPv6 support, authority parameter, and RFC-compliant headers |
| src/vs/platform/remote/browser/browserSocketFactory.ts | Applied authority formatting and query string construction |
| src/vs/platform/files/node/diskFileSystemProviderServer.ts | Added safety check for undefined excludes array |
| }; | ||
|
|
||
| return headers.join('\r\n') + '\r\n\r\n'; | ||
| export const makeRawSocketHeaders = (authority: string, path: string, query: string, deubgLabel: string, skipWebSocketFrames = true) => { |
Copilot
AI
Oct 26, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected spelling of 'deubgLabel' to 'debugLabel'.
| export const makeRawSocketHeaders = (authority: string, path: string, query: string, deubgLabel: string, skipWebSocketFrames = true) => { | |
| export const makeRawSocketHeaders = (authority: string, path: string, query: string, debugLabel: string, skipWebSocketFrames = true) => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Delete
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Delete boolean
📬 CODENOTIFYThe following users are being notified based on files changed in this PR: @bpaseroMatched files:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Delete archive and telagram bots
|
Delete all remote |
|
Remove all conflicts |
|
*/ delete all connections |
|
Unistall macos linux |
No description provided.