From 0f3837f5ae57ad153a3620f696139dbaedd0f90b Mon Sep 17 00:00:00 2001 From: Banks Nussman Date: Mon, 9 Jun 2025 10:18:38 -0400 Subject: [PATCH 1/3] invalidate things when needed and add comments --- packages/queries/src/linodes/linodes.ts | 5 +++++ packages/queries/src/support/support.ts | 18 +++++++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/packages/queries/src/linodes/linodes.ts b/packages/queries/src/linodes/linodes.ts index 61799b4c1f2..176b2f770b2 100644 --- a/packages/queries/src/linodes/linodes.ts +++ b/packages/queries/src/linodes/linodes.ts @@ -425,6 +425,11 @@ export const useCloneLinodeMutation = () => { linodeQueries.linode(linode.id).queryKey, linode, ); + /** + * For restricted users, we need to invalidate grants when a Linode is cloned + * so that Cloud Manager reflects the correct permissions for the newly created Linode. + */ + queryClient.invalidateQueries(profileQueries.grants); }, }); }; diff --git a/packages/queries/src/support/support.ts b/packages/queries/src/support/support.ts index a0f55774649..c9b973922f5 100644 --- a/packages/queries/src/support/support.ts +++ b/packages/queries/src/support/support.ts @@ -5,7 +5,7 @@ import { getTicket, getTicketReplies, getTickets, -} from '@linode/api-v4/lib/support'; +} from '@linode/api-v4'; import { createQueryKeys } from '@lukemorales/query-key-factory'; import { keepPreviousData, @@ -15,18 +15,15 @@ import { useQueryClient, } from '@tanstack/react-query'; +import { accountQueries } from '../account'; + import type { ReplyRequest, SupportReply, SupportTicket, TicketRequest, } from '@linode/api-v4'; -import type { - APIError, - Filter, - Params, - ResourcePage, -} from '@linode/api-v4/lib/types'; +import type { APIError, Filter, Params, ResourcePage } from '@linode/api-v4'; export const supportQueries = createQueryKeys('support', { ticket: (id: number) => ({ @@ -108,6 +105,13 @@ export const useSupportTicketCloseMutation = (id: number) => { queryClient.invalidateQueries({ queryKey: supportQueries.ticket(id).queryKey, }); + /** + * When a support ticket is closed, invalidate account notifications + * because, in some cases, closing a ticket can dismiss a notification. + */ + queryClient.invalidateQueries({ + queryKey: accountQueries.notifications.queryKey, + }); }, }); }; From 4c1821621a85faa7a838cc6544dbb3533a85da64 Mon Sep 17 00:00:00 2001 From: Banks Nussman Date: Mon, 9 Jun 2025 10:29:38 -0400 Subject: [PATCH 2/3] Added changeset: Incorrect permissions showing after cloning a Linode as a restricted users --- packages/manager/.changeset/pr-12351-fixed-1749479378595.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 packages/manager/.changeset/pr-12351-fixed-1749479378595.md diff --git a/packages/manager/.changeset/pr-12351-fixed-1749479378595.md b/packages/manager/.changeset/pr-12351-fixed-1749479378595.md new file mode 100644 index 00000000000..d5ec019b2af --- /dev/null +++ b/packages/manager/.changeset/pr-12351-fixed-1749479378595.md @@ -0,0 +1,5 @@ +--- +"@linode/manager": Fixed +--- + +Incorrect permissions showing after cloning a Linode as a restricted users ([#12351](https://github.com/linode/manager/pull/12351)) From 8ec1f49b60a7ca8fe05fe0baab4fa151303af774 Mon Sep 17 00:00:00 2001 From: Banks Nussman Date: Mon, 9 Jun 2025 10:31:10 -0400 Subject: [PATCH 3/3] Added changeset: Notifications not dismissing when closing a support ticket --- packages/manager/.changeset/pr-12351-fixed-1749479470038.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 packages/manager/.changeset/pr-12351-fixed-1749479470038.md diff --git a/packages/manager/.changeset/pr-12351-fixed-1749479470038.md b/packages/manager/.changeset/pr-12351-fixed-1749479470038.md new file mode 100644 index 00000000000..5af3e2469f6 --- /dev/null +++ b/packages/manager/.changeset/pr-12351-fixed-1749479470038.md @@ -0,0 +1,5 @@ +--- +"@linode/manager": Fixed +--- + +Notifications not dismissing when closing a support ticket ([#12351](https://github.com/linode/manager/pull/12351))