Revert "DEV: upgrade to Rails 6.0.3"

Revert “DEV: upgrade to Rails 6.0.3”

This was causing issues during multisite:migrate

https://meta.discourse.org/t/multisite-migrate-broken-since-rails-6-0-3-update/150691

This reverts commit 136a5456534c7e468b8052f865ce970a3bf375e9.

diff --git a/Gemfile b/Gemfile
index 980bce1..039acc6 100644
--- a/Gemfile
+++ b/Gemfile
@@ -18,13 +18,13 @@ else
   # this allows us to include the bits of rails we use without pieces we do not.
   #
   # To issue a rails update bump the version number here
-  gem 'actionmailer', '6.0.3'
-  gem 'actionpack', '6.0.3'
-  gem 'actionview', '6.0.3'
-  gem 'activemodel', '6.0.3'
-  gem 'activerecord', '6.0.3'
-  gem 'activesupport', '6.0.3'
-  gem 'railties', '6.0.3'
+  gem 'actionmailer', '6.0.2.2'
+  gem 'actionpack', '6.0.2.2'
+  gem 'actionview', '6.0.2.2'
+  gem 'activemodel', '6.0.2.2'
+  gem 'activerecord', '6.0.2.2'
+  gem 'activesupport', '6.0.2.2'
+  gem 'railties', '6.0.2.2'
   gem 'sprockets-rails'
 end
 
diff --git a/Gemfile.lock b/Gemfile.lock
index bcc38a6..6d97e8a 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,21 +1,21 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    actionmailer (6.0.3)
-      actionpack (= 6.0.3)
-      actionview (= 6.0.3)
-      activejob (= 6.0.3)
+    actionmailer (6.0.2.2)
+      actionpack (= 6.0.2.2)
+      actionview (= 6.0.2.2)
+      activejob (= 6.0.2.2)
       mail (~> 2.5, >= 2.5.4)
       rails-dom-testing (~> 2.0)
-    actionpack (6.0.3)
-      actionview (= 6.0.3)
-      activesupport (= 6.0.3)
+    actionpack (6.0.2.2)
+      actionview (= 6.0.2.2)
+      activesupport (= 6.0.2.2)
       rack (~> 2.0, >= 2.0.8)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.2.0)
-    actionview (6.0.3)
-      activesupport (= 6.0.3)
+    actionview (6.0.2.2)
+      activesupport (= 6.0.2.2)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
@@ -24,20 +24,20 @@ GEM
       actionview (>= 6.0.a)
     active_model_serializers (0.8.4)
       activemodel (>= 3.0)
-    activejob (6.0.3)
-      activesupport (= 6.0.3)
+    activejob (6.0.2.2)
+      activesupport (= 6.0.2.2)
       globalid (>= 0.3.6)
-    activemodel (6.0.3)
-      activesupport (= 6.0.3)
-    activerecord (6.0.3)
-      activemodel (= 6.0.3)
-      activesupport (= 6.0.3)
-    activesupport (6.0.3)
+    activemodel (6.0.2.2)
+      activesupport (= 6.0.2.2)
+    activerecord (6.0.2.2)
+      activemodel (= 6.0.2.2)
+      activesupport (= 6.0.2.2)
+    activesupport (6.0.2.2)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
       tzinfo (~> 1.1)
-      zeitwerk (~> 2.2, >= 2.2.2)
+      zeitwerk (~> 2.2)
     addressable (2.7.0)
       public_suffix (>= 2.0.2, < 5.0)
     annotate (3.1.1)
@@ -184,7 +184,7 @@ GEM
       mini_mime (>= 0.1.1)
     maxminddb (0.1.22)
     memory_profiler (0.9.14)
-    message_bus (3.2.0)
+    message_bus (3.1.0)
       rack (>= 1.1.3)
     method_source (1.0.0)
     mini_mime (1.0.2)
@@ -281,9 +281,9 @@ GEM
     rails_multisite (2.1.1)
       activerecord (> 5.0, < 7)
       railties (> 5.0, < 7)
-    railties (6.0.3)
-      actionpack (= 6.0.3)
-      activesupport (= 6.0.3)
+    railties (6.0.2.2)
+      actionpack (= 6.0.2.2)
+      activesupport (= 6.0.2.2)
       method_source
       rake (>= 0.8.7)
       thor (>= 0.20.3, < 2.0)
@@ -428,14 +428,14 @@ PLATFORMS
   ruby
 
 DEPENDENCIES
-  actionmailer (= 6.0.3)
-  actionpack (= 6.0.3)
-  actionview (= 6.0.3)
+  actionmailer (= 6.0.2.2)
+  actionpack (= 6.0.2.2)
+  actionview (= 6.0.2.2)
   actionview_precompiler
   active_model_serializers (~> 0.8.3)
-  activemodel (= 6.0.3)
-  activerecord (= 6.0.3)
-  activesupport (= 6.0.3)
+  activemodel (= 6.0.2.2)
+  activerecord (= 6.0.2.2)
+  activesupport (= 6.0.2.2)
   addressable
   annotate
   aws-sdk-s3
@@ -512,7 +512,7 @@ DEPENDENCIES
   rack-mini-profiler
   rack-protection
   rails_multisite
-  railties (= 6.0.3)
+  railties (= 6.0.2.2)
   rake
   rb-fsevent
   rb-inotify (~> 0.9)
diff --git a/config/application.rb b/config/application.rb
index 502981a..b2649ad 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -91,11 +91,6 @@ module Discourse
       end
     end
 
-    # we skip it cause we configure it in the initializer
-    # the railstie for message_bus would insert it in the
-    # wrong position
-    config.skip_message_bus_middleware = true
-
     # Disable so this is only run manually
     # we may want to change this later on
     # issue is image_optim crashes on missing dependencies
diff --git a/config/initializers/200-first_middlewares.rb b/config/initializers/200-first_middlewares.rb
index 7f0484b..2647fd0 100644
--- a/config/initializers/200-first_middlewares.rb
+++ b/config/initializers/200-first_middlewares.rb
@@ -6,8 +6,12 @@
 #
 # We aren't manipulating the middleware stack directly because of
 # https://github.com/rails/rails/pull/27936
+session_operations = Rails::Configuration::MiddlewareStackProxy.new([
+   [:delete, MessageBus::Rack::Middleware],
+   [:unshift, MessageBus::Rack::Middleware],
+])
 
-Rails.configuration.middleware.unshift(MessageBus::Rack::Middleware)
+Rails.configuration.middleware = Rails.configuration.middleware + session_operations
 
 # no reason to track this in development, that is 300+ redis calls saved per
 # page view (we serve all assets out of thin in development)

GitHub sha: 2ff8b4f5

This commit has been mentioned on Discourse Meta. There might be relevant details there:

https://meta.discourse.org/t/multisite-migrate-broken-since-rails-6-0-3-update/150691/3