Skip to content

Local-mode WebSocket protocol has no version field #23

Description

@AndresL230

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).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions