O plugin Who's Online não funciona com o Discourse 2.3.10

Hmm, reconstruí hoje após receber um alerta sobre uma nova versão.

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

err, tela branca simples?

Uncaught TypeError: Cannot read property ‘trigger’ of undefined
at t.init (_plugin-third-party-cb09db834c49b1fa6dc58b470cffc55ebb62fb2a157688165cb211f1343ce435.js:3872)
at h (_ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:38572)
at Function.e.create (_ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:39100)
at e.t.create (_ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:11490)
at _ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:11294
at h (_ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:11226)
at e.t.lookup (_ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:11070)
at Object.initialize (_plugin-third-party-cb09db834c49b1fa6dc58b470cffc55ebb62fb2a157688165cb211f1343ce435.js:3959)
at Object.n.initialize (_application-4bbf4bf6518f7480549c54813a7fe09233841e43c49675ffe7fbda7ac187d247.js:8532)
at _ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:45916

Quais plugins você está executando?

Fazendo outra reconstrução só para garantir

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

Parece que um plugin de terceiros está quebrando a página. Não é possível diagnosticar qual deles, já que você está reconstruindo.

Minha suposição também.
Terminei de reconstruir.

Como eu faria para diagnosticar qual plugin está causando isso? (além de desativá-los todos)

Minha aposta seria eventos ou quem está online

ok, vou começar o método de desabilitar um por um :confused:

Parece ser o who’s-online devido a este pull request aqui:

Evidência número 99999 de que embarcamos com a configuração padrão de testes-passados e executar uma branch mais antiga significa menos compatibilidade com plugins.

Você pode querer fixar o plugin em um commit mais antigo.

sim, quem está online está quebrado

O recurso “Quem está online” está quebrado para sites na branch estável. O plugin depende de código que ainda não está no Discourse na branch estável, então não funciona com esses sites. Como Falco compartilhou, se você estiver executando a versão “tests-passed”, tudo deve estar correto.

Não deveria existir uma branch estável do plugin / de todos os plugins?
Parece um pouco tolo chamá-la de “estável” quando as coisas quebram…

O plugin estava funcionando ontem, na versão anterior … :confused:

estável1
/ˈsteɪb(ə)l/

adjetivo

  1. (de um objeto ou estrutura) não propenso a ceder ou virar; firmemente fixado.

Nunca prometemos que a branch estável estaria livre de bugs. Ela é estável no sentido de que não muda frequentemente. A versão estável recebe um lançamento a cada 4+ meses, com pequenas correções de segurança e bugs críticos no intervalo. Os plugins são atualizados com muito mais frequência e acompanham o ritmo dos testes aprovados.

Já discutimos isso antes; não há planos formais no momento. Como o Falco já sugeriu, se você optar por modificar a branch de rastreamento padrão como fez, provavelmente também precisará modificar a forma como instala os plugins, para fixar um commit específico.