Non sono sicuro che si tratti di un bug in Discourse. Ho risposto al problema su Mastodon. Copio qui per comodità:
Il motivo per cui restituiamo un 400 in quello scenario è che le specifiche di ActivityPub sembrano richiederlo.
Le richieste POST (ad esempio, all’inbox) DEVONO essere effettuate con un Content-Type di application/ld+json; profile=“ActivityStreams 2.0 Terms” e le richieste GET (vedi anche 3.2 Recupero di oggetti) con un header Accept di application/ld+json; profile=“ActivityStreams 2.0 Terms”
@ClearlyClaire C’è bisogno di aggiungere
text/html;q=0.1all’headerAccept?