From a8b3269fdbd427e14107df20926e361a1a0dca83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Hanol?= <regis@hanol.fr> Date: Fri, 14 Feb 2014 00:27:25 +0100 Subject: [PATCH] reload the page when read_only mode is disabled --- .../discourse/initializers/1_init_message_bus.js | 9 +++++++-- lib/backup_restore.rb | 4 ++++ lib/import/importer.rb | 10 +++------- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/app/assets/javascripts/discourse/initializers/1_init_message_bus.js b/app/assets/javascripts/discourse/initializers/1_init_message_bus.js index 59b7bf130cb..bce4c75cb92 100644 --- a/app/assets/javascripts/discourse/initializers/1_init_message_bus.js +++ b/app/assets/javascripts/discourse/initializers/1_init_message_bus.js @@ -30,8 +30,13 @@ Discourse.addInitializer(function() { Discourse.MessageBus.subscribe("/global/read-only", function (enabled) { Discourse.set("isReadOnly", enabled); - if (enabled && !Discourse.User.currentProp("hideReadOnlyAlert")) { - bootbox.alert(I18n.t("read_only_mode.enabled")); + if (enabled) { + if (!Discourse.User.currentProp("hideReadOnlyAlert")) { + bootbox.alert(I18n.t("read_only_mode.enabled")); + } + } else { + // force a reload + document.location.reload(); } }); diff --git a/lib/backup_restore.rb b/lib/backup_restore.rb index 5d452168625..c65349c75c9 100644 --- a/lib/backup_restore.rb +++ b/lib/backup_restore.rb @@ -149,9 +149,13 @@ module BackupRestore end def self.after_fork + # reconnect to redis $redis.client.reconnect + # reconnect the rails cache (uses redis) Rails.cache.reconnect + # tells the message we've forked MessageBus.after_fork + # /!\ HACK /!\ force sidekiq to create a new connection to redis Sidekiq.instance_variable_set(:@redis, nil) end diff --git a/lib/import/importer.rb b/lib/import/importer.rb index 611edda2130..6994047884b 100644 --- a/lib/import/importer.rb +++ b/lib/import/importer.rb @@ -38,17 +38,13 @@ module Import validate_metadata extract_dump - restore_dump - #----------- CRITICAL -------------- switch_schema! - #----------- CRITICAL -------------- - log "Finalizing restore..." + # TOFIX: MessageBus is busted... migrate_database - reconnect_database extract_uploads @@ -268,10 +264,10 @@ module Import def rollback log "Trying to rollback..." if BackupRestore.can_rollback? - log "Rolling back to previous working state..." + log "Rolling back..." BackupRestore.rename_schema("backup", "public") else - log "No backup schema was created yet!" + log "There was no need to rollback" end end