From 29c11f3191d8bd8d1e3ba6fecee4c3e880181dd6 Mon Sep 17 00:00:00 2001 From: Vendicated Date: Wed, 1 Jul 2026 03:05:51 +0200 Subject: [PATCH] fix StreamerMode being re-enabled after user disables it --- src/renderer/arrpc.ts | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/renderer/arrpc.ts b/src/renderer/arrpc.ts index 36277e6..3c14d17 100644 --- a/src/renderer/arrpc.ts +++ b/src/renderer/arrpc.ts @@ -17,6 +17,8 @@ const logger = new Logger("VesktopRPC", "#5865f2"); const arRPC = Vencord.Plugins.plugins["WebRichPresence (arRPC)"] as typeof arRpcPlugin; +let userDisabledStreamerMode = false; + onIpcCommand(IpcCommands.RPC_ACTIVITY, async jsonData => { if (!Settings.store.arRPC) return; @@ -25,17 +27,35 @@ onIpcCommand(IpcCommands.RPC_ACTIVITY, async jsonData => { const data = JSON.parse(jsonData); if (data.socketId === "STREAMERMODE" && StreamerModeStore.autoToggle) { + const value = data.activity?.application_id === "STREAMERMODE"; + + if (!value) { + userDisabledStreamerMode = false; + } else if (userDisabledStreamerMode) { + return; + } + FluxDispatcher.dispatch({ type: "STREAMER_MODE_UPDATE", key: "enabled", - value: data.activity?.application_id === "STREAMERMODE" + value, + isAuto: true }); + return; } arRPC.handleEvent(new MessageEvent("message", { data: jsonData })); }); +onceReady.then(() => { + FluxDispatcher.subscribe("STREAMER_MODE_UPDATE", e => { + if (!e.isAuto && !e.value) { + userDisabledStreamerMode = true; + } + }); +}); + onIpcCommand(IpcCommands.RPC_INVITE, async code => { const { invite } = await InviteActions.resolveInvite(code, "Desktop Modal"); if (!invite) return false;