Skip to content

Commit bd1a9e1

Browse files
committed
Merge branch 'release/2.1.2'
2 parents 7425512 + 489c7b0 commit bd1a9e1

File tree

8 files changed

+40
-39
lines changed

8 files changed

+40
-39
lines changed

CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 2.1.2 (develop)
1+
# 2.1.2 (2024-10-06 10:09)
22

33
### Features
44

@@ -22,6 +22,13 @@
2222
* Chatwoot verbose logs
2323
* Adjusts on prisma connections
2424
* License terms updated
25+
* Fixed send message to group without no cache (local or redis)
26+
* Fixed startTypebot with startSession = true
27+
* Fixed issue of always creating a new label when saving chatwoot
28+
* Fixed getBase64FromMediaMessage with convertToMp4
29+
* Fixed bug when send message when don't have mentionsEveryOne on payload
30+
* Does not search message without chatwoot Message Id for reply
31+
* Fixed bot fallback not working on integrations
2532

2633
# 2.1.1 (2024-09-22 10:31)
2734

prisma/mysql-schema.prisma

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ model Message {
159159
MessageUpdate MessageUpdate[]
160160
Media Media?
161161
webhookUrl String? @db.VarChar(500)
162-
status Int? @db.Int
162+
status String? @db.VarChar(30)
163163
164164
sessionId String?
165165
session IntegrationSession? @relation(fields: [sessionId], references: [id])
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
-- AlterTable
2+
ALTER TABLE "Message" ALTER COLUMN "status" SET DATA TYPE VARCHAR(30);

prisma/postgresql-schema.prisma

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ model Message {
158158
MessageUpdate MessageUpdate[]
159159
Media Media?
160160
webhookUrl String? @db.VarChar(500)
161-
status Int? @db.Integer
161+
status String? @db.VarChar(30)
162162
163163
sessionId String?
164164
session IntegrationSession? @relation(fields: [sessionId], references: [id])

src/api/integrations/channel/evolution/evolution.channel.service.ts

Lines changed: 14 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { ChannelStartupService } from '@api/services/channel.service';
44
import { Events, wa } from '@api/types/wa.types';
55
import { ConfigService, Database } from '@config/env.config';
66
import { BadRequestException, InternalServerErrorException } from '@exceptions';
7+
import { status } from '@utils/renderStatus';
78
import { isURL } from 'class-validator';
89
import EventEmitter2 from 'eventemitter2';
910
import mime from 'mime';
@@ -213,72 +214,59 @@ export class EvolutionStartupService extends ChannelStartupService {
213214

214215
const messageId = v4();
215216

216-
let messageRaw: any;
217+
let messageRaw: any = {
218+
key: { fromMe: true, id: messageId, remoteJid: number },
219+
messageTimestamp: Math.round(new Date().getTime() / 1000),
220+
webhookUrl,
221+
source: 'unknown',
222+
instanceId: this.instanceId,
223+
status: status[1],
224+
};
217225

218226
if (message?.mediaType === 'image') {
219227
messageRaw = {
220-
key: { fromMe: true, id: messageId, remoteJid: number },
228+
...messageRaw,
221229
message: {
222230
mediaUrl: message.media,
223231
quoted,
224232
},
225233
messageType: 'imageMessage',
226-
messageTimestamp: Math.round(new Date().getTime() / 1000),
227-
webhookUrl,
228-
source: 'unknown',
229-
instanceId: this.instanceId,
230234
};
231235
} else if (message?.mediaType === 'video') {
232236
messageRaw = {
233-
key: { fromMe: true, id: messageId, remoteJid: number },
237+
...messageRaw,
234238
message: {
235239
mediaUrl: message.media,
236240
quoted,
237241
},
238242
messageType: 'videoMessage',
239-
messageTimestamp: Math.round(new Date().getTime() / 1000),
240-
webhookUrl,
241-
source: 'unknown',
242-
instanceId: this.instanceId,
243243
};
244244
} else if (message?.mediaType === 'audio') {
245245
messageRaw = {
246-
key: { fromMe: true, id: messageId, remoteJid: number },
246+
...messageRaw,
247247
message: {
248248
mediaUrl: message.media,
249249
quoted,
250250
},
251251
messageType: 'audioMessage',
252-
messageTimestamp: Math.round(new Date().getTime() / 1000),
253-
webhookUrl,
254-
source: 'unknown',
255-
instanceId: this.instanceId,
256252
};
257253
} else if (message?.mediaType === 'document') {
258254
messageRaw = {
259-
key: { fromMe: true, id: messageId, remoteJid: number },
255+
...messageRaw,
260256
message: {
261257
mediaUrl: message.media,
262258
quoted,
263259
},
264260
messageType: 'documentMessage',
265-
messageTimestamp: Math.round(new Date().getTime() / 1000),
266-
webhookUrl,
267-
source: 'unknown',
268-
instanceId: this.instanceId,
269261
};
270262
} else {
271263
messageRaw = {
272-
key: { fromMe: true, id: messageId, remoteJid: number },
264+
...messageRaw,
273265
message: {
274266
...message,
275267
quoted,
276268
},
277269
messageType: 'conversation',
278-
messageTimestamp: Math.round(new Date().getTime() / 1000),
279-
webhookUrl,
280-
source: 'unknown',
281-
instanceId: this.instanceId,
282270
};
283271
}
284272

src/api/integrations/channel/meta/whatsapp.business.service.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import { ChannelStartupService } from '@api/services/channel.service';
1818
import { Events, wa } from '@api/types/wa.types';
1919
import { ConfigService, Database, WaBusiness } from '@config/env.config';
2020
import { BadRequestException, InternalServerErrorException } from '@exceptions';
21+
import { status } from '@utils/renderStatus';
2122
import axios from 'axios';
2223
import { arrayUnique, isURL } from 'class-validator';
2324
import EventEmitter2 from 'eventemitter2';
@@ -765,12 +766,12 @@ export class BusinessStartupService extends ChannelStartupService {
765766

766767
const messageRaw: any = {
767768
key: { fromMe: true, id: messageSent?.messages[0]?.id, remoteJid: this.createJid(number) },
768-
//pushName: messageSent.pushName,
769769
message: this.convertMessageToRaw(message, content),
770770
messageType: this.renderMessageType(content.type),
771771
messageTimestamp: (messageSent?.messages[0]?.timestamp as number) || Math.round(new Date().getTime() / 1000),
772772
instanceId: this.instanceId,
773773
webhookUrl,
774+
status: status[1],
774775
source: 'unknown',
775776
};
776777

src/api/integrations/channel/whatsapp/whatsapp.baileys.service.ts

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ import { Boom } from '@hapi/boom';
6666
import { Instance } from '@prisma/client';
6767
import { makeProxyAgent } from '@utils/makeProxyAgent';
6868
import { getOnWhatsappCache, saveOnWhatsappCache } from '@utils/onWhatsappCache';
69+
import { status } from '@utils/renderStatus';
6970
import useMultiFileAuthStatePrisma from '@utils/use-multi-file-auth-state-prisma';
7071
import { AuthStateProvider } from '@utils/use-multi-file-auth-state-provider-files';
7172
import { useMultiFileAuthStateRedisDb } from '@utils/use-multi-file-auth-state-redis-db';
@@ -966,14 +967,6 @@ export class BaileysStartupService extends ChannelStartupService {
966967
},
967968

968969
'messages.update': async (args: WAMessageUpdate[], settings: any) => {
969-
const status: Record<number, wa.StatusMessage> = {
970-
0: 'ERROR',
971-
1: 'PENDING',
972-
2: 'SERVER_ACK',
973-
3: 'DELIVERY_ACK',
974-
4: 'READ',
975-
5: 'PLAYED',
976-
};
977970
for await (const { key, update } of args) {
978971
if (settings?.groupsIgnore && key.remoteJid?.includes('@g.us')) {
979972
return;
@@ -3071,7 +3064,7 @@ export class BaileysStartupService extends ChannelStartupService {
30713064
const messageRaw = {
30723065
key: message.key,
30733066
pushName: message.pushName,
3074-
status: message.status,
3067+
status: status[message.status],
30753068
message: { ...message.message },
30763069
contextInfo: contentMsg?.contextInfo,
30773070
messageType: contentType || 'unknown',

src/utils/renderStatus.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { wa } from '@api/types/wa.types';
2+
3+
export const status: Record<number, wa.StatusMessage> = {
4+
0: 'ERROR',
5+
1: 'PENDING',
6+
2: 'SERVER_ACK',
7+
3: 'DELIVERY_ACK',
8+
4: 'READ',
9+
5: 'PLAYED',
10+
};

0 commit comments

Comments
 (0)