From f4971d276e5b613c2c4ad344518ff9f4aaf6db35 Mon Sep 17 00:00:00 2001 From: Khaliq Date: Tue, 7 Apr 2026 10:09:31 +0200 Subject: [PATCH 1/2] fix: pass broker API key to WebSocket connection The broker's /ws endpoint is behind the auth middleware, so the dashboard's hybrid WebSocket connection was getting rejected. Pass RELAY_BROKER_API_KEY as an x-api-key header when connecting. Co-Authored-By: Claude Opus 4.6 (1M context) --- packages/dashboard-server/src/proxy-server.ts | 2 +- packages/dashboard-server/src/websocket/standalone.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/dashboard-server/src/proxy-server.ts b/packages/dashboard-server/src/proxy-server.ts index 36ad5dc..cede5a6 100644 --- a/packages/dashboard-server/src/proxy-server.ts +++ b/packages/dashboard-server/src/proxy-server.ts @@ -518,7 +518,7 @@ export function createServer(options: DashboardServerOptions = {}): DashboardSer if (mode === 'mock') { handleMockWebSocket(ws, verbose); } else if (mode === 'proxy' && relayUrl) { - handleHybridWebSocket(ws, getRelaycastSnapshot, relayUrl, verbose); + handleHybridWebSocket(ws, getRelaycastSnapshot, relayUrl, verbose, brokerApiKey); } else { handleStandaloneWebSocket(ws, getRelaycastSnapshot, verbose); } diff --git a/packages/dashboard-server/src/websocket/standalone.ts b/packages/dashboard-server/src/websocket/standalone.ts index d4996b5..5288e8c 100644 --- a/packages/dashboard-server/src/websocket/standalone.ts +++ b/packages/dashboard-server/src/websocket/standalone.ts @@ -87,6 +87,7 @@ export function handleHybridWebSocket( getSnapshot: () => Promise, relayUrl: string, verbose: boolean, + brokerApiKey?: string, ): void { if (verbose) { console.log('[dashboard] Hybrid WebSocket client connected'); @@ -141,7 +142,7 @@ export function handleHybridWebSocket( console.log(`[dashboard] Connecting to broker WS: ${brokerWsUrl}`); } - const bws = new WebSocket(brokerWsUrl); + const bws = new WebSocket(brokerWsUrl, brokerApiKey ? { headers: { 'x-api-key': brokerApiKey } } : undefined); brokerWs = bws; bws.on('open', () => { From e149a13e6cbd6ff4c7a80d8d41a9529d5c7871ab Mon Sep 17 00:00:00 2001 From: Khaliq Date: Tue, 7 Apr 2026 10:12:02 +0200 Subject: [PATCH 2/2] work around for publish bug --- .github/workflows/publish.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 9f787a5..4b34fb9 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -84,7 +84,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: "22" + node-version: "22.14.0" cache: "npm" registry-url: "https://registry.npmjs.org" @@ -184,7 +184,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: "22" + node-version: "22.14.0" registry-url: "https://registry.npmjs.org" - name: Download build artifacts @@ -267,7 +267,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: "22" + node-version: "22.14.0" cache: "npm" - name: Download build artifacts