Browse Source

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.
pull/211/head
Jose Olarte III 2 weeks ago
parent
commit
2f1eeb6700
  1. 16
      src/components/MembersList.vue

16
src/components/MembersList.vue

@ -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() {

Loading…
Cancel
Save