Еще одна особенность, которая меня раздражала — почти никакие инстансы, кроме Mastodon, не отдают в ActivityPub-объектах коллекцию replies.
Для коммуникаций сервер-сервер это, в каком-то смысле, даже можно понять — другой инстанс все равно получает большинство ответов через федерацию, и может связать их по полю inReplyTo. Но для коммуникаций сервер-клиент это отвратительно — мне приходится делать фоллбеки на API конкрентных реализаций, через которые все реплаи обычно доступны.
С необходимостью ходить в API конкретных реализаций связана еще одна проблема: ID сущностей в этих API и в ActivityPub зачастую совершенно разные!
Из-за этого мне приходится костылями вытаскивать "внутренние" id, и не для всех серверов я умею это делать. Для некоторых, например, мне приходится делать запрос на URI из ActivityPub-объекта и потом смотреть, на какой URL меня редиректнет — в этом URL будет тот самый внутренний ID.
А вот что делать для Френдики, я так и не придумал. Буду рад, если кто подскажет, кстати.
С необходимостью ходить в API конкретных реализаций связана еще одна проблема: ID сущностей в этих API и в ActivityPub зачастую совершенно разные!
Из-за этого мне приходится костылями вытаскивать "внутренние" id, и не для всех серверов я умею это делать. Для некоторых, например, мне приходится делать запрос на URI из ActivityPub-объекта и потом смотреть, на какой URL меня редиректнет — в этом URL будет тот самый внутренний ID.