mirror of
https://git.kescher.at/CatCatNya/catstodon.git
synced 2024-11-26 11:21:36 +01:00
[Glitch] Fix unsupported grouped notifications from streaming causing duplicate IDs
Port 6d5aa58f88
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
This commit is contained in:
parent
4d611e94ee
commit
354f54907d
1 changed files with 45 additions and 42 deletions
|
@ -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) {
|
||||||
|
|
Loading…
Reference in a new issue