Merge branch 'release/1.4.1'

This commit is contained in:
Davidson Gomes 2023-07-24 18:28:45 -03:00
commit cc91f2e5db
5 changed files with 25 additions and 19 deletions

View File

@ -1,3 +1,10 @@
# 1.4.1 (2023-07-24 18:28)
### Fixed
* Fixed reconnect with pairing code or qrcode
* Fixed problem in createJid
# 1.4.0 (2023-07-24 17:03) # 1.4.0 (2023-07-24 17:03)
### Features ### Features

View File

@ -1,6 +1,6 @@
{ {
"name": "evolution-api", "name": "evolution-api",
"version": "1.4.0", "version": "1.4.1",
"description": "Rest api for communication with WhatsApp", "description": "Rest api for communication with WhatsApp",
"main": "./dist/src/main.js", "main": "./dist/src/main.js",
"scripts": { "scripts": {

View File

@ -124,7 +124,6 @@ const optionsSchema: JSONSchema7 = {
const numberDefinition: JSONSchema7Definition = { const numberDefinition: JSONSchema7Definition = {
type: 'string', type: 'string',
// pattern: '^\\d+[\\.@\\w-]+',
description: 'Invalid format', description: 'Invalid format',
}; };
@ -446,7 +445,6 @@ export const whatsappNumberSchema: JSONSchema7 = {
uniqueItems: true, uniqueItems: true,
items: { items: {
type: 'string', type: 'string',
// pattern: '^\\d+',
description: '"numbers" must be an array of numeric strings', description: '"numbers" must be an array of numeric strings',
}, },
}, },

View File

@ -107,7 +107,7 @@ export class InstanceController {
if (qrcode) { if (qrcode) {
this.logger.verbose('creating qrcode'); this.logger.verbose('creating qrcode');
await instance.connectToWhatsapp(number); await instance.connectToWhatsapp(number);
await delay(3000); await delay(5000);
getQrcode = instance.qrCode; getQrcode = instance.qrCode;
} }
@ -214,7 +214,7 @@ export class InstanceController {
this.logger.verbose('connecting'); this.logger.verbose('connecting');
await instance.connectToWhatsapp(number); await instance.connectToWhatsapp(number);
await delay(2000); await delay(5000);
return instance.qrCode; return instance.qrCode;
} }
@ -245,7 +245,12 @@ export class InstanceController {
public async connectionState({ instanceName }: InstanceDto) { public async connectionState({ instanceName }: InstanceDto) {
this.logger.verbose('requested connectionState from ' + instanceName + ' instance'); this.logger.verbose('requested connectionState from ' + instanceName + ' instance');
return this.waMonitor.waInstances[instanceName]?.connectionStatus; return {
instance: {
instanceName: instanceName,
state: this.waMonitor.waInstances[instanceName]?.connectionStatus?.state,
},
};
} }
public async fetchInstances({ instanceName }: InstanceDto) { public async fetchInstances({ instanceName }: InstanceDto) {
@ -260,9 +265,9 @@ export class InstanceController {
public async logout({ instanceName }: InstanceDto) { public async logout({ instanceName }: InstanceDto) {
this.logger.verbose('requested logout from ' + instanceName + ' instance'); this.logger.verbose('requested logout from ' + instanceName + ' instance');
const stateConn = await this.connectionState({ instanceName }); const { instance } = await this.connectionState({ instanceName });
if (stateConn.state === 'close') { if (instance.state === 'close') {
throw new BadRequestException( throw new BadRequestException(
'The "' + instanceName + '" instance is not connected', 'The "' + instanceName + '" instance is not connected',
); );
@ -285,15 +290,15 @@ export class InstanceController {
public async deleteInstance({ instanceName }: InstanceDto) { public async deleteInstance({ instanceName }: InstanceDto) {
this.logger.verbose('requested deleteInstance from ' + instanceName + ' instance'); this.logger.verbose('requested deleteInstance from ' + instanceName + ' instance');
const stateConn = await this.connectionState({ instanceName }); const { instance } = await this.connectionState({ instanceName });
if (stateConn.state === 'open') { if (instance.state === 'open') {
throw new BadRequestException( throw new BadRequestException(
'The "' + instanceName + '" instance needs to be disconnected', 'The "' + instanceName + '" instance needs to be disconnected',
); );
} }
try { try {
if (stateConn.state === 'connecting') { if (instance.state === 'connecting') {
this.logger.verbose('logging out instance: ' + instanceName); this.logger.verbose('logging out instance: ' + instanceName);
await this.logout({ instanceName }); await this.logout({ instanceName });

View File

@ -606,11 +606,14 @@ export class WAStartupService {
color: { light: '#ffffff', dark: '#198754' }, color: { light: '#ffffff', dark: '#198754' },
}; };
console.log(this.phoneNumber);
if (this.phoneNumber) { if (this.phoneNumber) {
await delay(2000); await delay(2000);
this.instance.qrcode.pairingCode = await this.client.requestPairingCode( this.instance.qrcode.pairingCode = await this.client.requestPairingCode(
this.phoneNumber, this.phoneNumber,
); );
} else {
this.instance.qrcode.pairingCode = null;
} }
this.logger.verbose('Generating QR code'); this.logger.verbose('Generating QR code');
@ -894,13 +897,6 @@ export class WAStartupService {
this.phoneNumber = number; this.phoneNumber = number;
// if (number) {
// this.logger.verbose('creating pairing code');
// await delay(5000);
// this.phoneNumber = number;
// this.instance.qrcode.pairingCode = await this.client.requestPairingCode(number);
// }
return this.client; return this.client;
} catch (error) { } catch (error) {
this.logger.error(error); this.logger.error(error);
@ -1521,7 +1517,7 @@ export class WAStartupService {
.split(/\:/)[0] .split(/\:/)[0]
.split('@')[0]; .split('@')[0];
if (number.includes('-') && number.length >= 24) { if (number.length >= 18) {
this.logger.verbose('Jid created is group: ' + `${number}@g.us`); this.logger.verbose('Jid created is group: ' + `${number}@g.us`);
number = number.replace(/[^\d-]/g, ''); number = number.replace(/[^\d-]/g, '');
return `${number}@g.us`; return `${number}@g.us`;