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