@@ -133,6 +133,9 @@ import { waMonitor } from '../whatsapp.module';
133133import { ChamaaiService } from './chamaai.service' ;
134134import { ChatwootService } from './chatwoot.service' ;
135135import { TypebotService } from './typebot.service' ;
136+
137+ const retryCache = { } ;
138+
136139export class WAStartupService {
137140 constructor (
138141 private readonly configService : ConfigService ,
@@ -2040,12 +2043,27 @@ export class WAStartupService {
20402043 if ( events [ 'messages.upsert' ] ) {
20412044 this . logger . verbose ( 'Listening event: messages.upsert' ) ;
20422045 const payload = events [ 'messages.upsert' ] ;
2046+ if ( payload . messages . find ( a => a ?. messageStubType === 2 ) ) {
2047+ const msg = payload . messages [ 0 ] ;
2048+ retryCache [ msg . key . id ] = msg ;
2049+ return ;
2050+ }
20432051 this . messageHandle [ 'messages.upsert' ] ( payload , database , settings ) ;
20442052 }
20452053
20462054 if ( events [ 'messages.update' ] ) {
20472055 this . logger . verbose ( 'Listening event: messages.update' ) ;
20482056 const payload = events [ 'messages.update' ] ;
2057+ payload . forEach ( message => {
2058+ if ( retryCache [ message . key . id ] ) {
2059+ this . client . ev . emit ( "messages.upsert" , {
2060+ messages : [ message ] ,
2061+ type : "notify"
2062+ } ) ;
2063+ delete retryCache [ message . key . id ] ;
2064+ return ;
2065+ }
2066+ } )
20492067 this . messageHandle [ 'messages.update' ] ( payload , database , settings ) ;
20502068 }
20512069
0 commit comments