From d0cc38d5491504fe2c81bfa43a2029b44d48e41e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Espino=20Garc=C3=ADa?= Date: Wed, 18 Feb 2026 16:16:13 +0100 Subject: [PATCH] [MM-67563] Change websocket format for translation update events (#9515) --- app/actions/websocket/posts.ts | 16 ++++++++-------- types/api/websocket.d.ts | 10 ++++++---- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/app/actions/websocket/posts.ts b/app/actions/websocket/posts.ts index b0c7d86a3..93de9639b 100644 --- a/app/actions/websocket/posts.ts +++ b/app/actions/websocket/posts.ts @@ -409,18 +409,18 @@ export async function handlePostAcknowledgementRemoved(serverUrl: string, msg: W export async function handlePostTranslationUpdatedEvent(serverUrl: string, msg: WebSocketMessage) { try { const translationData: PostTranslationUpdateData = msg.data; - const translationObject: PostTranslation['object'] = translationData.translation ? JSON.parse(translationData.translation) : undefined; const locale = await getCurrentUserLocale(serverUrl); - if (locale !== translationData.language) { + const myLanguageTranslation = translationData.translations[locale]; + + if (!myLanguageTranslation) { return; } - if (locale === translationData.src_lang) { - return; - } - await updatePostTranslation(serverUrl, translationData.object_id, translationData.language, { + + const translationObject: PostTranslation['object'] = myLanguageTranslation?.translation ? JSON.parse(myLanguageTranslation.translation) : undefined; + await updatePostTranslation(serverUrl, translationData.object_id, locale, { object: translationObject, - state: translationData.state, - source_lang: translationData.src_lang, + state: myLanguageTranslation.state, + source_lang: myLanguageTranslation.src_lang, }); } catch (error) { // Do nothing diff --git a/types/api/websocket.d.ts b/types/api/websocket.d.ts index b0452081a..3b7a5d606 100644 --- a/types/api/websocket.d.ts +++ b/types/api/websocket.d.ts @@ -23,9 +23,11 @@ type ThreadReadChangedData = { }; type PostTranslationUpdateData = { - language: string; object_id: string; - src_lang: string; - state: PostTranslationState; - translation: string; // JSON-encoded PostTranslation['object'] + translations: Record; }