Le plugin Who's Online ne fonctionne pas avec Discourse 2.3.10

Euh, j’ai reconstruit aujourd’hui après avoir reçu une alerte pour une nouvelle version.

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

Euh… un simple écran blanc ?

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

Quels plugins utilisez-vous ?

Je refais une reconstruction juste pour être sûr

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

Il semble qu’un plugin tiers fasse planter la page. Impossible de savoir lequel, puisque vous êtes en train de reconstruire.

Mon avis aussi.
J’ai terminé la reconstruction.

Comment puis-je procéder pour diagnostiquer quel plugin en est la cause ? (autre que de les désactiver tous)

Mon hypothèse serait les événements ou qui est en ligne

Ok, je vais commencer la méthode de désactivation un par un :confused:

Semble être lié à l’extension whos-online à cause de cette demande de fusion :

Preuve numéro 99999 que le fait de livrer par défaut avec des tests réussis et d’exécuter une branche plus ancienne réduit la compatibilité des plugins.

Vous voudrez peut-être figer le plugin sur un commit plus ancien.

Ouais, qui est en ligne est cassé

« Qui est en ligne » est cassé pour les sites sur la branche stable. Le plugin dépend d’un code qui n’est pas encore présent dans Discourse sur la branche stable, il ne fonctionne donc pas avec ces sites. Comme Falco l’a indiqué, si vous exécutez tests-passed, vous devriez être tranquille.

Ne devrait-il pas y avoir une branche stable du plugin / de tous les plugins ?
Cela semble un peu idiot de l’appeler « stable » alors que des choses cassent…

Le plugin fonctionnait hier, sur la version précédente… :confused:

stable1
/ˈsteɪb(ə)l/

adjectif

  1. (d’un objet ou d’une structure) peu susceptible de céder ou de se renverser ; fermement fixé.

Nous n’avons jamais promis que la branche stable serait exempte de bugs. Elle est stable dans le sens où elle ne change pas fréquemment. La branche stable reçoit une version tous les 4 mois ou plus, avec de petites corrections de sécurité et de bugs critiques entre-temps. Les plugins sont mis à jour beaucoup plus fréquemment et suivent les tests validés.

Nous en avons déjà discuté, mais aucun plan officiel n’est prévu pour le moment. Comme Falco l’a déjà suggéré, si vous choisissez de modifier la branche de suivi par défaut comme vous l’avez fait, vous devrez probablement aussi modifier la façon dont vous installez les plugins, afin de figer un commit spécifique.