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/react-app/src | |
| 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/react-app/src')
| -rw-r--r-- | extension/react-app/src/hooks/ContinueGUIClientProtocol.ts | 7 | ||||
| -rw-r--r-- | extension/react-app/src/hooks/messenger.ts | 10 | ||||
| -rw-r--r-- | extension/react-app/src/hooks/vscodeMessenger.ts | 8 | 
3 files changed, 25 insertions, 0 deletions
diff --git a/extension/react-app/src/hooks/ContinueGUIClientProtocol.ts b/extension/react-app/src/hooks/ContinueGUIClientProtocol.ts index b8019664..5a5d4c30 100644 --- a/extension/react-app/src/hooks/ContinueGUIClientProtocol.ts +++ b/extension/react-app/src/hooks/ContinueGUIClientProtocol.ts @@ -17,6 +17,13 @@ class ContinueGUIClientProtocol extends AbstractContinueGUIClientProtocol {      this.messenger = useVscodeMessagePassing        ? new VscodeMessenger(serverUrlWithSessionId)        : new WebsocketMessenger(serverUrlWithSessionId); + +    this.messenger.onClose(() => { +      console.log("GUI -> IDE websocket closed"); +    }); +    this.messenger.onError((error) => { +      console.log("GUI -> IDE websocket error", error); +    });    }    sendMainInput(input: string) { diff --git a/extension/react-app/src/hooks/messenger.ts b/extension/react-app/src/hooks/messenger.ts index 00ce1fbb..ecf646c7 100644 --- a/extension/react-app/src/hooks/messenger.ts +++ b/extension/react-app/src/hooks/messenger.ts @@ -13,6 +13,8 @@ export abstract class Messenger {    abstract onClose(callback: () => void): void;    abstract sendAndReceive(messageType: string, data: any): Promise<any>; + +  abstract onError(callback: (error: any) => void): void;  }  export class WebsocketMessenger extends Messenger { @@ -20,6 +22,7 @@ export class WebsocketMessenger extends Messenger {    private onMessageListeners: {      [messageType: string]: ((data: object) => void)[];    } = {}; +  private onErrorListeners: ((error: any) => void)[] = [];    private onOpenListeners: (() => void)[] = [];    private onCloseListeners: (() => void)[] = [];    private serverUrl: string; @@ -37,6 +40,9 @@ export class WebsocketMessenger extends Messenger {          this.onMessageType(messageType, listener);        }      } +    for (const listener of this.onErrorListeners) { +      this.onError(listener); +    }      return newWebsocket;    } @@ -95,4 +101,8 @@ export class WebsocketMessenger extends Messenger {    onClose(callback: () => void): void {      this.websocket.addEventListener("close", callback);    } + +  onError(callback: (error: any) => void): void { +    this.websocket.addEventListener("error", callback); +  }  } diff --git a/extension/react-app/src/hooks/vscodeMessenger.ts b/extension/react-app/src/hooks/vscodeMessenger.ts index ba19586b..13f5092b 100644 --- a/extension/react-app/src/hooks/vscodeMessenger.ts +++ b/extension/react-app/src/hooks/vscodeMessenger.ts @@ -38,6 +38,14 @@ export class VscodeMessenger extends Messenger {      });    } +  onError(callback: (error: any) => void): void { +    window.addEventListener("message", (event: any) => { +      if (event.data.type === "websocketForwardingError") { +        callback(event.data.error); +      } +    }); +  } +    sendAndReceive(messageType: string, data: any): Promise<any> {      return new Promise((resolve) => {        const handler = (event: any) => {  | 
