some relays announce announces: should we recursively resolve?
@huskydad on Discord reported receiving this activity:
{
"@context": "https://www.w3.org/ns/activitystreams",
"actor": "https://relay.fedi.buzz/instance/meow.social",
"id": "https://relay.fedi.buzz/announce/https%3A%2F%2Fmeow.social%2Fusers%2FSebinNyshkim%2Fstatuses%2F112070595966727861%2Factivity",
"object": "https://meow.social/users/SebinNyshkim/statuses/112070595966727861/activity",
"published": "2024-03-10T09:06:36Z",
"to": ["https://www.w3.org/ns/activitystreams#Public"],
"type": "Announce"
}
ApInboxService.announceNote
will try to resolve the object
, and get:
{
"@context": "https://www.w3.org/ns/activitystreams",
"id": "https://meow.social/users/SebinNyshkim/statuses/112070595966727861/activity",
"type": "Announce",
"actor": "https://meow.social/users/SebinNyshkim",
"published": "2024-03-10T09:06:23Z",
"to": ["https://www.w3.org/ns/activitystreams#Public"],
"cc": [
"https://meow.social/users/SebinNyshkim",
"https://meow.social/users/SebinNyshkim/followers"
],
"object": "https://meow.social/users/SebinNyshkim/statuses/110684095727742822"
}
which is another Announce
. ApNoteService.validateNote
does not consider Announce
a valid post type (grep for validPost
and isPost
), so the double-announce is rejected (noisily, but that's another issue)
The question is: should relayed Announce
s be accepted and processed? maybe just one level deeper?