diff --git a/main.js b/main.js index 697095c..c3f7364 100644 --- a/main.js +++ b/main.js @@ -82,7 +82,7 @@ function setDiscordActivity() { } } -function toggleDiscordRPC(enabled) { +async function toggleDiscordRPC(enabled) { console.log('Toggling Discord RPC:', enabled); if (enabled && !discordRPC) { @@ -92,12 +92,13 @@ function toggleDiscordRPC(enabled) { try { console.log('Disconnecting Discord RPC...'); discordRPC.clearActivity(); + await new Promise(r => setTimeout(r, 100)); discordRPC.destroy(); - discordRPC = null; console.log('Discord RPC disconnected successfully'); } catch (error) { console.error('Error disconnecting Discord RPC:', error.message); - discordRPC = null; + } finally { + discordRPC = null; } } } @@ -367,18 +368,18 @@ app.whenReady().then(async () => { }, 3000); }); -function cleanupDiscordRPC() { - if (discordRPC) { - try { - console.log('Cleaning up Discord RPC...'); - discordRPC.clearActivity(); - discordRPC.destroy(); - discordRPC = null; - console.log('Discord RPC cleaned up successfully'); - } catch (error) { - console.log('Error cleaning up Discord RPC:', error.message); - discordRPC = null; - } +async function cleanupDiscordRPC() { + if (!discordRPC) return; + try { + console.log('Cleaning up Discord RPC...'); + discordRPC.clearActivity(); + await new Promise(r => setTimeout(r, 100)); + discordRPC.destroy(); + console.log('Discord RPC cleaned up successfully'); + } catch (error) { + console.log('Error cleaning up Discord RPC:', error.message); + } finally { + discordRPC = null; } }