From 69e264d86da364f628b6e98bf0b77edf3550fb26 Mon Sep 17 00:00:00 2001 From: Robert Gruen Date: Tue, 19 Nov 2024 18:28:29 -0800 Subject: [PATCH] updated WS protocol to match host document protocol --- ts/packages/shell/src/renderer/src/main.ts | 4 +--- ts/packages/shell/src/renderer/src/webSocketAPI.ts | 10 +++++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/ts/packages/shell/src/renderer/src/main.ts b/ts/packages/shell/src/renderer/src/main.ts index 076dbc45a..d1ef86bca 100644 --- a/ts/packages/shell/src/renderer/src/main.ts +++ b/ts/packages/shell/src/renderer/src/main.ts @@ -29,9 +29,7 @@ export function getWebSocketAPI(): ClientAPI { if (globalThis.webApi === undefined) { globalThis.webApi = webapi; - // TODO: update ws URI - let url = window.location; - createWebSocket(`ws://${url.hostname}:3000`, true).then( + createWebSocket(true).then( (ws) => (globalThis.ws = ws), ); } diff --git a/ts/packages/shell/src/renderer/src/webSocketAPI.ts b/ts/packages/shell/src/renderer/src/webSocketAPI.ts index 0bb8ad887..cbb38701d 100644 --- a/ts/packages/shell/src/renderer/src/webSocketAPI.ts +++ b/ts/packages/shell/src/renderer/src/webSocketAPI.ts @@ -230,9 +230,14 @@ function placeHolder(category: string, callback: any) { } export async function createWebSocket( - endpoint: string = "ws://localhost:8080", autoReconnect: boolean = true, ) { + let url = window.location; + let protocol = url.protocol.toLowerCase() == "https" ? "wss" : "ws"; + let port = url.hostname.toLocaleLowerCase() == "localhost" ? ":3000" : ""; + + const endpoint = `${protocol}://${url.hostname}${port}` + return new Promise((resolve) => { console.log(`opening web socket to ${endpoint} `); const webSocket = new WebSocket(endpoint); @@ -347,8 +352,7 @@ export async function createWebSocket( // reconnect? if (autoReconnect) { - let url = window.location; - createWebSocket(`ws://${url.hostname}:3000`, true).then( + createWebSocket().then( (ws) => (globalThis.ws = ws), ); }