From 31f89617d80ce65ac9d3a89dca7f66a4485a9074 Mon Sep 17 00:00:00 2001 From: diondiondion Date: Tue, 28 Apr 2026 17:25:17 +0200 Subject: [PATCH] Fix error when collection is `null` in collection notification (#38831) --- .../detail/revoke_collection_inclusion_modal.tsx | 2 +- .../components/notification_collection.tsx | 7 ++++++- app/javascript/mastodon/models/notification_group.ts | 4 ++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/javascript/mastodon/features/collections/detail/revoke_collection_inclusion_modal.tsx b/app/javascript/mastodon/features/collections/detail/revoke_collection_inclusion_modal.tsx index a5fc887ff6..489a35f3ae 100644 --- a/app/javascript/mastodon/features/collections/detail/revoke_collection_inclusion_modal.tsx +++ b/app/javascript/mastodon/features/collections/detail/revoke_collection_inclusion_modal.tsx @@ -27,7 +27,7 @@ const messages = defineMessages({ }, }); -export function useConfirmRevoke(collection?: ApiCollectionJSON) { +export function useConfirmRevoke(collection?: ApiCollectionJSON | null) { const dispatch = useAppDispatch(); const { id, items = [] } = collection ?? {}; const ownCollectionItemId = items.find((item) => item.account_id === me)?.id; diff --git a/app/javascript/mastodon/features/notifications_v2/components/notification_collection.tsx b/app/javascript/mastodon/features/notifications_v2/components/notification_collection.tsx index 6b70bf68cb..10466b5d3d 100644 --- a/app/javascript/mastodon/features/notifications_v2/components/notification_collection.tsx +++ b/app/javascript/mastodon/features/notifications_v2/components/notification_collection.tsx @@ -24,9 +24,14 @@ export const NotificationCollection: React.FC<{ unread: boolean; }> = ({ notification, unread }) => { const { collection, type } = notification; - const collectionCreatorAccount = useAccount(collection.account_id); + + const collectionCreatorAccount = useAccount(collection?.account_id); const confirmRevoke = useConfirmRevoke(collection); + if (!collection) { + return null; + } + return (
{ - collection: Collection; + collection: Collection | null; } export interface NotificationGroupCollectionUpdate extends BaseNotification<'collection_update'> { - collection: Collection; + collection: Collection | null; } export type NotificationGroup =