Compare commits

...

6 Commits

Author SHA1 Message Date
Rajeh Taher
2486ee2ab7 Merge branch 'main' into dependabot/npm_and_yarn/sinon-14.0.0 2022-10-10 01:53:35 +03:00
stefanfuchs
55f75b8f69 fix: typescript compilation (#1693)
Co-authored-by: Rajeh Taher <rajeh@reforward.dev>
2022-10-04 14:24:03 +02:00
blox
b1e0fce504 Allow the deletion of others' messages (#1688) 2022-09-18 16:33:43 -03:00
༺ LᴇG̸ᴇɴD ༻
62623347e8 [Update] - adding catch block on promise for windows error (#1659) 2022-08-18 20:26:46 +03:00
Shir Serlui
705d4d31fd Use getCommonGroups not contact (#1623) 2022-08-18 13:20:30 -03:00
dependabot[bot]
3ef400e813 chore(deps-dev): bump sinon from 13.0.2 to 14.0.0
Bumps [sinon](https://github.com/sinonjs/sinon) from 13.0.2 to 14.0.0.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/main/docs/changelog.md)
- [Commits](https://github.com/sinonjs/sinon/compare/v13.0.2...v14.0.0)

---
updated-dependencies:
- dependency-name: sinon
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 07:56:16 +00:00
5 changed files with 18 additions and 12 deletions

10
index.d.ts vendored
View File

@@ -1,7 +1,7 @@
import { EventEmitter } from 'events'
import { RequestInit } from 'node-fetch'
import puppeteer from 'puppeteer'
import * as puppeteer from 'puppeteer'
declare namespace WAWebJS {
@@ -399,10 +399,10 @@ declare namespace WAWebJS {
* Remote store interface
*/
export interface Store {
sessionExists: ({session: string}) => Promise<boolean> | boolean,
delete: ({session: string}) => Promise<any> | any,
save: ({session: string}) => Promise<any> | any,
extract: ({session: string, path: string}) => Promise<any> | any,
sessionExists: (options: { session: string }) => Promise<boolean> | boolean,
delete: (options: { session: string }) => Promise<any> | any,
save: (options: { session: string }) => Promise<any> | any,
extract: (options: { session: string, path: string }) => Promise<any> | any,
}
/**

View File

@@ -47,7 +47,7 @@
"jsdoc": "^3.6.4",
"jsdoc-baseline": "^0.1.5",
"mocha": "^9.0.2",
"sinon": "^13.0.1"
"sinon": "^14.0.0"
},
"engines": {
"node": ">=12.0.0"

View File

@@ -989,7 +989,13 @@ class Client extends EventEmitter {
*/
async getCommonGroups(contactId) {
const commonGroups = await this.pupPage.evaluate(async (contactId) => {
const contact = window.Store.Contact.get(contactId);
let contact = window.Store.Contact.get(contactId);
if (!contact) {
const wid = window.Store.WidFactory.createUserWid(contactId);
const chatConstructor = window.Store.Contact.getModelsArray().find(c=>!c.isGroup).constructor;
contact = new chatConstructor({id: wid});
}
if (contact.commonGroups) {
return contact.commonGroups.serialize();
}

View File

@@ -178,9 +178,9 @@ class RemoteAuth extends BaseAuthStrategy {
await fs.promises.rm(dirElement, {
recursive: true,
force: true
});
}).catch(() => {});
} else {
await fs.promises.unlink(dirElement);
await fs.promises.unlink(dirElement).catch(() => {});
}
}
}

View File

@@ -430,14 +430,14 @@ class Message extends Base {
/**
* Deletes a message from the chat
* @param {?boolean} everyone If true and the message is sent by the current user, will delete it for everyone in the chat.
* @param {?boolean} everyone If true and the message is sent by the current user or the user is an admin, will delete it for everyone in the chat.
*/
async delete(everyone) {
await this.client.pupPage.evaluate((msgId, everyone) => {
let msg = window.Store.Msg.get(msgId);
if (everyone && msg.id.fromMe && msg._canRevoke()) {
return window.Store.Cmd.sendRevokeMsgs(msg.chat, [msg], {type: 'Sender'});
if (everyone && msg._canRevoke()) {
return window.Store.Cmd.sendRevokeMsgs(msg.chat, [msg], { type: msg.id.fromMe ? 'Sender' : 'Admin' });
}
return window.Store.Cmd.sendDeleteMsgs(msg.chat, [msg], true);