diff options
author | Nate Sesti <33237525+sestinj@users.noreply.github.com> | 2023-07-12 22:03:40 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-12 22:03:40 -0700 |
commit | c8ea3c2b6efca139e0c1701f39992ea8cc246840 (patch) | |
tree | d59a8f901778bf4e20ef6dcd2b124b3518ef72d8 /extension/src/util | |
parent | d78cb7b1e09bb9ff22fc9e3323ec3b18e03dbcbf (diff) | |
parent | 598b6d44e33a2e57a8fc0e9ddecb8b8753096dbd (diff) | |
download | sncontinue-c8ea3c2b6efca139e0c1701f39992ea8cc246840.tar.gz sncontinue-c8ea3c2b6efca139e0c1701f39992ea8cc246840.tar.bz2 sncontinue-c8ea3c2b6efca139e0c1701f39992ea8cc246840.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.ts | 10 |
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); + } } |