feat(uimode) uses relative paths to establish websocket connection (#29617)

This commit is contained in:
Lukas Bockstaller 2024-02-27 00:09:24 +01:00 committed by GitHub
parent 56028269bb
commit bd8d044433
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 3 additions and 1 deletions

View File

@ -20,7 +20,9 @@ const callbacks = new Map<number, { resolve: (arg: any) => void, reject: (arg: E
export async function connect(options: { onEvent: (method: string, params?: any) => void, onClose: () => void }): Promise<(method: string, params?: any) => Promise<any>> {
const guid = new URLSearchParams(window.location.search).get('ws');
const ws = new WebSocket(`${window.location.protocol === 'https:' ? 'wss' : 'ws'}://${window.location.hostname}:${window.location.port}/${guid}`);
const wsURL = new URL(`../${guid}`, window.location.toString());
wsURL.protocol = (window.location.protocol === 'https:' ? 'wss:' : 'ws:');
const ws = new WebSocket(wsURL);
await new Promise(f => ws.addEventListener('open', f));
ws.addEventListener('close', options.onClose);
ws.addEventListener('message', event => {