Apply Monkey Patch To Attempt To Fix Sidekiq Admin UI (#5634) [deploy]

* set sidekiq session to be the same as Rails to prevent forbidden UI errors

* monkey patch rack until new version is released to make Sidekiq Admin work
This commit is contained in:
Molly Struve 2020-01-22 14:46:24 -05:00 committed by GitHub
parent e49b0e81e5
commit 33d6dca565
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 4 deletions

View file

@ -1,7 +1,19 @@
require "sidekiq/web"
# Sidekiq sessions don't play well with Redis based sessions and Devise
# <https://github.com/mperham/sidekiq/wiki/Monitoring#sessions-being-lost>
Sidekiq::Web.set :sessions, false
# Monkey patch `stringify_keys` to make rack 2.1.1 compatible with Sidekiq UI Admin panel.
# Should be removed when 2.1.2 is released.
# https://github.com/rack/rack/pull/1428
module Rack
module Session
module Abstract
class SessionHash
private
def stringify_keys(other)
other.to_hash.transform_keys(&:to_s)
end
end
end
end
end
Sidekiq.configure_server do |config|
sidekiq_url = ApplicationConfig["REDIS_SIDEKIQ_URL"] || ApplicationConfig["REDIS_URL"]

View file

@ -13,6 +13,9 @@ Rails.application.routes.draw do
require "sidekiq/web"
authenticated :user, ->(user) { user.tech_admin? } do
mount DelayedJobWeb, at: "/delayed_job"
Sidekiq::Web.set :session_secret, Rails.application.secrets[:secret_key_base]
Sidekiq::Web.set :sessions, Rails.application.config.session_options
mount Sidekiq::Web => "/sidekiq"
end