fix: resolve duplicate names in Visibility dialog after Admit dialog
- Add deduplication logic to getMembersForVisibility() method to prevent duplicate entries - Fix timing issue with isManualRefresh flag reset in showSetBulkVisibilityDialog() - Ensure Visibility dialog shows each member only once when following Admit dialog - Remove debugging console logs after issue resolution The issue was caused by multiple calls to getMembersForVisibility() returning duplicate member entries, which were then displayed in the Visibility dialog. The fix deduplicates members by DID to ensure each member appears only once.
This commit is contained in:
@@ -517,7 +517,7 @@ export default class MembersList extends Vue {
|
||||
}
|
||||
|
||||
getMembersForVisibility() {
|
||||
return this.decryptedMembers
|
||||
const membersForVisibility = this.decryptedMembers
|
||||
.filter((member) => {
|
||||
// Exclude the current user
|
||||
if (member.did === this.activeDid) {
|
||||
@@ -539,6 +539,14 @@ export default class MembersList extends Vue {
|
||||
memberId: member.member.memberId.toString(),
|
||||
},
|
||||
}));
|
||||
|
||||
// Deduplicate members by DID to prevent duplicate entries
|
||||
const uniqueMembers = membersForVisibility.filter(
|
||||
(member, index, self) =>
|
||||
index === self.findIndex((m) => m.did === member.did),
|
||||
);
|
||||
|
||||
return uniqueMembers;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -799,12 +807,12 @@ export default class MembersList extends Vue {
|
||||
// Pause auto-refresh when dialog opens
|
||||
this.stopAutoRefresh();
|
||||
|
||||
// Reset manual refresh flag when showing visibility dialog
|
||||
this.isManualRefresh = false;
|
||||
|
||||
// Open the dialog directly
|
||||
this.visibilityDialogMembers = membersForVisibility;
|
||||
this.showSetVisibilityDialog = true;
|
||||
|
||||
// Reset manual refresh flag after dialog is shown
|
||||
this.isManualRefresh = false;
|
||||
}
|
||||
|
||||
startAutoRefresh() {
|
||||
|
||||
Reference in New Issue
Block a user