From 3c4196679a569d87f5fc021af5858690d170fa29 Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Fri, 19 Apr 2024 13:38:17 +0400 Subject: [PATCH] Custom Emoji: Fix memory leak when closing chat with draft (#4475) --- .../middle/composer/hooks/useInputCustomEmojis.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/components/middle/composer/hooks/useInputCustomEmojis.ts b/src/components/middle/composer/hooks/useInputCustomEmojis.ts index 945eb7f0c..2f0f1c6f1 100644 --- a/src/components/middle/composer/hooks/useInputCustomEmojis.ts +++ b/src/components/middle/composer/hooks/useInputCustomEmojis.ts @@ -132,6 +132,14 @@ export default function useInputCustomEmojis( return addCustomEmojiInputRenderCallback(synchronizeElements); }, [synchronizeElements]); + useEffect(() => { + const activePlayersById = playersById.current; + // Always clear players on unmount + return () => { + clearPlayers(Array.from(activePlayersById.keys())); + }; + }, []); + useEffect(() => { if (!getHtml() || !inputRef.current || !sharedCanvasRef.current || !isActive || !isReady) { clearPlayers(Array.from(playersById.current.keys()));