Работа с плагином ActivityPub

OK, я думаю, что это связано с тем, что мои тесты оставили мне повреждённую базу данных, и мне стоит полностью удалить тестовый сайт и начать заново.

[edit: бессмысленные детали удалены для очистки темы]

Я предполагаю, что это требует миграции базы данных для исправления, что это связано с тем, что я запускал код до слияния для тестирования, и поэтому мне стоит полностью удалить тестовый сайт и начать заново.

Да, именно это я и рекомендую.

Пока я готовлюсь к этому, у меня возник вопрос.

В Mastodon есть команда self-destruct для чистого выхода, чтобы избежать проблем с сохранёнными ключами сервера. Она рекомендуется не только при закрытии сервера, но и при сбросе инстанса до состояния, когда нужно сгенерировать новые ключи. Не знаю, сталкивались ли вы с этим в ходе тестирования. Похоже, что Mastodon выполняет Delete Actor для каждого локального аккаунта. Я не вижу в плагине функционала для этого, но понимаю, что мог что-то упустить.

Для моего сервера Mastodon, думаю, достаточно tootctl domains purge, но я также тестирую на обычном «альтернативном» экземпляре Mastodon, где у меня нет прав администратора. :smiling_face:

…Я выполнил восстановление, и, как оказалось, команды tootctl domains purge недостаточно для успешной подписки после восстановления. Публикации просто не отображаются в Mastodon. Я включил подробное логирование ActivityPub, чтобы отладить проблему, но не нашёл, где искать эти логи. Теперь я нашёл их в логах Rails, так что теперь снова смогу самостоятельно проводить расследование.

Привет, @mcdanlj :slight_smile:

Стоит уточнить: я не могу оказывать поддержку в этой теме. Если у вас возникли проблемы с разработкой Mastodon или Discourse, я с радостью помогу вам в подходящих местах (например, в Development), но не хочу захламлять эту тему.

Извините, я имел в виду вопросы о саморазрушении и о том, куда записываются подробные логи, так как они представляют общий интерес. Пытаюсь избежать запросов на поддержку здесь. :grimacing: Не обращайте внимания, если то, что выглядит как мусор, будет перемещено из этой темы.

Извините за шум. Я установил официальный плагин на свой тестовый сайт, затем восстановил резервную копию своего рабочего сайта, который никогда не видел плагин ActivityPub в какой-либо форме, после чего настроил ActivityPub, поэтому, насколько мне известно, он должен быть чистым.

В будущем, если я буду тестировать ветку, я буду:

  • начинать с чистого выпущенного плагина, со всеми уже созданными акторами, которые я собираюсь использовать
  • сделать резервную копию
  • установить ветку
  • протестировать публикации
  • удалить все тестовые публикации
  • откатиться к чистому выпущенному плагину
  • восстановить резервную копию
  • сообщить о любых проблемах, найденных в ветке, в PR, а не в этой теме

Это должно поддерживать чистую базу данных и чистую тему.


То, что значок моего сайта не отображался, не было связано с тестированием ветки плагина, и это не была ошибка в плагине. Логотип не отображается в Mastodon для моих постов, потому что мой large_icon_url указывает на SVG, а Mastodon, по-видимому, не обрабатывает SVG для иконок акторов. Если нет какого-то обычного тривиального пути для понижения до PNG для ActivityPub, то здесь, вероятно, делать нечего.

Меня интересует, какова цель форматирования и представления для заметок (Note) и статей (Article).

Заметка (Note)

Когда я публикую заметку из Mastodon Glitch в обычный Mastodon с поддержкой Markdown, в Glitch она отображается как форматированный текст, а в обычном Mastodon — как простой текст без разметки Markdown.

Если написать это в Mastodon Glitch с включённым Markdown:

…то в Mastodon Glitch это будет выглядеть так:

…а в обычном Mastodon — так:

Однако, если я создаю форматированный текст в Discourse через заметку:

…то в Mastodon Glitch получается следующее:

…а в обычном Mastodon — вот так:

…что выглядит практически одинаково.

Когда я использую веб-клиент https://elk.zone для того же поста, там сохраняются некоторые переносы строк, но форматирование шрифтов Markdown всё равно удаляется:

Большинство участников федерированной вселенной (fediverse) поддерживают Markdown, поэтому было бы хорошо, если бы он передавался корректно.

Также я заметил, что хэштеги в Mastodon не отображаются как хэштеги.

Статья (Article)

Что, по вашему мнению, должно отображаться в Mastodon при публикации статьи?

На PR 21 я вижу только URL и небольшой onebox с минимальным текстом.

Не знаю, насколько это зависит от Mastodon; например, я не настраивал экземпляр Firefish для сравнения.

Мне это кажется странным. Я хотел бы, чтобы Mastodon показывал мне текст моего поста — это же способ представиться?

Привет, ребята, извините, что не вернулся к этой теме. Вскоре появится специальная документация по activitypub.

Подробнее об этом можно узнать здесь:

Плагин в настоящее время поддерживает следующие HTML-теги (и их эквиваленты в Markdown для Discourse), и вскоре будет добавлена поддержка pre.

p a h1 h2 h3 h4 h5 ul ol li code blockquote em strong

Думаю, вы имеете в виду (но поправьте меня, если я ошибаюсь), что Mastodon в настоящее время не отображает content объекта Article, а только ссылку на оригинальную статью. Это проблема Mastodon, которая вызывает споры, см. подробнее:

В настоящее время, если вы хотите, чтобы в Mastodon отображалось полное содержание, вам нужно установить тип объекта публикации Note для вашего аккаунта.

Я использую этот способ, но позвольте мне показать это.

Когда пользователь создаёт пост, например, с изображениями, я не получаю тело сообщения с изображениями — только текст. А когда я отвечаю на эту тему на своём собственном экземпляре, изображения тоже отсутствуют.

Можете, пожалуйста, убрать сексистские изображения?