From 310b5490a5a96d088d7c889b02846e8ee2f92c96 Mon Sep 17 00:00:00 2001 From: zubiden <19638254+zubiden@users.noreply.github.com> Date: Sun, 6 Jul 2025 13:52:03 +0200 Subject: [PATCH] Message: Handle failed translation (#6045) --- src/api/gramjs/methods/messages.ts | 12 +++++++++++- src/api/types/updates.ts | 8 ++++++++ src/global/actions/apiUpdaters/messages.ts | 8 ++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/api/gramjs/methods/messages.ts b/src/api/gramjs/methods/messages.ts index ebf32a272..dac234a3b 100644 --- a/src/api/gramjs/methods/messages.ts +++ b/src/api/gramjs/methods/messages.ts @@ -2167,7 +2167,17 @@ export async function translateText(params: TranslateTextParams) { })); } - if (!result) return undefined; + if (!result) { + if (isMessageTranslation) { + sendApiUpdate({ + '@type': 'failedMessageTranslations', + chatId: params.chat.id, + messageIds: params.messageIds, + toLanguageCode: params.toLanguageCode, + }); + } + return undefined; + } const formattedText = result.result.map((r) => buildApiFormattedText(r)); diff --git a/src/api/types/updates.ts b/src/api/types/updates.ts index 540cdc91c..b2be53069 100644 --- a/src/api/types/updates.ts +++ b/src/api/types/updates.ts @@ -715,6 +715,13 @@ export type ApiUpdateMessageTranslations = { toLanguageCode: string; }; +export type ApiUpdateFailedMessageTranslations = { + '@type': 'failedMessageTranslations'; + chatId: string; + messageIds: number[]; + toLanguageCode: string; +}; + export type ApiUpdateFetchingDifference = { '@type': 'updateFetchingDifference'; isFetching: boolean; @@ -850,6 +857,7 @@ export type ApiUpdate = ( ApiUpdateRecentStickers | ApiUpdateSavedGifs | ApiUpdateNewScheduledMessage | ApiUpdateMoveStickerSetToTop | ApiUpdateScheduledMessageSendSucceeded | ApiUpdateScheduledMessage | ApiUpdateStarPaymentStateCompleted | ApiUpdateDeleteScheduledMessages | ApiUpdateResetMessages | ApiUpdateMessageTranslations | + ApiUpdateFailedMessageTranslations | ApiUpdateTwoFaError | ApiUpdateTwoFaStateWaitCode | ApiUpdateWebViewResultSent | ApiUpdateDefaultNotifySettings | ApiUpdatePeerNotifySettings | ApiUpdatePeerBlocked | ApiUpdatePrivacy | ApiUpdateServerTimeOffset | ApiUpdateMessageReactions | ApiUpdateSavedReactionTags | diff --git a/src/global/actions/apiUpdaters/messages.ts b/src/global/actions/apiUpdaters/messages.ts index 12ff7a368..68185594d 100644 --- a/src/global/actions/apiUpdaters/messages.ts +++ b/src/global/actions/apiUpdaters/messages.ts @@ -866,6 +866,14 @@ addActionHandler('apiUpdate', (global, actions, update): ActionReturnType => { setGlobal(global); break; } + + case 'failedMessageTranslations': { + const { chatId, messageIds, toLanguageCode } = update; + + global = updateMessageTranslations(global, chatId, messageIds, toLanguageCode, []); + + setGlobal(global); + } } });