This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/initializers/1_init_message_bus.js
Régis Hanol 5e1019adba FEATURE: better UX when backing-up the site
Users won't be prompted whenever the site goes into read-only mode.
Instead, a banner will be shown at the top of every pages.

Also, the browser won't automatically reload whenever read-only mode is
disabled. This really was bad UX.
2014-02-28 18:09:48 +01:00

37 lines
1.1 KiB
JavaScript

/**
Initialize the message bus to receive messages.
**/
Discourse.addInitializer(function() {
// We don't use the message bus in testing
if (Discourse.testing) { return; }
Discourse.MessageBus.alwaysLongPoll = Discourse.Environment === "development";
Discourse.MessageBus.start();
Discourse.MessageBus.subscribe("/global/asset-version", function(version){
Discourse.set("assetVersion", version);
if(Discourse.get("requiresRefresh")) {
// since we can do this transparently for people browsing the forum
// hold back the message a couple of hours
setTimeout(function() {
bootbox.confirm(I18n.lookup("assets_changed_confirm"), function(result){
if (result) {
document.location.reload();
}
});
}, 1000 * 60 * 120);
}
});
// initialize read-only mode and subscribe to updates via the message bus
Discourse.set("isReadOnly", Discourse.Site.currentProp("is_readonly"));
Discourse.MessageBus.subscribe("/site/read-only", function (enabled) {
Discourse.set("isReadOnly", enabled);
});
Discourse.KeyValueStore.init("discourse_", Discourse.MessageBus);
}, true);