fix: workspace member "me" filters now work in dashboard widgets (#20266)

## Summary

Fixes #20225

Dashboard graph widgets only passed `timeZone` in
`filterValueDependencies` when computing the GraphQL operation filter.
As a result, `isCurrentWorkspaceMemberSelected` ("me") filters were
silently ignored — the current workspace member ID was `undefined`.

Regular view filters already use `useFilterValueDependencies` which
provides both `timeZone` and `currentWorkspaceMemberId`. This PR
replaces the manual `{ timeZone: userTimezone }` object in
`useGraphWidgetQueryCommon` with `useFilterValueDependencies()`, giving
dashboard widgets full feature parity with view filters.

**Changed file:**
`packages/twenty-front/src/modules/page-layout/widgets/graph/hooks/useGraphWidgetQueryCommon.ts`

---------

Co-authored-by: martmull <martmull@hotmail.fr>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Raj Bhaskar
2026-05-07 18:06:14 +05:30
committed by GitHub
parent 2eae25dc34
commit 2b4fa9d8cf
15 changed files with 62 additions and 7 deletions
@@ -30,6 +30,7 @@ describe('useCreateWorkspaceInvitation', () => {
expect(mutationCallSpy).toHaveBeenCalledWith({
onCompleted: expect.any(Function),
onError: expect.any(Function),
variables: params,
});
});
@@ -46,6 +47,7 @@ describe('useCreateWorkspaceInvitation', () => {
expect(mutationCallSpy).toHaveBeenCalledWith({
onCompleted: expect.any(Function),
onError: expect.any(Function),
variables: params,
});
});
@@ -30,6 +30,7 @@ describe('useDeleteWorkspaceInvitation', () => {
expect(mutationCallSpy).toHaveBeenCalledWith({
onCompleted: expect.any(Function),
onError: expect.any(Function),
variables: params,
});
});
@@ -30,6 +30,7 @@ describe('useResendWorkspaceInvitation', () => {
expect(mutationCallSpy).toHaveBeenCalledWith({
onCompleted: expect.any(Function),
onError: expect.any(Function),
variables: params,
});
});
@@ -5,11 +5,13 @@ import {
} from '~/generated-metadata/graphql';
import { workspaceInvitationsState } from '@/workspace-invitation/states/workspaceInvitationsStates';
import { useSetAtomState } from '@/ui/utilities/state/jotai/hooks/useSetAtomState';
import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar';
export const useCreateWorkspaceInvitation = () => {
const [sendInvitationsMutation] = useMutation(SendInvitationsDocument);
const setWorkspaceInvitations = useSetAtomState(workspaceInvitationsState);
const { enqueueErrorSnackBar } = useSnackBar();
const sendInvitation = async (
variables: SendInvitationsMutationVariables,
@@ -22,6 +24,9 @@ export const useCreateWorkspaceInvitation = () => {
...data.sendInvitations.result,
]);
},
onError: (error) => {
enqueueErrorSnackBar({ apolloError: error });
},
});
};
@@ -5,6 +5,7 @@ import {
} from '~/generated-metadata/graphql';
import { workspaceInvitationsState } from '@/workspace-invitation/states/workspaceInvitationsStates';
import { useSetAtomState } from '@/ui/utilities/state/jotai/hooks/useSetAtomState';
import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar';
export const useDeleteWorkspaceInvitation = () => {
const [deleteWorkspaceInvitationMutation] = useMutation(
@@ -12,6 +13,7 @@ export const useDeleteWorkspaceInvitation = () => {
);
const setWorkspaceInvitations = useSetAtomState(workspaceInvitationsState);
const { enqueueErrorSnackBar } = useSnackBar();
const deleteWorkspaceInvitation = async ({
appTokenId,
@@ -27,6 +29,9 @@ export const useDeleteWorkspaceInvitation = () => {
),
);
},
onError: (error) => {
enqueueErrorSnackBar({ apolloError: error });
},
});
};
@@ -5,6 +5,7 @@ import {
} from '~/generated-metadata/graphql';
import { workspaceInvitationsState } from '@/workspace-invitation/states/workspaceInvitationsStates';
import { useSetAtomState } from '@/ui/utilities/state/jotai/hooks/useSetAtomState';
import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar';
export const useResendWorkspaceInvitation = () => {
const [resendWorkspaceInvitationMutation] = useMutation(
@@ -12,6 +13,7 @@ export const useResendWorkspaceInvitation = () => {
);
const setWorkspaceInvitations = useSetAtomState(workspaceInvitationsState);
const { enqueueErrorSnackBar } = useSnackBar();
const resendInvitation = async ({
appTokenId,
@@ -28,6 +30,9 @@ export const useResendWorkspaceInvitation = () => {
),
]);
},
onError: (error) => {
enqueueErrorSnackBar({ apolloError: error });
},
});
};