"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)"
"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"
"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)"
"title":"Pixelfed files a direct message it fetches (rather than receives) as followers-only, so the sender's followers there can read it",
"match":{
"feature":"hide\\.direct",
"observer":"pixelfed"
},
"kind":"peer",
"phase":"upstream",
"code":"pixelfed 0.14.4 app/Util/ActivityPub/Helpers.php getScope(): anything neither public nor unlisted is 'private'; only the delivery path checks DirectMessageValidator::isDirect",
"opened":"2026-10-05",
"status":"open",
"note":"A delivered DM is handled as one. Resolving its address (a recipient pasting its link; the town's driver does it to reply) makes Pixelfed's instance actor fetch it, which PrivaPub allows since a recipient lives there, and the copy is stored with scope private."
"code":"lemmy 0.19.20 crates/apub/src/protocol/objects/chat_message.rs: ChatMessageType has ChatMessage alone, so a Create{Note} to a person answers 400 (Lemmy 1.0 takes a Note); mbin 1.10.1 src/Service/ActivityPub/ActivityPubContent.php getVisibility(): a Note neither public nor to the author's followers throws 'PM: not implemented'",
"note":"Closed by the owner's decision of 2026-10-05: a direct message to one account goes as a ChatMessage when the account writes to us that way, or when its server's NodeInfo names Lemmy before 1.0 or Mbin (the one place PrivaPub decides by software). Checked live: Lemmy 0.19's first message and Mbin's thread both ways.",