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.
This commit is contained in:
Jose Olarte III
2025-10-16 17:49:59 +08:00
parent ea19195850
commit e3598992e7

View File

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