[Glitch] Fix unsupported grouped notifications from streaming causing duplicate IDs

Port 77f5b127fa to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
pull/2867/head
Claire 2024-10-04 14:23:30 +02:00
parent 819abbdb2f
commit c720623dc7
1 changed files with 45 additions and 42 deletions

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,14 +248,11 @@ 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) {