Local-mode WebSocket protocol has no version field
Severity: Low
Affected repos:middleware-node, middleware-python, extension
Component boundary: middleware → extension local WS (blocked on critical/01)
Symptom
WindowSummary frames sent over the local WebSocket have no protocol version field. When the extension's WS server is eventually built (critical/01), there will be no way to negotiate compatibility between an older extension and a newer SDK or vice versa. Adding a field means breaking every old client; removing one means breaking the new server.
Impact
- Future-proofing gap. Surfaces the moment the protocol needs to evolve.
Fix recommendation
Before any of the local-mode wire format is shipped to users, add a top-level protocolVersion: "1.0" field. Server rejects frames with an unknown major version. Minor version bumps are forward-compatible (additive fields).
Verification
- Send a frame with
protocolVersion: "2.0"; server returns an error frame and closes. - Send a frame with
protocolVersion: "1.1" to a 1.0-compliant server; server accepts and ignores unknown fields.
Related
Depends on the local WebSocket server being implemented — recost-dev/extension#91.
The corresponding Node-side issue is recost-dev/middleware-node (filed under critical/01-related tracking).
Local-mode WebSocket protocol has no version field
Severity: Low
Affected repos:
middleware-node,middleware-python,extensionComponent boundary: middleware → extension local WS (blocked on
critical/01)Symptom
WindowSummaryframes sent over the local WebSocket have no protocol version field. When the extension's WS server is eventually built (critical/01), there will be no way to negotiate compatibility between an older extension and a newer SDK or vice versa. Adding a field means breaking every old client; removing one means breaking the new server.Impact
Fix recommendation
Before any of the local-mode wire format is shipped to users, add a top-level
protocolVersion: "1.0"field. Server rejects frames with an unknown major version. Minor version bumps are forward-compatible (additive fields).Verification
protocolVersion: "2.0"; server returns an error frame and closes.protocolVersion: "1.1"to a 1.0-compliant server; server accepts and ignores unknown fields.Related
Depends on the local WebSocket server being implemented — recost-dev/extension#91.
The corresponding Node-side issue is recost-dev/middleware-node (filed under critical/01-related tracking).