Personas a remote post is addressed to see it, named or not
A remote post decided who here may see it by its Mention tags alone. A followers-only post addressed in to or cc to a persona without naming it (Akkoma's to[], or a GoToSocial edit that took the @name out while the post stayed addressed to the persona) was hidden from that persona. Such personas are now kept as silent mentions, as Mastodon does: they see the post and it reaches their home, and no list shows them as mentioned. An edit never narrows who a post was for. The GoToSocial note that showed it is the first captured fixture (Fixtures/gotosocial), and parses with its lone tag, to and cc. 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
b9286c2c6e
commit
08acdc0503
7 files changed
+62
-10
No files matched your search
@@ -57,6 +57,19 @@ namespace PrivaPub.Tests.Federation
|
||||
Assert.Null(note.Updated);
|
||||
}
|
||||
|
||||
// GoToSocial writes a lone tag, and lone to and cc, as plain values instead of arrays (captured by the town)
|
||||
[Fact]
|
||||
public void Reads_a_gotosocial_reply_whose_only_tag_and_audience_are_single_values()
|
||||
{
|
||||
var note = NoteParser.Parse(JsonNode.Parse(File.ReadAllText(Path.Combine(AppContext.BaseDirectory, "Fixtures", "gotosocial",
|
||||
"followers-only-reply-one-tag.json"))));
|
||||
|
||||
var mention = Assert.Single(note.Mentions);
|
||||
Assert.Equal("https://privapub.test/peasants/flor_pp98", mention.ActorURI);
|
||||
Assert.Equal(["https://gts.test/users/ines_gt59/followers"], note.To);
|
||||
Assert.Equal(["https://privapub.test/peasants/flor_pp98"], note.Cc);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Reads_a_lemmy_page_with_a_title()
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user