A notifications marker reads what it passes
Saving the notifications marker (/api/v1/markers) moved the marker but left every notification unread, so a Mastodon client's unread count never fell. The marker now marks read every notification up to it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
This commit is contained in:
1 parent
1d12dff033
commit
325f7605f2
2 files changed
+9
No files matched your search
@@ -146,6 +146,10 @@ namespace PrivaPub.Api.Mastodon.Controllers
|
||||
.Option(o => o.IsUpsert = true)
|
||||
.ExecuteAsync(token);
|
||||
result[timeline] = new Entities.Marker { LastReadId = marker.LastReadId, Version = marker.Version, UpdatedAt = MastodonJson.Time(marker.UpdatedAt) };
|
||||
// what the marker passes is read: the unread count (v1 and v2) counts only what is newer
|
||||
if (timeline == "notifications")
|
||||
await DB.Default.Update<NotificationEntity>().Match(n => n.AvatarId == MyId && !n.IsRead)
|
||||
.Match(f => f.Lte(n => n.ID, lastRead)).Modify(n => n.IsRead, true).ExecuteAsync(token);
|
||||
}
|
||||
return Json(result);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user