diff --git a/packages/client/components/app/interface/channels/text/Messages.tsx b/packages/client/components/app/interface/channels/text/Messages.tsx index eba9e2ba9..d045e4e4d 100644 --- a/packages/client/components/app/interface/channels/text/Messages.tsx +++ b/packages/client/components/app/interface/channels/text/Messages.tsx @@ -671,17 +671,34 @@ export function Messages(props: Props) { ); } } + /** + * Handle bulk-deleted messages + */ + function onMessageDeleteBulk( + deleted_messages: { id: string; channelId: string }[], + channel?: { id: string }, + ) { + if (channel?.id === props.channel.id) { + setMessages((messages) => + messages.filter( + (msg) => !deleted_messages.find((m) => m.id === msg.id), + ), + ); + } + } // Add listener for messages onMount(() => { const c = client(); c.addListener("messageCreate", onMessage); c.addListener("messageDelete", onMessageDelete); + c.addListener("messageDeleteBulk", onMessageDeleteBulk); }); onCleanup(() => { const c = client(); c.removeListener("messageCreate", onMessage); + c.removeListener("messageDeleteBulk", onMessageDeleteBulk); c.removeListener("messageDelete", onMessageDelete); });