From 6e96f90065dfe2f6ccc5eb4f85f4facd3515c70c Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Mon, 22 Jun 2026 23:20:08 +0200 Subject: [PATCH] fix(frontend): destroy old WebsocketProvider on workspace switch in MultiplayerMenu (#9719) Switching workspaces created a new WebsocketProvider without destroying the old one. The leaked provider kept reconnecting, causing alternating websocket traffic between old and new workspace rooms and flickering in the Live Activity sidebar. Add a disconnectWorkspace() cleanup that destroys the provider and resets connected/awareness state, call it at the start of connectWorkspace() before creating a new provider (matching ScriptEditor.svelte), and run it from an onDestroy hook so the provider is torn down on unmount. Fixes WIN-2086 Co-authored-by: Claude Opus 4.8 (1M context) --- .../lib/components/sidebar/MultiplayerMenu.svelte | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/frontend/src/lib/components/sidebar/MultiplayerMenu.svelte b/frontend/src/lib/components/sidebar/MultiplayerMenu.svelte index 29fe62d2ff..ebbd0b24b1 100644 --- a/frontend/src/lib/components/sidebar/MultiplayerMenu.svelte +++ b/frontend/src/lib/components/sidebar/MultiplayerMenu.svelte @@ -1,5 +1,6 @@