Плагин ActivityPub

Трудно сказать, так как у меня нет доступа к серверам Mastodon, с которых вы пытались подключиться. Но я подозреваю, что проблема была в HTTP-подписи. Я планирую добавить более подробное логирование проблем с HTTP-подписями, что может пролить свет на ситуацию. Попробуйте снова подключиться к тем же серверам через некоторое время. Возможно, это была проблема с кэшированием неудачных поисковых запросов, которые вы получили сразу после отключения подписей.

2 лайка

Хм, нет, всё ещё 404.

Учитывая, что я пробовал с широко используемыми публичными серверами (один из которых я никогда раньше не использовал и не было причин, чтобы аккаунт был в его кэше), я предполагаю, что невозможность подписки будет самым распространённым опытом, даже с Mastodon.

Я заметил, что вы администратор mastodon.pavilion.tech, было бы здорово, если бы вы поделились, какие, возможно, нестандартные настройки этого сервера, связанные с HTTP-подписями, могут обеспечивать совместимость, поскольку это поможет выявить проблемы/текущие ограничения и возможные векторы для вклада :-).

Это стандартный сервер Mastodon. С помощью пользовательских настроек вы, возможно, сможете что-то сломать. Но если вы запускаете стандартный сервер Mastodon, плагин будет работать. Плагин отлично работает на многих других инстансах. Например, вы можете следить за тегом #announcements на mastodon.social.

Как вы и говорите, ваш аккаунт там не находится. Что-то ещё происходит. Возможно, вы используете Cloudflare? Пробовали ли вы другие варианты настройки? Есть ли у вас доступ к логам вашего веб-сервера (например, nginx)?

@evilham Я отправил вам личное сообщение для дальнейшей отладки, чтобы не засорять эту тему.

1 лайк

У меня та же проблема. Я опубликовал это: Typofixer per la lingua italiana - Progetti - forum.linux.it. Категория включена для ActivityPub, и она должна быть @progetti@forum.linux.it. Отсюда я вижу, что существует https://forum.linux.it/.well-known/webfinger?resource=acct:progetti@forum.linux.it.![image|690x250](upload://fOnjPvhjuGg9tbXGmFqWRyDnJBp.png)Есть ли способ проверить, была ли она действительно опубликована как ссылка? Я вижу, что пользователи могут подписаться на неё, но при поиске в Mastodon я её не нахожу.Я отключил HTTP-подписи и включил логи (оба параметра), но в /logs ничего не появляется об этом плагине.Я также опубликовал это для повторной проверки: ShareBackported estensione per Firefox - Progetti - forum.linux.it

2 лайка

Спасибо за отчет, @Mte90. Скоро я добавлю ещё несколько логов, чтобы прояснить этот сценарий. Спасибо за терпение!

cc @evilham.

3 лайка

У меня аналогичная ситуация с подкатегорией, и у меня нет подписчиков. Но когда я пытаюсь подписаться, получаю ошибку:

Ошибка не записывается в лог. Попытка выполнить активность «Подписаться» из Mastodon возвращает ошибку 404.

1 лайк

Привет, @hellekin, спасибо за отчёт. Возможно, это другая проблема. При прямом посещении ps.s10y.eu я наблюдаю некоторые неполадки, например:

Тем не менее, пожалуйста, подождите немного, пока я добавлю дополнительные логи для этого случая.

@hellekin @evilham @Mte90 Спасибо за ваше терпение! Я создал PR для логирования всех ошибок входящих запросов, которые этот плагин возвращает при неудачном запросе от внешнего актора.

После слияния этого PR, пожалуйста, обновите свой плагин, а затем:

  1. убедитесь, что подробное логирование включено (настройка сайта «activity pub verbose logging»);

  2. повторите точно то же действие, которое вы пытались выполнить ранее.

Также учтите несколько моментов:

  1. Уже существует более 26 различных сценариев ошибок входящих запросов. Хотя ваша проблема может показаться поверхностно похожей на другие, она может отличаться от тех, с которыми сталкиваются другие пользователи, поэтому ключевым моментом здесь является конкретика, то есть конкретные шаги, которые вы предприняли.

  2. Конкретные сообщения об ошибках уже возвращаются при неудачных запросах актору, который инициировал запрос. Поэтому, если у вас есть к ним доступ, вы также можете проверить логи актора, к которому вы пытаетесь подключиться через Discourse.

Я очень хочу узнать, как у вас дела, и провести дополнительное расследование каждого из ваших случаев. Спасибо еще раз!

4 лайка

У меня была такая же проблема, возможно, дополнительная информация о том, почему это недействительно, поможет.

Жду, чтобы провести больше тестов :slight_smile:

2 лайка

Спасибо, Энгус, этот PR уже слит.

2 лайка

Мне нравится, что теперь мы можем делиться темами с другими экземплярами Discourse!

6 лайков

Привет, @Lhc_fl, извини за задержку с ответом, но не мог бы ты немного пояснить, что ты имеешь в виду? Может быть, с примером?

1 лайк

Я давно не пробовал этого делать, но в последний раз, когда я пытался, если моё имя пользователя содержало нелатинские символы (например, @零卡), мои посты не отображались в Mastodon.

Но кроме некоторых проблем с моим текущим сайтом на Discourse (а также с моей жизнью), я больше не могу это проверить.

1 лайк

А, я понял.

Похоже, что Mastodon не поддерживает нелатинские символы в именах пользователей.

Возможно, потребуется преобразование имени пользователя вашего актора ActivityPub в латинские символы. Я занимаюсь этим вопросом.

3 лайка

Это будет решено после слияния.

Имена пользователей, которые не будут работать в Федиверсе (т. е. не ASCII), будут автоматически преобразованы в совместимый вариант имени пользователя для Actor пользователя (их имя пользователя в Discourse останется без изменений). Я также, вероятно, добавлю возможность для пользователей изменять своё имя пользователя в ActivityPub (так что вы не останетесь застрявшими с автоматически преобразованным именем пользователя в ActivityPub, если ваше имя пользователя в Discourse не является ASCII).

4 лайка

Возможно ли добавить класс к тегу body при переходе в категорию с включённым ActivityPub?

Разметка списка тем для представления ActivityPub немного отличается от разметки других основных страниц в Discourse, из-за чего некоторые темы оформления не могут правильно стилизовать эту страницу.

Пример этого можно увидеть здесь на meta при использовании темы meta-branded и переходе по адресу → https://meta.discourse.org/ap/category/67/followers

Обычно область верхней навигации обернута в list-controls

А под ней — в list-container

3 лайка

Да, нам стоит что-то сделать в плагине, чтобы это исправить. Я займусь этим. Спасибо!

4 лайка

Здравствуйте,

Я тестирую плагин и заметил проблему: теги [note][/note] игнорируются, и весь контент публикуется.

Я просмотрел настройки, но не нашёл ничего очевидного, что объясняло бы это.

Тип ActivityPub для публикации постов в этой категории: Note
Тип публикации ActivityPub: First Post

Я что-то упустил или это сталкиваются другие?

1 лайк

Привет, @gde,

Это всегда было установлено как Note? Вы ранее настраивали его как Article?

Привет @angus,

да, главной целью никогда не было публикация статей, поэтому я никогда не устанавливал тип «Статья».