Files
SocialPub/tools/pasture/town/gaps.json
T
thepraandClaude Opus 5.5 34c0f696af A community's moderators lock threads and ban members
Lemmy's moderation reached PrivaPub only as removals. Now a remote
community's lock and ban, relayed in its Announce, apply too:

- a lock (Announce{Lock}, or commentsEnabled false on the post) refuses
  replies to the thread, ours included, until Undo{Lock}; statuses say so
  in privapub.locked;
- a ban of a persona (Announce{Block} with the community as target, or the
  moderator's own Block sent straight to us, which is the community's ban
  and never the moderator's block of the persona) shows as blocked_by on
  the community and refuses the persona's posts and replies there until
  the Undo.

The Lemmy scenario's removal was an expected failure only because it gave
up before Lemmy's 30-second batch; it now waits, and checks the lock and
the ban live (Lemmy refuses a lock or an unban without a reason): 29
checks, none expected to fail. G-0003 and G-0006 are closed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
2026-10-05 06:10:33 +02:00

98 lines
4.0 KiB
JSON

[
{
"id": "G-0001",
"title": "Likes, reactions, votes and downvotes from followers on followers-only posts, and from members on circle posts, are dropped",
"match": {
"feature": "count\\.(like|react|vote)\\.(followers|circle)",
"observer": "privapub"
},
"kind": "server",
"phase": "now",
"code": "PrivaPub/Federation/Inbox/Handlers/LikeHandler.cs (MaySee)",
"opened": "2026-10-04",
"status": "closed",
"fixed_in": "128ff89",
"closed": "2026-10-04",
"note": "19 checks passed on the fixed PrivaPub (village, second run)"
},
{
"id": "G-0002",
"title": "A remote Block is not enforced: the blocked persona still sees and reaches the blocker",
"match": {
"feature": "block\\.enforced",
"observer": "privapub"
},
"kind": "server",
"phase": "P7",
"doc": "docs/INTEROP.md (Mastodon gaps)",
"opened": "2026-10-01",
"status": "closed",
"closed": "2026-10-04",
"fixed_in": "d405269",
"note": "checked by the Mastodon scenario (blocked_by)"
},
{
"id": "G-0003",
"title": "Votes and moderation that a Lemmy community relays inside Announce (Like, Dislike, Undo, Delete, Block) are dropped",
"match": {
"feature": "count\\.like\\.community",
"observer": "privapub",
"origin": "lemmy"
},
"kind": "server",
"phase": "P7",
"code": "PrivaPub/Federation/Inbox/Handlers/AnnounceHandler.cs:203",
"opened": "2026-10-01",
"status": "closed",
"note": "Relayed likes count since ed08f80, and a vote turned the other way replaces the first since bbeeda7. A moderator's removal, relayed as Announce{Delete}, was handled all along (believed once Lemmy answers 410); the scenario only gave up before Lemmy's 30-second batch. Locks and community bans are G-0006.",
"closed": "2026-10-05",
"fixed_in": "ed08f80 (relayed votes), bbeeda7 (a vote turned the other way)"
},
{
"id": "G-0004",
"title": "Iceshrimp.NET sends a new note only to its author's followers: a remote account it mentions or answers gets nothing until the note is edited",
"match": {
"feature": "deliver\\..*",
"origin": "iceshrimp",
"how": "addressed only"
},
"kind": "peer",
"phase": "upstream",
"code": "Iceshrimp.NET v2026.1.2-beta NoteService.PublishNoteAsync: recipients from note.Mentions (empty when the Create is queued) and note.Reply.ReplyUserId (the grandparent's author)",
"opened": "2026-10-05",
"status": "open",
"note": "seen in the jobs table: the Create's pre-deliver job has recipientIds [] for every visibility, through the Mastodon and the native API; the Update of the same note lists the mentioned account and reaches PrivaPub"
},
{
"id": "G-0005",
"title": "Misskey keeps a post's renote count when a remote Undo{Announce} deletes the renote, so an undone boost still counts",
"match": {
"feature": "client\\.action\\.boost",
"origin": "misskey"
},
"kind": "peer",
"phase": "upstream",
"code": "misskey-dev/misskey packages/backend/src/core/NoteDeleteService.ts: only repliesCount is decremented on delete",
"opened": "2026-10-05",
"status": "open",
"note": "the renote row is gone after our Undo (checked in its database); renoteCount stays up. Sharkey decrements it."
},
{
"id": "G-0006",
"title": "Locks and community bans that a Lemmy community relays inside Announce (Lock, Block) are dropped",
"match": {
"feature": "moderation\\.(lock|ban)\\.community",
"observer": "privapub",
"origin": "lemmy"
},
"kind": "server",
"phase": "P7",
"code": "PrivaPub/Federation/Inbox/Handlers/AnnounceHandler.cs (the default case)",
"opened": "2026-10-05",
"status": "closed",
"note": "Locks (Announce{Lock}, its Undo, or commentsEnabled false) refuse replies; a ban (Announce{Block} with the community as target, or the moderator's own Block sent straight to us) shows as blocked_by on the community and refuses the persona there until the Undo. Checked live by the Lemmy scenario; no town cell yet.",
"closed": "2026-10-05",
"fixed_in": "A community's moderators lock threads and ban members (2026-10-05)"
}
]