Properly compare members addresses instead of stringifying them
This commit is contained in:
parent
837ae35be9
commit
1bdb66b583
@ -572,10 +572,9 @@ class ChatElement extends HTMLElement {
|
||||
const roles = await service.getRoles(process);
|
||||
const members = roles.dm.members;
|
||||
for (const member of members) {;
|
||||
if (JSON.stringify(member.sp_addresses) !== JSON.stringify(myAddresses)) {
|
||||
|
||||
if (!service.compareMembers(member.sp_addresses, myAddresses)) {
|
||||
for (const [id, mem] of Object.entries(allMembers)) {
|
||||
if (JSON.stringify(mem.sp_addresses) === JSON.stringify(member.sp_addresses)) {
|
||||
if (service.compareMembers(mem.sp_addresses, member.sp_addresses)) {
|
||||
this.dmMembersSet.add(id);
|
||||
break;
|
||||
}
|
||||
@ -586,7 +585,7 @@ class ChatElement extends HTMLElement {
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
console.log("SET DE MEMBRES AVEC QUI JE DM:", this.dmMembersSet);
|
||||
console.log("dmMembersSet:", this.dmMembersSet);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
@ -1161,6 +1161,15 @@ export default class Services {
|
||||
return this.membersList[memberId];
|
||||
}
|
||||
|
||||
public compareMembers(memberA: string[], memberB: string[]): boolean {
|
||||
if (!memberA || !memberB) { return false }
|
||||
if (memberA.length !== memberB.length) { return false }
|
||||
|
||||
const res = memberA.every(item => memberB.includes(item)) && memberB.every(item => memberA.includes(item));
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
public async handleCommitError(response: string) {
|
||||
const content = JSON.parse(response);
|
||||
// Wait and retry
|
||||
|
Loading…
x
Reference in New Issue
Block a user