From dbdb217491ab74c01de27d58c229d09bedaf5eea Mon Sep 17 00:00:00 2001 From: Jiralite <33201955+Jiralite@users.noreply.github.com> Date: Sun, 4 May 2025 14:02:27 +0100 Subject: [PATCH 1/2] fix(ChannelManager): remove threads from cache upon deletion --- packages/discord.js/src/managers/ChannelManager.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/discord.js/src/managers/ChannelManager.js b/packages/discord.js/src/managers/ChannelManager.js index f29a3213eb63..6950b091a5f3 100644 --- a/packages/discord.js/src/managers/ChannelManager.js +++ b/packages/discord.js/src/managers/ChannelManager.js @@ -73,6 +73,15 @@ class ChannelManager extends CachedManager { channel?.parent?.threads?.cache.delete(id); this.cache.delete(id); + + if (channel?.threads) { + for (const cacheChannelId of this.cache.keys()) { + if (channel.threads.cache.has(cacheChannelId)) { + this.cache.delete(cacheChannelId); + channel.guild?.channels.cache.delete(cacheChannelId); + } + } + } } /** From 4f352de98fee2b1e5e090420d4dcd08581013bed Mon Sep 17 00:00:00 2001 From: Jiralite <33201955+Jiralite@users.noreply.github.com> Date: Wed, 7 May 2025 19:08:53 +0100 Subject: [PATCH 2/2] refactor: loop over thread ids --- packages/discord.js/src/managers/ChannelManager.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/discord.js/src/managers/ChannelManager.js b/packages/discord.js/src/managers/ChannelManager.js index 6950b091a5f3..e1fb047afde3 100644 --- a/packages/discord.js/src/managers/ChannelManager.js +++ b/packages/discord.js/src/managers/ChannelManager.js @@ -75,11 +75,9 @@ class ChannelManager extends CachedManager { this.cache.delete(id); if (channel?.threads) { - for (const cacheChannelId of this.cache.keys()) { - if (channel.threads.cache.has(cacheChannelId)) { - this.cache.delete(cacheChannelId); - channel.guild?.channels.cache.delete(cacheChannelId); - } + for (const threadId of channel.threads.cache.keys()) { + this.cache.delete(threadId); + channel.guild?.channels.cache.delete(threadId); } } }