Плагины "Gamification" и "Reactions" по какой-то причине нестабильны

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

Пытался использовать плагины Gamification и Reactions. Однако эти два плагина кажутся нестабильными в моем тестовом экземпляре.

Пока что я пробовал пересоздавать контейнер, чтобы посмотреть, изменится ли что-то, — изменений не произошло. Также проблем с двумя другими плагинами, которые я добавил ранее (Solved и BBcode), не возникло.

Что еще можно проверить, чтобы попытаться разобраться в этом поведении?

Что происходит:

  • Функциональность плагина перестает работать.
  • Плагин исчезает из списка Установленные плагины.
  • Если плагин присутствует, может отображаться, что у него нет параметров конфигурации.
  • Если параметры конфигурации плагина присутствуют, при их изменении может возникать ошибка с сообщением о том, что отсутствует параметр конфигурации xxxx_xxxx_xxxx.

Проверено повторно:

  • Журнал пересборки — ошибок, связанных с плагинами, нет.
  • Консоль разработчика веб-браузера — ошибок нет, за исключением 404, когда страница больше не может быть загружена.
  • Логи Rails/Unicorn — ничего подозрительного.

Версия Discourse:

  • v3.5.0beta7 (цепочка tests-passed)

Не могли бы вы прислать сюда раздел app.yml с плагинами?
Спасибо!

Эта часть?

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          #- git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-bbcode.git
          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/discourse/discourse-reactions.git
          - git clone https://github.com/discourse/discourse-gamification.git

Хм… всё выглядит вполне нормально. Можно спросить, почему вы раскомментировали плагин Docker Manager?

Хотя это может быть причиной проблемы, не могли бы вы попробовать раскомментировать его и пересобрать?

У меня несколько хост-систем за реверс-прокси для обеспечения высокой доступности. Один хост предназначен для сборки/пересборки Discourse, а остальные — только для хостинга. Я предположил, что плагин Docker Manager не будет работать в таких сценариях, поэтому отключил его.

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

Возможно, нет. Это действительно странно. Не могли бы вы сделать скриншот страницы ваших плагинов?

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

теперь после обновления страницы

Итак… теперь всё работает после обновления страницы? Если вы нажмете Настройки, загружаются ли настройки плагина? Или всё ещё появляется сообщение

В данный момент страница настроек загружается пустой.

редактировать: при перезагрузке страница настроек загружается. Но, как уже упоминалось, она работает, но после какого-то события перестает загружаться.

Очень странно. Можете ли вы на самом деле использовать плагины на вашем форуме (например, просматривать /leaderboard, реагировать на сообщения и т. д.)?

Раньше плагин Gamification работал нестабильно: иногда загружался, иногда нет. Плагин Reactions, похоже, вообще не загружался — отображалась только стандартная функция «Нравится» без выбора реакций.

Возможно, я нашёл причину. Я экспериментировал с пересборкой, открывая сайт в режиме инкогнито, чтобы исключить влияние кэша. Каждый раз, когда оба этих плагина были включены, при пересборке Discourse пытался загрузить два несуществующих файла из S3-бакета. Кроме того, в логе пересборки я не нашёл ссылок на эти файлы. Возможно, эти плагины несовместимы с конфигурациями Discourse, где ассеты и загрузки хранятся в Minio S3? Мне уже пришлось создать обходное решение для подсветки синтаксиса.

Упомянутые ассеты, отсутствующие в S3 после пересборки:

S3_URL/assets/chunk.86b59b318d00d6f8db6a.d41d8cd9.br.js
S3_URL/assets/chunk.23e5cc7cf06d7f53c6f5.d41d8cd9.br.js

Подождите. Нет. Это была огромная ошибка пользователя (PEBKAC). У меня была некорректная настройка мониторинга, из-за чего я не заметил, что не отключил старые контейнеры на узлах с хост-сетью. В результате у меня был узел сборки для тестирования с новой версией Discourse 3.5.0beta8 и новыми плагинами, а также старая версия 3.5.0beta7 без этих плагинов. Из-за этого обратный прокси, настроенный на минимальное количество соединений в веб-интерфейсе, начал вести себя непредсказуемо, распределяя ресурсы между этими узлами…

С указанными плагинами всё работает отлично. Теперь вопрос: мне лучше удалить эту тему или оставить её как заметку для тех, кто может попасть в подобную глупую ситуацию?