diff options
Diffstat (limited to 'devel/rubygem-sidekiq-unique-jobs/files/patch-sidekiq8')
-rw-r--r-- | devel/rubygem-sidekiq-unique-jobs/files/patch-sidekiq8 | 192 |
1 files changed, 0 insertions, 192 deletions
diff --git a/devel/rubygem-sidekiq-unique-jobs/files/patch-sidekiq8 b/devel/rubygem-sidekiq-unique-jobs/files/patch-sidekiq8 deleted file mode 100644 index b0763b343c19..000000000000 --- a/devel/rubygem-sidekiq-unique-jobs/files/patch-sidekiq8 +++ /dev/null @@ -1,192 +0,0 @@ -Obtained from: https://github.com/mhenrixon/sidekiq-unique-jobs/commit/fdfc15ef00961295b3ec1533d33b86315bd80224 - https://github.com/mhenrixon/sidekiq-unique-jobs/commit/73bc7ffbac4a3c9c51e426d6329d18bb25bd06a1 - ---- lib/sidekiq_unique_jobs/web.rb.orig 2025-03-15 18:09:47 UTC -+++ lib/sidekiq_unique_jobs/web.rb -@@ -8,20 +8,18 @@ module SidekiqUniqueJobs - # @author Mikael Henriksson <mikael@mhenrixon.com> - module Web - def self.registered(app) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity -- app.helpers do -- include Web::Helpers -- end -+ app.helpers Web::Helpers - - app.get "/changelogs" do -- @filter = h(params[:filter] || "*") -+ @filter = h(safe_url_params("filter") || "*") - @filter = "*" if @filter == "" -- @count = h(params[:count] || 100).to_i -- @current_cursor = h(params[:cursor]).to_i -- @prev_cursor = h(params[:prev_cursor]).to_i -+ @count = h(safe_url_params("count") || 100).to_i -+ @current_cursor = h(safe_url_params("cursor")).to_i -+ @prev_cursor = h(safe_url_params("prev_cursor")).to_i - @total_size, @next_cursor, @changelogs = changelog.page( - cursor: @current_cursor, - pattern: @filter, -- page_size: @count, -+ page_size: @count - ) - - erb(unique_template(:changelogs)) -@@ -29,36 +27,36 @@ module SidekiqUniqueJobs - - app.get "/changelogs/delete_all" do - changelog.clear -- redirect_to :changelogs -+ safe_redirect_to :changelogs - end - - app.get "/locks" do -- @filter = h(params[:filter]) || "*" -+ @filter = h(safe_url_params("filter") || "*") - @filter = "*" if @filter == "" -- @count = h(params[:count] || 100).to_i -- @current_cursor = h(params[:cursor]).to_i -- @prev_cursor = h(params[:prev_cursor]).to_i -+ @count = h(safe_url_params("count") || 100).to_i -+ @current_cursor = h(safe_url_params("cursor")).to_i -+ @prev_cursor = h(safe_url_params("prev_cursor")).to_i - - @total_size, @next_cursor, @locks = digests.page( - cursor: @current_cursor, - pattern: @filter, -- page_size: @count, -+ page_size: @count - ) - - erb(unique_template(:locks)) - end - - app.get "/expiring_locks" do -- @filter = h(params[:filter]) || "*" -+ @filter = h(safe_url_params("filter") || "*") - @filter = "*" if @filter == "" -- @count = h(params[:count] || 100).to_i -- @current_cursor = h(params[:cursor]).to_i -- @prev_cursor = h(params[:prev_cursor]).to_i -+ @count = h(safe_url_params("count") || 100).to_i -+ @current_cursor = h(safe_url_params("cursor")).to_i -+ @prev_cursor = h(safe_url_params("prev_cursor")).to_i - - @total_size, @next_cursor, @locks = expiring_digests.page( - cursor: @current_cursor, - pattern: @filter, -- page_size: @count, -+ page_size: @count - ) - - erb(unique_template(:locks)) -@@ -67,29 +65,29 @@ module SidekiqUniqueJobs - app.get "/locks/delete_all" do - digests.delete_by_pattern("*", count: digests.count) - expiring_digests.delete_by_pattern("*", count: digests.count) -- redirect_to :locks -+ safe_redirect_to :locks - end - - app.get "/locks/:digest" do -- @digest = h(params[:digest]) -+ @digest = h(safe_route_params(:digest)) - @lock = SidekiqUniqueJobs::Lock.new(@digest) - - erb(unique_template(:lock)) - end - - app.get "/locks/:digest/delete" do -- digests.delete_by_digest(h(params[:digest])) -- expiring_digests.delete_by_digest(h(params[:digest])) -- redirect_to :locks -+ digests.delete_by_digest(h(safe_route_params(:digest))) -+ expiring_digests.delete_by_digest(h(safe_route_params(:digest))) -+ safe_redirect_to :locks - end - - app.get "/locks/:digest/jobs/:job_id/delete" do -- @digest = h(params[:digest]) -- @job_id = h(params[:job_id]) -+ @digest = h(safe_route_params(:digest)) -+ @job_id = h(safe_route_params(:job_id)) - @lock = SidekiqUniqueJobs::Lock.new(@digest) - @lock.unlock(@job_id) - -- redirect_to "locks/#{@lock.key}" -+ safe_redirect_to "locks/#{@lock.key}" - end - end - end -@@ -99,11 +97,17 @@ begin - require "delegate" unless defined?(DelegateClass) - require "sidekiq/web" unless defined?(Sidekiq::Web) - -- Sidekiq::Web.register(SidekiqUniqueJobs::Web) -- Sidekiq::Web.tabs["Locks"] = "locks" -- Sidekiq::Web.tabs["Expiring Locks"] = "expiring_locks" -- Sidekiq::Web.tabs["Changelogs"] = "changelogs" -- Sidekiq::Web.settings.locales << File.join(File.dirname(__FILE__), "locales") --rescue NameError, LoadError => ex -- SidekiqUniqueJobs.logger.error(ex) -+ if Sidekiq::MAJOR >= 8 -+ Sidekiq::Web.configure do |config| -+ config.register_extension(SidekiqUniqueJobs::Web, name: "unique_jobs", tab: ["Locks", "Expiring Locks", "Changelogs"], -+ index: %w[locks/ expiring_locks/ changelogs/]) -+ end -+ else -+ Sidekiq::Web.register(SidekiqUniqueJobs::Web) -+ Sidekiq::Web.tabs["Locks"] = "locks" -+ Sidekiq::Web.tabs["Expiring Locks"] = "expiring_locks" -+ Sidekiq::Web.tabs["Changelogs"] = "changelogs" -+ end -+rescue NameError, LoadError => e -+ SidekiqUniqueJobs.logger.error(e) - end ---- lib/sidekiq_unique_jobs/web/helpers.rb.orig 2025-03-15 18:09:47 UTC -+++ lib/sidekiq_unique_jobs/web/helpers.rb -@@ -116,7 +116,7 @@ module SidekiqUniqueJobs - # - # @return a redirect to the new subpath - # -- def redirect_to(subpath) -+ def safe_redirect_to(subpath) - if respond_to?(:to) - # Sinatra-based web UI - redirect to(subpath) -@@ -169,6 +169,26 @@ module SidekiqUniqueJobs - else - Time.parse(time.to_s) - end -+ end -+ -+ # Copied from sidekiq for compatibility with older versions -+ -+ # stuff after ? or form input -+ # uses String keys, no Symbols! -+ def safe_url_params(key) -+ return url_params(key) if Sidekiq::MAJOR >= 8 -+ -+ warn { "URL parameter `#{key}` should be accessed via String, not Symbol (at #{caller(3..3).first})" } if key.is_a?(Symbol) -+ request.params[key.to_s] -+ end -+ -+ # variables embedded in path, `/metrics/:name` -+ # uses Symbol keys, no Strings! -+ def safe_route_params(key) -+ return route_params(key) if Sidekiq::MAJOR >= 8 -+ -+ warn { "Route parameter `#{key}` should be accessed via Symbol, not String (at #{caller(3..3).first})" } if key.is_a?(String) -+ env["rack.route_params"][key.to_sym] - end - end - end ---- sidekiq-unique-jobs.gemspec.orig 2025-03-15 18:09:47 UTC -+++ sidekiq-unique-jobs.gemspec -@@ -23,7 +23,7 @@ Gem::Specification.new do |s| - s.specification_version = 4 - - s.add_runtime_dependency(%q<concurrent-ruby>.freeze, ["~> 1.0".freeze, ">= 1.0.5".freeze]) -- s.add_runtime_dependency(%q<sidekiq>.freeze, [">= 7.0.0".freeze, "< 8.0.0".freeze]) -+ s.add_runtime_dependency(%q<sidekiq>.freeze, [">= 7.0.0".freeze, "< 9.0.0".freeze]) - s.add_runtime_dependency(%q<thor>.freeze, [">= 1.0".freeze, "< 3.0".freeze]) - end - |