Skip to content

mark grouped notifs by oldest id - sort-of fix 1139

What does this MR do?

THIS IS A MERGE TO STABLE because this is a bug in the current release

mark grouped notifs by oldest id - sort-of fix #1139

Misskey's code does the same, but our groups behave differently enough that this may be not the best choice

for example, let's say we have:

  • notifications 1-5 for reaction to note A
  • notifications 6-8 for reaction to note B
  • notifications 9-12 for reaction to note A
  • notification 13-19 for non-groupable events
  • notification 20 for reaction to note A

and that events happened one every minute (so the last notification is from 20 minutes ago)

client requests the most recent 10 notifications; we fetch notifications 1-10, and reply:

  • grouped id 6 for reactions 6-8 to note B
  • grouped id 10 for reactions 1-5, 9-10 to note A

then the client requests 10 more notifications, untilId=10; we fetch notifications 11-20, and reply:

  • non-grouped notifications 13-19
  • grouped id 20 for reactions 11,12,20 to note A

because we sort by id, and also the createdAt marks the newest event in each group, the client will then show:

  • 6 reactions to note B, 6 minutes ago
  • 4 reactions to note A, 1 minute ago
  • notifications 13-19, 13 minutes to 19 minutes ago
  • 3 reactions to note A, 11 minutes ago

I don't know how to make this work better ☹️

Contribution Guidelines

By submitting this merge request, you agree to follow our Contribution Guidelines

  • I agree to follow this project's Contribution Guidelines
  • I have made sure to test this merge request

Closes #1139

Merge request reports

Loading