Skip to content

fix(gateway): tolerate legacy paired device metadata in ws upgrade checks#21347

Closed
vincentkoc wants to merge 3 commits intomainfrom
vincentkoc-code/fix-issue-21236-legacy-paired-metadata
Closed

fix(gateway): tolerate legacy paired device metadata in ws upgrade checks#21347
vincentkoc wants to merge 3 commits intomainfrom
vincentkoc-code/fix-issue-21236-legacy-paired-metadata

Conversation

@vincentkoc
Copy link
Copy Markdown
Member

Summary

  • Fixes pairing regression introduced by stricter websocket handshake scope/role upgrades by tolerating pre-existing paired devices that were created without roles/scopes metadata.
  • For legacy paired metadata, skip manual repair pairing for role/scope checks and allow the existing pair to complete while updating metadata in place.
  • Add regression coverage for this scenario in auth E2E tests.

Problem

  • Recent WS handshake hardening required role/scope repair approval whenever a paired device record lacked role/scope metadata fields.
  • Older paired records can be missing these fields, causing existing clients to fail with pairing required until they are manually re-paired.

What changed

Changes

  • Add legacy metadata detection in src/gateway/server/ws-connection/message-handler.ts.
  • Gate role/scope upgrade pairing requirements behind presence of upgrade metadata (roles and scopes).
  • Add e2e test allows legacy paired devices without role/scope metadata in src/gateway/server.auth.e2e.test.ts.

Fixes

  • Restore backwards compatibility for already paired devices created before roles/scopes metadata was introduced.

Linked Issue

Human Verification

  • Not run.

@openclaw-barnacle openclaw-barnacle bot added gateway Gateway runtime size: S maintainer Maintainer-authored PR labels Feb 19, 2026
@BunsDev
Copy link
Copy Markdown
Member

BunsDev commented Feb 19, 2026

Superseded by #21447 which has been merged.

@BunsDev BunsDev closed this Feb 19, 2026
@shakkernerd shakkernerd deleted the vincentkoc-code/fix-issue-21236-legacy-paired-metadata branch February 24, 2026 23:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gateway Gateway runtime maintainer Maintainer-authored PR size: S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Gateway returns "pairing required" after update to 2026.2.19-2

2 participants