diff --git a/src/webpage/localuser.ts b/src/webpage/localuser.ts index 895e9bd..556cc99 100644 --- a/src/webpage/localuser.ts +++ b/src/webpage/localuser.ts @@ -640,6 +640,7 @@ class Localuser { ws.addEventListener("close", async (event) => { this.ws = undefined; + this.voiceFactory?.close(); console.log("WebSocket closed with code " + event.code); if ( (event.code > 1000 && event.code < 1016 && this.errorBackoff === 0) || diff --git a/src/webpage/voice.ts b/src/webpage/voice.ts index e5369e8..f0fb74e 100644 --- a/src/webpage/voice.ts +++ b/src/webpage/voice.ts @@ -280,6 +280,11 @@ class VoiceFactory { obj.token = update.d.token; obj.gotUrl(); } + close() { + Array.from(this.voiceChannels).forEach((_) => { + _[1].leave(); + }); + } } export type voiceStatusStr = | "done"