Федерация с самим собой теперь должна правильно работать. В частности, теперь должно быть можно добавлять в друзья людей с других серверов и постить на стены на других серверах. Правда, пока что сервер только один.
- Переделал систему хранения картинок. Всем надо перезалить свои аватарки. Теперь все аватарки хранятся в 4 размерах и в двух форматах, jpeg и webp. Аватарки пользователей с других серверов скачиваются и хранятся так же, в LRU-кэше ограниченного размера. - Оказалось, что я забыл отправлять действие Delete на другие сервера при удалении поста. Из-за этого локально посты удалялись, а во всяких мастодонах оставались. Теперь отправляю.
Надо добавить файл для JDON-LD контекста, который использует Pleroma, потому что сейчас посты оттуда у меня не принимаются.
2 важных изменения
- Переделал систему хранения картинок. Всем надо перезалить свои аватарки. Теперь все аватарки хранятся в 4 размерах и в двух форматах, jpeg и webp. Аватарки пользователей с других серверов скачиваются и хранятся так же, в LRU-кэше ограниченного размера. - Оказалось, что я забыл отправлять действие Delete на другие сервера при удалении поста. Из-за этого локально посты удалялись, а во всяких мастодонах оставались. Теперь отправляю.
Так. Наконец-то научился генерировать подписи JSON-LD-объектов по алгоритму linked data signatures. Они нужны мастодону, чтобы пересылать всякие там ответы на другие сервера, о которых твой не знает. На момент прямо сейчас я их только генерирую, но ещё не проверяю. Алгоритм проверки есть, он работает и даже покрыт юнит-тестами (!), просто пока не используется для входящих запросов.
Если всё работает правильно, этот пост должен быть виден в мастодоне.
В принципе, подписывание на аккаунты в других ActivityPub-совместимых сетях уже работает, в обе стороны. Но с ограничениями. Например, репосты (действие "Announce") не поддерживаются пока. Фотки всякие кладутся в базу, но пока не отображаются. Отписаться простого способа пока тоже пока нет. Но если хотите затестить, зайдите, например, на страницу разработчика Mastodon и нажмите follow. Там спросят кто вы, вводите юзернейм@friends.grishka.me, подтверждаете и вроде всё должно получиться. После этого новые посты начнут появляться в ленте, но старые не подтянутся (а должны ли? но это в любом случае надо делать отдельно).
В принципе, подписывание на аккаунты в других ActivityPub-совместимых сетях уже работает, в обе стороны. Но с ограничениями. Например, репосты (действие "Announce") не поддерживаются пока. Фотки всякие кладутся в базу, но пока не отображаются. Отписаться простого способа пока тоже пока нет. Но если хотите затестить, зайдите, например,