From c31b62fb3dfadf12233f336f15bb2bcc42579b25 Mon Sep 17 00:00:00 2001 From: Vitordotpy Date: Fri, 26 Sep 2025 16:00:39 -0300 Subject: [PATCH 1/2] =?UTF-8?q?fix(baileys):=20corrigir=20verifica=C3=A7?= =?UTF-8?q?=C3=A3o=20de=20mensagem=20no=20servi=C3=A7o=20Baileys?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Ajustada a lógica de verificação para garantir que o ID da mensagem seja definido apenas quando disponível, evitando possíveis erros de referência. - Atualizada a definição do caminho de traduções para suportar a estrutura de diretórios em produção. --- .../channel/whatsapp/whatsapp.baileys.service.ts | 5 ++++- src/utils/i18n.ts | 5 +++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/api/integrations/channel/whatsapp/whatsapp.baileys.service.ts b/src/api/integrations/channel/whatsapp/whatsapp.baileys.service.ts index 02dfd5603..ccb594f2f 100644 --- a/src/api/integrations/channel/whatsapp/whatsapp.baileys.service.ts +++ b/src/api/integrations/channel/whatsapp/whatsapp.baileys.service.ts @@ -1498,7 +1498,10 @@ export class BaileysStartupService extends ChannelStartupService { `) as any[]; findMessage = messages[0] || null; - if (findMessage) message.messageId = findMessage.id; + if (!findMessage?.id) { + continue; + } + message.messageId = findMessage.id; } if (update.message === null && update.status === undefined) { diff --git a/src/utils/i18n.ts b/src/utils/i18n.ts index af737ed0e..09b9feb07 100644 --- a/src/utils/i18n.ts +++ b/src/utils/i18n.ts @@ -3,10 +3,11 @@ import fs from 'fs'; import i18next from 'i18next'; import path from 'path'; -const __dirname = path.resolve(process.cwd(), 'src', 'utils'); +const translationsPath = fs.existsSync(path.resolve(process.cwd(), 'dist')) + ? path.resolve(process.cwd(), 'dist', 'translations') + : path.resolve(process.cwd(), 'src', 'utils', 'translations'); const languages = ['en', 'pt-BR', 'es']; -const translationsPath = path.join(__dirname, 'translations'); const configService: ConfigService = new ConfigService(); const resources: any = {}; From eeb324227b55c9f9b1a37013438d57294d3e083b Mon Sep 17 00:00:00 2001 From: Vitordotpy Date: Fri, 26 Sep 2025 16:12:40 -0300 Subject: [PATCH 2/2] =?UTF-8?q?fix(baileys):=20adicionar=20log=20de=20avis?= =?UTF-8?q?o=20para=20mensagens=20n=C3=A3o=20encontradas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Implementada uma mensagem de aviso no serviço Baileys quando a mensagem original não é encontrada durante a atualização, melhorando a rastreabilidade de erros. - Ajustada a lógica de verificação do caminho de traduções para garantir que o diretório correto seja utilizado, com tratamento de erro caso não seja encontrado. --- .../whatsapp/whatsapp.baileys.service.ts | 1 + src/utils/i18n.ts | 37 +++++++++++++------ 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/src/api/integrations/channel/whatsapp/whatsapp.baileys.service.ts b/src/api/integrations/channel/whatsapp/whatsapp.baileys.service.ts index ccb594f2f..82252dcbe 100644 --- a/src/api/integrations/channel/whatsapp/whatsapp.baileys.service.ts +++ b/src/api/integrations/channel/whatsapp/whatsapp.baileys.service.ts @@ -1499,6 +1499,7 @@ export class BaileysStartupService extends ChannelStartupService { findMessage = messages[0] || null; if (!findMessage?.id) { + this.logger.warn(`Original message not found for update. Skipping. Key: ${JSON.stringify(key)}`); continue; } message.messageId = findMessage.id; diff --git a/src/utils/i18n.ts b/src/utils/i18n.ts index 09b9feb07..e8aea42b0 100644 --- a/src/utils/i18n.ts +++ b/src/utils/i18n.ts @@ -3,24 +3,37 @@ import fs from 'fs'; import i18next from 'i18next'; import path from 'path'; -const translationsPath = fs.existsSync(path.resolve(process.cwd(), 'dist')) - ? path.resolve(process.cwd(), 'dist', 'translations') - : path.resolve(process.cwd(), 'src', 'utils', 'translations'); +const distPath = path.resolve(process.cwd(), 'dist', 'translations'); +const srcPath = path.resolve(process.cwd(), 'src', 'utils', 'translations'); + +let translationsPath; + +if (fs.existsSync(distPath)) { + translationsPath = distPath; +} else if (fs.existsSync(srcPath)) { + translationsPath = srcPath; +} else { + console.error('Translations directory not found in dist or src.'); + // Fallback to a non-existent path or handle error appropriately + translationsPath = ''; +} const languages = ['en', 'pt-BR', 'es']; const configService: ConfigService = new ConfigService(); const resources: any = {}; -languages.forEach((language) => { - const languagePath = path.join(translationsPath, `${language}.json`); - if (fs.existsSync(languagePath)) { - const translationContent = fs.readFileSync(languagePath, 'utf8'); - resources[language] = { - translation: JSON.parse(translationContent), - }; - } -}); +if (translationsPath) { + languages.forEach((language) => { + const languagePath = path.join(translationsPath, `${language}.json`); + if (fs.existsSync(languagePath)) { + const translationContent = fs.readFileSync(languagePath, 'utf8'); + resources[language] = { + translation: JSON.parse(translationContent), + }; + } + }); +} i18next.init({ resources,