summaryrefslogtreecommitdiff
path: root/extension/src/util
diff options
context:
space:
mode:
authorNate Sesti <33237525+sestinj@users.noreply.github.com>2023-07-12 22:03:40 -0700
committerGitHub <noreply@github.com>2023-07-12 22:03:40 -0700
commit9296105248b522cfdf7884748ca4be8375657c0b (patch)
treed051f68372572d7327ff6912928648da8b3a3662 /extension/src/util
parentb3ab5bda368fcae690837f9ce8062dc7f17c6472 (diff)
parent9558a3602c8678dacd3087bf6512b1bc4c96bc22 (diff)
downloadsncontinue-9296105248b522cfdf7884748ca4be8375657c0b.tar.gz
sncontinue-9296105248b522cfdf7884748ca4be8375657c0b.tar.bz2
sncontinue-9296105248b522cfdf7884748ca4be8375657c0b.zip
Merge pull request #243 from continuedev/reconnect-persist-state
Reconnect persist state
Diffstat (limited to 'extension/src/util')
-rw-r--r--extension/src/util/messenger.ts10
1 files changed, 10 insertions, 0 deletions
diff --git a/extension/src/util/messenger.ts b/extension/src/util/messenger.ts
index b1df161b..7fd71ddd 100644
--- a/extension/src/util/messenger.ts
+++ b/extension/src/util/messenger.ts
@@ -15,6 +15,8 @@ export abstract class Messenger {
abstract onOpen(callback: () => void): void;
abstract onClose(callback: () => void): void;
+
+ abstract onError(callback: () => void): void;
abstract sendAndReceive(messageType: string, data: any): Promise<any>;
}
@@ -26,6 +28,7 @@ export class WebsocketMessenger extends Messenger {
} = {};
private onOpenListeners: (() => void)[] = [];
private onCloseListeners: (() => void)[] = [];
+ private onErrorListeners: (() => void)[] = [];
private serverUrl: string;
_newWebsocket(): WebSocket {
@@ -43,6 +46,9 @@ export class WebsocketMessenger extends Messenger {
for (const listener of this.onCloseListeners) {
this.onClose(listener);
}
+ for (const listener of this.onErrorListeners) {
+ this.onError(listener);
+ }
for (const messageType in this.onMessageListeners) {
for (const listener of this.onMessageListeners[messageType]) {
this.onMessageType(messageType, listener);
@@ -151,4 +157,8 @@ export class WebsocketMessenger extends Messenger {
onClose(callback: () => void): void {
this.websocket.addEventListener("close", callback);
}
+
+ onError(callback: () => void): void {
+ this.websocket.addEventListener("error", callback);
+ }
}