From 73f82934efcc4f62e864a4a562b41476ac19f12d Mon Sep 17 00:00:00 2001 From: Dimitris Marlagkoutsos Date: Thu, 26 Feb 2026 12:46:28 +0100 Subject: [PATCH] fix(ocap-kernel): allow plain ws:// connections for relay dialing The default libp2p WebSocket filter only permits wss:// (TLS) connections. Relays on private networks or behind a reverse proxy often expose plain ws:// endpoints. Use the "all" filter so both ws:// and wss:// multiaddrs are accepted. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../ocap-kernel/src/remotes/platform/connection-factory.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/ocap-kernel/src/remotes/platform/connection-factory.ts b/packages/ocap-kernel/src/remotes/platform/connection-factory.ts index eece4d3fb..49e842088 100644 --- a/packages/ocap-kernel/src/remotes/platform/connection-factory.ts +++ b/packages/ocap-kernel/src/remotes/platform/connection-factory.ts @@ -9,6 +9,7 @@ import type { PrivateKey, Libp2p } from '@libp2p/interface'; import { ping } from '@libp2p/ping'; import { webRTC } from '@libp2p/webrtc'; import { webSockets } from '@libp2p/websockets'; +import * as wsFilters from '@libp2p/websockets/filters'; import { webTransport } from '@libp2p/webtransport'; import { AbortError, isRetryableNetworkError } from '@metamask/kernel-errors'; import { fromHex, retryWithBackoff } from '@metamask/kernel-utils'; @@ -105,7 +106,7 @@ export class ConnectionFactory { appendAnnounce: ['/webrtc'], }, transports: [ - webSockets(), + webSockets({ filter: wsFilters.all }), webTransport(), webRTC({ rtcConfiguration: {