Плагин Who's Online не работает с Discourse 2.3.10

Эм, я сегодня пересобрал после получения уведомления о новой версии.

https://www.mcrides.co.nz/

Ой, просто белый экран?

Необработанная ошибка TypeError: невозможно прочитать свойство ‘trigger’ у undefined
в t.init (_plugin-third-party-cb09db834c49b1fa6dc58b470cffc55ebb62fb2a157688165cb211f1343ce435.js:3872)
в h (_ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:38572)
в Function.e.create (_ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:39100)
в e.t.create (_ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:11490)
в _ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:11294
в h (_ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:11226)
в e.t.lookup (_ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:11070)
в Object.initialize (_plugin-third-party-cb09db834c49b1fa6dc58b470cffc55ebb62fb2a157688165cb211f1343ce435.js:3959)
в Object.n.initialize (_application-4bbf4bf6518f7480549c54813a7fe09233841e43c49675ffe7fbda7ac187d247.js:8532)
в _ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:45916

Какие плагины вы используете?

Выполняю повторную сборку на всякий случай

hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone GitHub - discourse/docker_manager: Plugin for use with discourse docker image · GitHub
- git clone GitHub - discourse/discourse-whos-online: A plugin for Discourse which uses the messagebus to display a live list of active users · GitHub
- git clone GitHub - discourse/discourse-spoiler-alert: A plugin for discourse to hide spoilers behind the spoiler-alert jQuery plugin · GitHub
- git clone GitHub - discourse/discourse-cakeday: Show a birthday cake emoji beside the names of members on their join anniversary, or their actual birthday -- and a browsable directory of upcoming anniversaries / birthdays. · GitHub
- git clone GitHub - angusmcleod/discourse-events: Allows you to manage events in Discourse · GitHub
- git clone GitHub - discourse/discourse-tooltips: Show tooltips around Discourse on hover, including topic previews · GitHub
- git clone https://github.com/communiteq/discourse-sitemap.git

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

Я тоже так думаю.
Я закончил восстановление.

Как мне диагностировать, какой плагин вызывает это? (кроме как отключить их все)

Мой предположение — события или кто сейчас онлайн

Окей, приступаю к методу отключения по одному :confused:

Похоже, что проблема связана с функцией «кто онлайн» из-за этого запроса на слияние:

Это ещё один (99999-й) пример того, почему отправка по умолчанию с отметкой «тесты пройдены» и использование более старой ветки приводит к снижению совместимости плагинов.

Возможно, стоит зафиксировать плагин на более старом коммите.

да, «кто онлайн» сломан

Функция «Кто онлайн» не работает для сайтов на стабильной ветке. Плагин использует код, который ещё не включён в стабильную ветку Discourse, поэтому он не функционирует на таких сайтах. Как отметил Falco, если вы используете ветку tests-passed, у вас всё должно работать корректно.

Разве не должно быть стабильной ветки плагина / всех плагинов?
Кажется глупым называть её «стабильной», когда всё ломается…

Плагин работал вчера, на предыдущей версии… :confused:

stable1
/ˈsteɪb(ə)l/

прилагательное

  1. (об объекте или конструкции) не склонный к разрушению или опрокидыванию; надёжно закреплённый.

Мы никогда не обещали, что стабильная ветка будет свободна от ошибок. Она стабильна тем, что не меняется часто. Стабильная версия выпускается каждые 4+ месяца, с небольшими исправлениями уязвимостей и критических ошибок между релизами. Плагины обновляются гораздо чаще и синхронизируются с успешными тестами.

Мы обсуждали это ранее, на данный момент формальных планов нет. Как уже предложил Falco, если вы решите изменить ветку отслеживания по умолчанию, как вы это сделали, вам, скорее всего, также потребуется изменить способ установки плагинов, чтобы зафиксировать конкретный коммит.