From 024edba1b8eb24612785236de85b3d59c263cd01 Mon Sep 17 00:00:00 2001 From: Angel98518 Date: Wed, 25 Feb 2026 21:45:50 -0500 Subject: [PATCH] fix(web): prevent duplicate i18n languageChanged listeners (#13218) ### What problem does this PR solve? As title. ### Type of change - [x] Refactoring --- web/src/app.tsx | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/web/src/app.tsx b/web/src/app.tsx index 7a2086440b..deb5a0af6d 100644 --- a/web/src/app.tsx +++ b/web/src/app.tsx @@ -69,10 +69,18 @@ function Root({ children }: React.PropsWithChildren) { } }, []); - i18n.on('languageChanged', function (lng: string) { - storage.setLanguage(lng); - document.documentElement.lang = lng; - }); + useEffect(() => { + const handleLanguageChanged = (lng: string) => { + storage.setLanguage(lng); + document.documentElement.lang = lng; + }; + + i18n.on('languageChanged', handleLanguageChanged); + + return () => { + i18n.off('languageChanged', handleLanguageChanged); + }; + }, []); return (