From b988f06ce012991dcf6f9607443d5369b9684785 Mon Sep 17 00:00:00 2001 From: G30 <50341825+silentoplayz@users.noreply.github.com> Date: Mon, 21 Sep 2026 11:32:14 -0400 Subject: [PATCH] fix: drop every local reference to a channel message that was deleted (#30314) --- src/lib/components/channel/Channel.svelte | 12 +++++++++++- src/lib/components/channel/Thread.svelte | 12 +++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/lib/components/channel/Channel.svelte b/src/lib/components/channel/Channel.svelte index 0dec5fb9d0..0117b27232 100644 --- a/src/lib/components/channel/Channel.svelte +++ b/src/lib/components/channel/Channel.svelte @@ -168,7 +168,17 @@ messages[idx] = data; } } else if (type === 'message:delete') { - messages = messages.filter((message) => message.id !== data.id); + messages = messages + .filter((message) => message.id !== data.id) + .map((message) => + message?.reply_to_message?.id === data.id + ? { ...message, reply_to_message: null } + : message + ); + + if (replyToMessage?.id === data.id) { + replyToMessage = null; + } if (threadId === data.id) { threadId = null; diff --git a/src/lib/components/channel/Thread.svelte b/src/lib/components/channel/Thread.svelte index f174ed6d33..454c0ea892 100644 --- a/src/lib/components/channel/Thread.svelte +++ b/src/lib/components/channel/Thread.svelte @@ -92,7 +92,17 @@ } if (messages) { - messages = messages.filter((message) => message.id !== data.id); + messages = messages + .filter((message) => message.id !== data.id) + .map((message) => + message?.reply_to_message?.id === data.id + ? { ...message, reply_to_message: null } + : message + ); + } + + if (replyToMessage?.id === data.id) { + replyToMessage = null; } } else if (type.includes('message:reaction')) { if (messages) {