From e3598992e72e10b68a77f77e77eede6aeb9298cd Mon Sep 17 00:00:00 2001 From: Jose Olarte III Date: Thu, 16 Oct 2025 17:49:59 +0800 Subject: [PATCH] feat: pause auto-refresh when SetVisibilityDialog is open - Pause auto-refresh when SetVisibilityDialog becomes visible - Resume auto-refresh when dialog is closed - Prevents background refresh interference during visibility settings - Fix type compatibility for visibilityDialogMembers data structure This ensures users can interact with the visibility dialog without the members list refreshing in the background, providing a better user experience for setting member visibility preferences. --- src/components/MembersList.vue | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/components/MembersList.vue b/src/components/MembersList.vue index a315cf24..6d15e0f2 100644 --- a/src/components/MembersList.vue +++ b/src/components/MembersList.vue @@ -447,9 +447,12 @@ export default class MembersList extends Vue { return !contact || !contact.seesMe; }) .map((member) => ({ - ...member, + did: member.did, + name: member.name, isContact: !!this.getContactFor(member.did), - contact: this.getContactFor(member.did), + member: { + memberId: member.member.memberId.toString(), + }, })); } @@ -595,6 +598,9 @@ export default class MembersList extends Vue { // Filter members to show only those who need visibility set const membersForVisibility = this.getMembersForVisibility(); + // Pause auto-refresh when dialog opens + this.stopAutoRefresh(); + // Open the dialog directly this.visibilityDialogMembers = membersForVisibility; this.showSetVisibilityDialog = true; @@ -648,6 +654,8 @@ export default class MembersList extends Vue { this.visibilityDialogMembers = []; // Refresh data when dialog is closed this.refreshData(); + // Resume auto-refresh when dialog is closed + this.startAutoRefresh(); } beforeDestroy() {