diff options
author | Nate Sesti <sestinj@gmail.com> | 2023-07-28 00:18:49 -0700 |
---|---|---|
committer | Nate Sesti <sestinj@gmail.com> | 2023-07-28 00:18:49 -0700 |
commit | 9ded1ea41e65d83e32ed74ca1fb5bd1f00a5d054 (patch) | |
tree | aed8d1ff0f9cca36563710f171dc614548ae8b21 /extension/src/debugPanel.ts | |
parent | d9026e72caa8ff94aa066f16cef677e5de76af07 (diff) | |
download | sncontinue-9ded1ea41e65d83e32ed74ca1fb5bd1f00a5d054.tar.gz sncontinue-9ded1ea41e65d83e32ed74ca1fb5bd1f00a5d054.tar.bz2 sncontinue-9ded1ea41e65d83e32ed74ca1fb5bd1f00a5d054.zip |
refactor: :goal_net: log errors from websocket, better logging from uvicorn
Diffstat (limited to 'extension/src/debugPanel.ts')
-rw-r--r-- | extension/src/debugPanel.ts | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/extension/src/debugPanel.ts b/extension/src/debugPanel.ts index 3c4f8481..4785ba20 100644 --- a/extension/src/debugPanel.ts +++ b/extension/src/debugPanel.ts @@ -17,17 +17,20 @@ class WebsocketConnection { private _onMessage: (message: string) => void; private _onOpen: () => void; private _onClose: () => void; + private _onError: (e: any) => void; constructor( url: string, onMessage: (message: string) => void, onOpen: () => void, - onClose: () => void + onClose: () => void, + onError: (e: any) => void ) { this._ws = new WebSocket(url); this._onMessage = onMessage; this._onOpen = onOpen; this._onClose = onClose; + this._onError = onError; this._ws.addEventListener("message", (event) => { this._onMessage(event.data); @@ -38,6 +41,9 @@ class WebsocketConnection { this._ws.addEventListener("open", () => { this._onOpen(); }); + this._ws.addEventListener("error", (e: any) => { + this._onError(e); + }); } public send(message: string) { @@ -147,12 +153,20 @@ export function setupDebugPanel( url, }); }; + const onError = (e: any) => { + panel.webview.postMessage({ + type: "websocketForwardingError", + url, + error: e, + }); + }; try { const connection = new WebsocketConnection( url, onMessage, onOpen, - onClose + onClose, + onError ); websocketConnections[url] = connection; resolve(null); @@ -198,6 +212,14 @@ export function setupDebugPanel( if (typeof websocketConnections[url] === "undefined") { await connectWebsocket(url); } + console.log( + "Websocket connection requested by GUI already open at", + url + ); + panel.webview.postMessage({ + type: "websocketForwardingOpen", + url, + }); break; } case "websocketForwardingMessage": { |