mirror of https://github.com/zulip/zulip.git
a4c80089f3
The first bug fixed here has been around for a long time--we were redundantly updating unread counts indirectly via muting_ui.initialize(). The unread counts also get updated in unread_ui.initialize(), when we have more valid state. (And it's worth noting here that the unread counts get updated yet again once message fetches complete.) The second bug was a very recent regression from my recent stream name -> stream id cleanup in the muting system. We now depend on stream_data to initialize muting data, so we need to initialize muting.js slightly later in the process. These fixes are intertwined, because they were both somewhat caused by the anti-pattern of having muting_ui.js initialize unread_ui.js and muting.js, instead of doing more direct, fine-grained initialization from ui_init.js. Essentially we replace this code: exports.update_muted_topics = function (muted_topics) { muting.set_muted_topics(muted_topics); unread_ui.update_unread_counts(); }; with this: exports.initialize = function () { exports.set_muted_topics(page_params.muted_topics); }; And the modules load like this: stream_data ... muting ... unread_ui And we don't need any page-load initialization for muting_ui, which is mostly used for Settings/Muted topics. |
||
---|---|---|
.. | ||
casper_lib | ||
casper_tests | ||
node_tests | ||
zjsunit | ||
.eslintrc.json | ||
run-casper |