From 63b8cf3952804327d5afb1ce150305f02dd7e40a Mon Sep 17 00:00:00 2001 From: Massedil Date: Mon, 17 Feb 2025 17:31:25 +0100 Subject: [PATCH] #1683 Ensure personMemberships use already cached values --- .../Event/OrganizerPickerWrapper.vue | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/components/Event/OrganizerPickerWrapper.vue b/src/components/Event/OrganizerPickerWrapper.vue index 86cfcbf86..b3b3161a1 100644 --- a/src/components/Event/OrganizerPickerWrapper.vue +++ b/src/components/Event/OrganizerPickerWrapper.vue @@ -277,13 +277,20 @@ const setContactFilter = (newContactFilter: string) => { const debounceSetFilterByName = debounce(setContactFilter, 1000); -watch(personMemberships, () => { - if ( - personMemberships.value?.elements[0]?.parent?.id === route.query?.actorId - ) { - selectedActor.value = personMemberships.value?.elements[0]?.parent; - } -}); +// When the app loads for the first time, personMemberships is set and cached. +// If the app is already loaded, personMemberships remains unchanged. +// To ensure the watch() function runs at least once, set "immediate: true". +watch( + personMemberships, + () => { + if ( + personMemberships.value?.elements[0]?.parent?.id === route.query?.actorId + ) { + selectedActor.value = personMemberships.value?.elements[0]?.parent; + } + }, + { immediate: true } +); const relay = async (group: IGroup): Promise => { actualContacts.value = [];