feat: add fe member list cache - #3607
Conversation
|
Your PR title doesn't contain a Jira issue key. Consider adding it for better traceability. Example:
Projects:
Please add a Jira issue key to your PR title. |
1 similar comment
|
Your PR title doesn't contain a Jira issue key. Consider adding it for better traceability. Example:
Projects:
Please add a Jira issue key to your PR title. |
|
Your PR title doesn't contain a Jira issue key. Consider adding it for better traceability. Example:
Projects:
Please add a Jira issue key to your PR title. |
1 similar comment
|
Your PR title doesn't contain a Jira issue key. Consider adding it for better traceability. Example:
Projects:
Please add a Jira issue key to your PR title. |
There was a problem hiding this comment.
This is the final PR Bugbot will review for you during this billing cycle
Your free Bugbot reviews will reset on December 12
Details
Your team is on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle for each member of your team.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
| orderBy: queryParams.value.orderBy, | ||
| }; | ||
| } | ||
| }, { immediate: true }); |
There was a problem hiding this comment.
Bug: UI Displays Stale Data After Mutations
Cache synchronization bug: Other components (member-list-toolbar.vue, member-dropdown-content.vue) still call memberStore.fetchMembers() to refresh data after mutations (delete, update), which updates the Pinia store but doesn't invalidate the Tanstack Query cache. This causes the member list page to show stale cached data after actions like deleting members or marking them as team members, since the watch on membersData won't trigger without cache invalidation.
what:
uses Tanstack cache for the member query api.
how:
members-listwhich takes id and paramsmember-merge-suggestions-countwhich only takes the idNote
Switch member list page to TanStack Vue Query with new query keys, caching members list and merge suggestion counts, and refactor filters/pagination to drive reactive queries with cache invalidation on project change.
frontend/src/modules/member/pages/member-list-page.vue)useQuery,useQueryClient).queryParamsand computedmembersQueryKey/mergeSuggestionsQueryKeyto drive queries.MemberService.listMembersusingTanstackKey.MEMBERS_LIST.MemberService.fetchMergeSuggestions(countOnly)usingTanstackKey.MEMBER_MERGE_SUGGESTIONS_COUNT.loading/tableLoadingfrom query state.queryParams(offset/limit/orderBy) instead of imperative fetch.selectedProjectGroupchange; reset params.memberFilterasInstanceType<typeof LfFilter>; callmemberStore.getMemberCustomAttributes().frontend/src/shared/types/tanstack.ts)TanstackKey.MEMBERS_LISTandTanstackKey.MEMBER_MERGE_SUGGESTIONS_COUNT.Written by Cursor Bugbot for commit 7351622. This will update automatically on new commits. Configure here.