Похоже, в режиме «Статья» возникнут проблемы с именами пользователей на нелатинице. Похоже, имя пользователя нужно закодировать?
@angus @infodesk@oxygen.offdem.net должен был опубликовать несколько постов после первоначального сообщения, но они, похоже, вообще не отображаются в моей ленте, при этом в Discourse нет никаких ошибок.
Несколько дней назад я использовал черновик для совместного доступа перед публикацией, но сообщение не появилось в Mastodon. Я подумал, что это связано с ошибкой в работе общих черновиков, и сегодня опубликовал пост напрямую в новую тему, но, хотя пост должен был быть отправлен в Федериверс в 13:18 CET, ничего не появляется — значит, его нельзя репостить. ![]()
Версия плагина
eee34494
Журнал ошибок
Наконец-то появился: https://oxygen.offdem.net/logs/show/c6449d732e8e9b866bf07935e8132744
(Обратите внимание, что исправление, которое повторно отправит последние посты, было бы отличным)
Последние объявления
Настройки категории
Плагин ActivityPub обладает надежной системой ведения журналов, которая выявляет большинство проблем. Сначала убедитесь, что для плагина включено подробное ведение журнала.
Каков статус публикации этого поста? (т. е. поделитесь скриншотом модального окна, которое появляется при нажатии на значок AP в посте)
Я предполагаю, что статус публикации — «опубликовано» (т. е. значок зеленый)? Если у вас было включено подробное ведение журнала, могли бы вы поделиться тем, что было записано в журнал при публикации? (что-то обязательно было записано).
Спасибо, @angus, лог ошибки находится в моём предыдущем сообщении:
Вот статус сообщения:
Вы можете просмотреть тему здесь: O₄FFDEM programme is out! - Announcements - OFFDEM
Спасибо за дополнительные подробности.
Просмотр журналов на инстансе доступен только администраторам ![]()
Не могли бы вы скопировать соответствующие логи в личное сообщение мне? Спасибо.
Привет, друзья! Большое спасибо за отличную работу, которую вы проделали, чтобы довести эту концепцию до этого этапа!! Я начал следить за обсуждениями по внедрению федерации в Discourse много лет назад, и я рад видеть, что проект так далеко продвинулся.
Мне удалось успешно объединить мою категорию Discourse, подписавшись на неё со своего аккаунта в Mastodon. Новые темы в моей категории доступны для просмотра с моего аккаунта Mastodon.
Похоже, я не получаю ответы из Mastodon на мои федеративные темы Discourse внутри самого Discourse, но тооты верхнего уровня с моего подписанного аккаунта Mastodon появляются как новые темы без проблем. Это сейчас ожидаемое поведение?
Я прочитал эту ветку, но не припоминаю, чтобы там явно упоминалась федерация ответов на темы.
Вот скриншот моих настроек ActivityPub для категории.
Это как-то связано с настройками безопасности категории? Сейчас у меня так настроено, что все могут видеть темы, но создавать и отвечать на них могут только администраторы.
Спасибо!
Привет, @rsmithlal, спасибо, что попробовали плагин и предоставили подробный отзыв!
Да, именно поэтому ответы на тосты не импортируются. Просто чтобы я правильно понял: вы ожидаете, что:
- Пользователи не смогут отвечать на тему в Discourse.
- Пользователи смогут отвечать на тему в Mastodon.
Верно? Если да, то такая функциональность пока не поддерживается. Однако я понимаю вашу точку зрения: пока не до конца ясно, как настройки безопасности категорий должны взаимодействовать с ActivityPub. Мы надеемся более явно прояснить этот вопрос на следующем этапе работы.
Привет, @angus, это означает ли, что ответы на твиты в темы Discourse, которые были объединены в федерацию, должны отображаться в объединённой теме как ответы Discourse при правильной настройке?
Например:
- Допустим, я создаю новую тему “Моя первая объединённая тема” на моём экземпляре Discourse Discourse1.server в объединённой категории “Моя объединённая категория”.
- Эта новая тема объединяется и появляется как твит от fed-cat@discourse1.server в ленте моего аккаунта Mastodon rob@mastodon1.server, который подписан на “Моя объединённая категория, fed-cat@discourse1.server”.
- Я создаю ответный твит на Mastodon1.server на объединённую заметку, содержащую содержимое “Моя первая объединённая тема”, первоначально объединённую Discourse1.server.
В этом случае я ожидаю, что мой ответный твит Mastodon на эту объединённую тему Discourse должен отобразиться как ответ в исходной теме “Моя первая объединённая тема” на Discourse1.server.
Для меня это был бы идеальный сценарий, но пока мне не удалось его реализовать. Возможно ли это сейчас?
Если это возможно, какие настройки конфигурации позволят ему работать как ожидается?
Большое спасибо. Надеюсь, моё объяснение было понятным!
В главной категории включена функция ActivePub, и я создал подкатегорию тоже с ActivePub. Но когда я пытаюсь подписаться на кого-то через подкатегорию, нажимая кнопку «Подписаться», получаю скучную страницу ошибки «Не найдено» или «Не разрешено». Главные категории работают отлично.
Ничего необычного или странного в настройках не делалось.
Это ожидаемое поведение или баг?
@rsmithlal Да, то, что вы описали, соответствует тому, как должен работать тип публикации «Полная тема». Единственное изменение, которое вам нужно внести, — разрешить обычным пользователям отвечать в категории (в настройках доступа к категории). Проблема в том, что это не работает у вас, заключается в том, что вы ограничили ответы только администраторами. Ответы, импортированные через ActivityPub, не могут переопределить это ограничение.
В общем случае подкатегории не наследуют конфигурацию родительских категорий, и ActivityPub в этом отношении не исключение. Настройки ActivityPub специфичны для каждой категории, и наследования (пока) нет. Тем не менее, то, что вы описали, является проблемой пользовательского интерфейса, которую я скоро устраню: элементы управления ActivityPub не должны отображаться, когда вы просматриваете именно подкатегорию.
Спасибо, @angus, я попробую. Очень интересно!!
Я в основном ограничивал ответы, потому что это была всего лишь тестовая категория и тема. Изначально я сделал её приватной для администраторов, но не мог активировать ActivityPub, пока не сделал её видимой для всех. Этот обмен информацией был очень познавательным.
@Jagster Проблема, которую вы описали, будет исправлена после слияния. Спасибо за сообщение об этом.
Проблема
Здравствуйте, мы тестируем этот плагин на agora.eXO.cat, но не можем заставить его работать (статус на сайте Discourse гласит: «Заметка не была опубликована через ActivityPub», другие приложения фидиверса не находят актора).
Есть ли что-то особенное, о чем нам следует знать? Проверка документации не выявила никаких конкретных шагов по устранению неполадок, которые мы могли бы выполнить, а логи (см. ниже) не помогают нам дальше :-(.
Настройка
Версия плагина: 79da1c2
Мы используем публичную подкатегорию, которую хотим опубликовать в фидиверсе.
Настройки просты, ничего не менялось, кроме:
- сокращения времени планирования до 1 минуты для тестирования
- выбора имени актора и отображаемого имени для категории
Что мы уже пробовали:
- Включить «журналирование объектов Activity Pub» и проверить логи
- Исправить строку, вызывающую ошибку, так как она приводила к ситуации «курица и яйцо» («возможно, не удалось запланировать пост, потому что нет получателей; актор не будет создан, пока не будет создан пост»)
протестированный патч
> ./launcher enter app
> sed -i.orig -E 's!^(.*no recip.*)$!#\1!' /var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb
> ./launcher restart app
- Когда этот патч не сработал, мы его удалили
- Удалили и создали категорию заново, чтобы нигде не было «специальных» символов (слово на самом деле exofàsia, которое мы хотим писать: eXOfàsia)
- При создании категории использовали
Note(по умолчанию) вместоArticle(что нам нужно)
Логи
Вот что мы видим в логах
Сообщение
[Discourse Activity Pub] https://agora.exo.cat/ap/actor/31cb67a1093eca932caaf1e764814bde не удалось запланировать https://agora.exo.cat/ap/activity/803be329c95f67b5ab62d43c7c61f6f3 для доставки: нет получателей
Трассировка стека
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:93:in `log_failure'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:35:in `can_deliver?'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:13:in `perform'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:27:in `perform'
/var/www/discourse/plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:140:in `activity_pub_deliver_activity'
/var/www/discourse/plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:38:in `perform_activity_pub_activity'
/var/www/discourse/plugins/discourse-activity-pub/plugin.rb:473:in `block (2 levels) in activate!'
/var/www/discourse/lib/plugin/instance.rb:341:in `public_send'
/var/www/discourse/lib/plugin/instance.rb:341:in `block (2 levels) in add_to_class'
/var/www/discourse/plugins/discourse-activity-pub/plugin.rb:654:in `block (2 levels) in activate!'
Окружение
HTTP HOSTS: agora.exo.cat
Ошибка повторяется при повторной публикации через интерфейс
Сообщение
[Discourse Activity Pub] https://agora.exo.cat/ap/actor/31cb67a1093eca932caaf1e764814bde не удалось запланировать https://agora.exo.cat/ap/activity/30d34f8b38be0d2d5bc997fd4147c5b2 для доставки: нет получателей
Трассировка стека
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:93:in `log_failure'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:35:in `can_deliver?'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:13:in `perform'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:27:in `perform'
/var/www/discourse/plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:140:in `activity_pub_deliver_activity'
/var/www/discourse/plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:38:in `perform_activity_pub_activity'
/var/www/discourse/plugins/discourse-activity-pub/plugin.rb:473:in `block (2 levels) in activate!'
/var/www/discourse/lib/plugin/instance.rb:341:in `public_send'
/var/www/discourse/lib/plugin/instance.rb:341:in `block (2 levels) in add_to_class'
/var/www/discourse/plugins/discourse-activity-pub/plugin.rb:481:in `block (2 levels) in activate!'
Окружение
HTTP HOSTS: agora.exo.cat
Webfinger
А вот что возвращает webfinger:
> curl -L 'https://agora.eXO.cat/.well-known/webfinger?resource=acct:exofasia@agora.exo.cat'
{"subject":"acct:exofasia@agora.exo.cat","aliases":["https://agora.exo.cat/c/exo/exofasia/33"],"links":[{"rel":"self","type":"application/activity+json","href":"https://agora.exo.cat/ap/actor/31cb67a1093eca932caaf1e764814bde"}]}
Привет, @evilham! Сообщение, которое вы видите, фиксируется, когда у Актора нет подписчиков (активности не будут публиковаться). Есть ли у актора подписчики?
Обратите внимание: в настоящее время единственным актором, на которого можно подписаться, является актор категории (то есть актор группы). Такой актор создаётся сразу после включения ActivityPub в категории (и, следовательно, не вызывает проблемы «курица и яйцо»). В данный момент подписаться на акторов пользователей (то есть на Персон) невозможно.
Привет, проблема именно в том, что актора не удаётся найти (попробуйте сами: exofasia@agora.exo.cat):
Вчера вечером, изучив ситуацию более детально, я обнаружил, что мы не первые, кто столкнулся с этой проблемой:
Так что, возможно, запись в логе вообще не связана с этим, но это единственное, что у нас есть >_<, поэтому это единственная подсказка, которой мы могли руководствоваться.
Сам пост остаётся с иконкой «отключено от фидиверса» и следующим текстом:
Любые попытки запланировать публикацию поста приводят к упомянутому нами логу и ничему больше.
Категория заявляет, что настроена правильно (как упоминалось, ничего не менялось):
И категория полностью публична.
Я успешно подписался на этого аккаунт с моего локального экземпляра.
Мне удалось его найти.
Затем я успешно отправил запрос на подписку и получил подтверждение.
Если вы обновите список «Подписчики» на вашем экземпляре, вы увидите подписку от general@angus.ngrok.io.
Я подозреваю, что проблема, с которой вы столкнулись, заключается в том, что у вас включено требование HTTP-подписей.
А клиент, который вы используете для подписки, не поддерживает и/или не отправляет соответствующую HTTP-подпись. Возможно, это та же проблема, с которой столкнулся @Lhc_fl.
О, это довольно интересно, могу подтвердить, что подписка работает!
Действительно, это было значение по умолчанию, и мы изменили только то, что было необходимо.
Мы опробовали несколько клиентов, в основном Mastodon и Pleroma.
Следуя подсказке о необходимости HTTP-подписей, мы отключили это требование (то есть изменили значение по умолчанию), а затем попробовали повторно запланировать публикацию. На этот раз результат был положительным (возможно, разница в том, что есть 1 подписчик?):
С другой стороны, хотя бы Mastodon продолжает показывать ошибку 404 при поиске профиля, поэтому основная цель (подписка на категорию из других приложений федерированной вселенной) всё ещё не достигнута.
Есть ли что-то ещё, что мы можем проверить, чтобы облегчить это?
Ого, я не понимаю. До последнего поста я пробовал с двух разных серверов Mastodon, один из которых я раньше никогда не использовал, и в обоих случаях получал ошибку 404 на странице профиля.
Проверю снова во второй половине дня, но любые подсказки, почему отображение может быть несогласованным, или что мы можем попробовать, были бы очень кстати.










