Public threads name their replies and context

Owner decision of 2026-10-06: a persona's public or unlisted post outside any group names its replies
(…/scribbles/{id}/replies) and its conversation's context (FEP-7888), the root's …/context that a reply inherits from
its parent, ours or another server's. Both list only the public and unlisted posts PrivaPub holds; followers-only,
circle, direct and local-only posts name neither and their collections answer 404. Checked live: opening alice's
thread on Mastodon finds carol's reply, which nobody there follows (scenarios/threads.sh).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
This commit is contained in:
thepraandClaude Opus 5.5 committed 2026-10-06 07:13:54 +02:00
1 parent 93e13e5563
commit bf37223849
8 files changed
+152 -1

No files matched your search

@@ -259,6 +259,9 @@ namespace PrivaPub.Domain.Statuses
}
else if (!isLocalOnly)
{
// the conversation it belongs to (FEP-7888): its parent's, or its own when it starts one
if (group == default && visibility is PostVisibility.Public or PostVisibility.Unlisted)
post.ContextURI = parent == default ? post.ObjectURI + "/context" : parent.ContextURI;
var note = ActivityPubRenderer.Note(post, author, group, post.InReplyToURI);
create = ActivityPubRenderer.Create(author, note, $"create-{post.ID}");
post.To = Strings(note["to"]);