Fix unsupported grouped notifications from streaming causing duplicate IDs (#32243)

This commit is contained in:
Claire 2024-10-04 14:23:30 +02:00
parent 81cd489208
commit 6d5aa58f88

View file

@ -206,7 +206,13 @@ function processNewNotification(
groups: NotificationGroupsState['groups'],
notification: ApiNotificationJSON,
) {
if (shouldGroupNotificationType(notification.type)) {
if (!shouldGroupNotificationType(notification.type)) {
notification = {
...notification,
group_key: `ungrouped-${notification.id}`,
};
}
const existingGroupIndex = groups.findIndex(
(group) =>
group.type !== 'gap' && group.group_key === notification.group_key,
@ -242,15 +248,12 @@ function processNewNotification(
mergeGapsAround(groups, existingGroupIndex);
groups.unshift(existingGroup);
return;
}
}
}
} else {
// We have not found an existing group, create a new one
groups.unshift(createNotificationGroupFromNotificationJSON(notification));
}
}
function trimNotifications(state: NotificationGroupsState) {
if (state.scrolledToTop && state.groups.length > NOTIFICATIONS_TRIM_LIMIT) {