fix(login): call resetStore() at login

To ensure that queries which identify the user via HTTP headers (instead of GraphQL variables) are properly refetched.
This commit is contained in:
Massedil
2025-07-04 19:47:09 +02:00
parent 1e4103acfa
commit 1cf1077bb0
4 changed files with 16 additions and 31 deletions

View File

@@ -45,20 +45,9 @@ export function useCurrentUserIdentities() {
const { result, error, loading } = useQuery<{
loggedUser: Pick<ICurrentUser, "actors">;
}>(
IDENTITIES,
{
// To ensure the request is re-executed when the user changes,
// we include a dummy `_user` parameter that's ignored by the server.
// This function does not depend on the user, the server identifies them by the token.
// So without this dummy parameter, the GraphQL call is not automatically reloaded
// when the actor changes.
_user: currentUser?.value?.id,
},
() => ({
enabled: enabled,
})
);
}>(IDENTITIES, {}, () => ({
enabled: enabled,
}));
const identities = computed(() =>
enabled.value ? result.value?.loggedUser?.actors : undefined

View File

@@ -4,7 +4,6 @@ import { useCurrentUserClient } from "./user";
import type { Ref } from "vue";
import { IGroup } from "@/types/actor";
import { GROUP_DISCUSSIONS_LIST } from "@/graphql/discussion";
import { useCurrentActorClient } from "./actor";
export function useGroupDiscussionsList(
name: string | undefined | Ref<string | undefined>,
@@ -14,7 +13,6 @@ export function useGroupDiscussionsList(
}
) {
const { currentUser } = useCurrentUserClient();
const { currentActor } = useCurrentActorClient();
const { result, error, loading, onResult, onError, refetch } = useQuery<
{
@@ -32,12 +30,6 @@ export function useGroupDiscussionsList(
GROUP_DISCUSSIONS_LIST,
() => ({
name: unref(name),
// To ensure the request is re-executed when the actor changes,
// we include a dummy `_actor` parameter that's ignored by the server.
// This function does not depend on the actor, the server identifies them by the token.
// So without this dummy parameter, the GraphQL call is not automatically reloaded
// when the actor changes.
_actor: currentActor?.value?.id,
...options,
}),
() => ({

View File

@@ -4,7 +4,6 @@ import { useCurrentUserClient } from "./user";
import type { Ref } from "vue";
import { IGroup } from "@/types/actor";
import { GROUP_RESOURCES_LIST } from "@/graphql/resources";
import { useCurrentActorClient } from "./actor";
export function useGroupResourcesList(
name: string | undefined | Ref<string | undefined>,
@@ -14,7 +13,6 @@ export function useGroupResourcesList(
}
) {
const { currentUser } = useCurrentUserClient();
const { currentActor } = useCurrentActorClient();
const { result, error, loading, onResult, onError, refetch } = useQuery<
{
@@ -32,12 +30,6 @@ export function useGroupResourcesList(
GROUP_RESOURCES_LIST,
() => ({
name: unref(name),
// To ensure the request is re-executed when the actor changes,
// we include a dummy `_actor` parameter that's ignored by the server.
// This function does not depend on the actor, the server identifies them by the token.
// So without this dummy parameter, the GraphQL call is not automatically reloaded
// when the actor changes.
_actor: currentActor?.value?.id,
...options,
}),
() => ({