@@ -90,15 +90,22 @@ const dataStoreRedis = async (phone: string, config: Config): Promise<DataStore>
9090 await setJid ( phone , phoneOrJid , jid )
9191 }
9292 store . loadMessage = async ( remoteJid : string , id : string ) => {
93- const newJid = isIndividualJid ( remoteJid ) ? phoneNumberToJid ( jidToPhoneNumber ( remoteJid ) ) : remoteJid
94- const m = await getMessage ( phone , newJid , id )
95- const wm = m as proto . IWebMessageInfo
96- return wm
93+ const clientPhone = jidToPhoneNumber ( remoteJid )
94+ let m
95+ m = await getMessage ( phone , clientPhone , id )
96+ if ( ! m ) {
97+ const newJid = isIndividualJid ( remoteJid ) ? phoneNumberToJid ( jidToPhoneNumber ( remoteJid ) ) : remoteJid
98+ m = await getMessage ( phone , newJid , id )
99+ }
100+ if ( ! m ) {
101+ return
102+ }
103+ return m as proto . IWebMessageInfo
97104 }
98105 store . setMessage = async ( remoteJid : string , message : WAMessage ) => {
99- const newJid = isIndividualJid ( remoteJid ) ? phoneNumberToJid ( jidToPhoneNumber ( remoteJid ) ) : remoteJid
106+ const clientPhone = jidToPhoneNumber ( remoteJid ) ;
100107 // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
101- return setMessage ( phone , newJid , message . key . id ! , message )
108+ return setMessage ( phone , clientPhone , message . key . id ! , message )
102109 }
103110 store . cleanSession = async ( removeConfig = CLEAN_CONFIG_ON_DISCONNECT ) => {
104111 if ( removeConfig ) {
0 commit comments