The user TerminalAddict reports a white screen error after updating to Discourse 2.3.10, with a JavaScript error pointing to the who's online plugin. After investigation, Falco identifies the issue as a compatibility problem with the discourse-whos-online plugin, which relies on code not yet available in the stable branch of Discourse. jomaxro confirms that the plugin works on the tests-passed branch but breaks on stable, explaining that plugin updates are faster than core releases. TerminalAddict questions the stability of the stable branch when plugins break, and jomaxro clarifies that “stable” refers to infrequent changes, not absence of bugs, and suggests pinning plugins to specific commits if needed.
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
Who’s Online is broken for sites on the stable branch. The plugin relies on code not yet in Discourse on the stable branch, so it doesn’t work with such sites. As Falco shared, if you run tests-passed you should be fine.
We’ve never promised that the stable branch would be bug free. It’s stable in that it doesn’t change frequently. Stable gets a release every 4+ months, with small security and critical bug fixes in between. Plugins are updated far more frequently, and keep pace with tests-passed.
We’ve discussed this before, no formal plans at this time. As Falco suggested already, if you choose to modify the default tracking branch like you did, you’ll also likely need to modify how you install plugins, to pin a commit.