summaryrefslogtreecommitdiff
path: root/extension/react-app/src/hooks/messenger.ts
diff options
context:
space:
mode:
authorNate Sesti <sestinj@gmail.com>2023-07-30 22:30:00 -0700
committerNate Sesti <sestinj@gmail.com>2023-07-30 22:30:00 -0700
commit57a572a420e16b08301f0c6738a1b414c59bce85 (patch)
tree2bdbc7831d66aafefe30a9e236ecc150d80024cc /extension/react-app/src/hooks/messenger.ts
parent1bc5777ed168e47e2ef2ab1b33eecf6cbd170a61 (diff)
parent8bd76be6c0925e0d5e5f6d239e9c6907df3cfd23 (diff)
downloadsncontinue-57a572a420e16b08301f0c6738a1b414c59bce85.tar.gz
sncontinue-57a572a420e16b08301f0c6738a1b414c59bce85.tar.bz2
sncontinue-57a572a420e16b08301f0c6738a1b414c59bce85.zip
Merge remote-tracking branch 'continuedev/main' into llm-object-config-merge-main
Diffstat (limited to 'extension/react-app/src/hooks/messenger.ts')
-rw-r--r--extension/react-app/src/hooks/messenger.ts10
1 files changed, 10 insertions, 0 deletions
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);
+ }
}