From de0968658fc2b10b4690aded2597ac93fad47323 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 24 Dec 2025 23:22:23 +0000 Subject: [PATCH 01/11] chore(deps): update all non-major bundler dependencies --- Gemfile | 10 +++++----- Gemfile.lock | 44 ++++++++++++++++++++++---------------------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/Gemfile b/Gemfile index 70b3a40a7..d292acac1 100644 --- a/Gemfile +++ b/Gemfile @@ -2,7 +2,7 @@ source 'https://rubygems.org' gem 'active_model_otp', '~> 2.3', '>= 2.3.4' gem 'bcrypt', '~> 3.1.20' -gem 'bootsnap', '~> 1.19.0' +gem 'bootsnap', '~> 1.20.0' gem 'browser', '~> 6.2.0' gem 'cssbundling-rails', '~> 1.4', '>= 1.4.3' gem 'dartsass-rails', '~> 0.5.1' @@ -16,7 +16,7 @@ gem 'jquery-rails', '~> 4.6.1' gem 'jsbundling-rails', '~> 1.3', '>= 1.3.1' gem 'kaminari', '~> 1.2.2' gem 'mollie-api-ruby', '~> 4.18.0' -gem 'net-imap', '~> 0.5.12' +gem 'net-imap', '~> 0.6.2' gem 'net-pop', '~> 0.1.2' gem 'net-smtp', '~> 0.5.1' gem 'omniauth', '~> 2.1.4' @@ -37,7 +37,7 @@ gem 'rqrcode', '~> 3.1', '>= 3.1.1' gem 'sentry-rails', '~> 6.2' gem 'sentry-ruby', '~> 6.2' gem 'sentry-sidekiq', '~> 6.2' -gem 'sidekiq', '~> 8.0.10' +gem 'sidekiq', '~> 8.1.0' gem 'sidekiq-scheduler', '~> 6.0.1' gem 'simple_form', '~> 5.4.0' gem 'sprockets-rails', '~> 3.5', '>= 3.5.2' @@ -53,7 +53,7 @@ group :development, :test do gem 'brakeman', '~> 7.1.1', require: false gem 'bullet', '~> 8.1' gem 'colorize', '~> 1.1.0' - gem 'database_consistency', '~> 2.1.0' + gem 'database_consistency', '~> 2.1.1' gem 'dotenv-rails', '~> 3.2.0' gem 'guard-livereload', '~> 2.5.2' gem 'guard-rspec', '~> 4.7.3', require: false @@ -76,7 +76,7 @@ end group :test do gem 'rails-controller-testing', '~> 1.0.5' - gem 'rubocop', '~> 1.81.7', require: false + gem 'rubocop', '~> 1.82.1', require: false gem 'rubocop-factory_bot', '~> 2.28.0', require: false gem 'rubocop-performance', '~> 1.26', '>= 1.26.1', require: false gem 'rubocop-rails', '~> 2.34', '>= 2.34.2', require: false diff --git a/Gemfile.lock b/Gemfile.lock index d5c5c452e..45fae88a3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -92,7 +92,7 @@ GEM rouge (>= 1.0.0) bigdecimal (3.3.1) bindex (0.8.1) - bootsnap (1.19.0) + bootsnap (1.20.0) msgpack (~> 1.2) brakeman (7.1.1) racc @@ -125,9 +125,9 @@ GEM dartsass-rails (0.5.1) railties (>= 6.0.0) sass-embedded (~> 1.63) - database_consistency (2.1.0) + database_consistency (2.1.1) activerecord (>= 3.2) - date (3.5.0) + date (3.5.1) devise (4.9.4) bcrypt (~> 3.0) orm_adapter (~> 0.1) @@ -231,7 +231,7 @@ GEM thor (>= 0.14, < 2.0) jsbundling-rails (1.3.1) railties (>= 6.0.0) - json (2.17.0) + json (2.18.0) jwt (3.1.2) base64 kaminari (1.2.2) @@ -287,7 +287,7 @@ GEM nenv (0.3.0) net-http (0.6.0) uri - net-imap (0.5.12) + net-imap (0.6.2) date net-protocol net-pop (0.1.2) @@ -347,7 +347,7 @@ GEM pp (0.6.3) prettyprint prettyprint (0.2.0) - prism (1.6.0) + prism (1.7.0) pry (0.15.2) coderay (~> 1.1) method_source (~> 1.0) @@ -430,7 +430,7 @@ GEM tsort redis (5.4.1) redis-client (>= 0.22.0) - redis-client (0.26.1) + redis-client (0.26.2) connection_pool regexp_parser (2.11.3) reline (0.6.3) @@ -472,7 +472,7 @@ GEM rspec-mocks (~> 3.13) rspec-support (~> 3.13) rspec-support (3.13.6) - rubocop (1.81.7) + rubocop (1.82.1) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -480,7 +480,7 @@ GEM parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.9.3, < 3.0) - rubocop-ast (>= 1.47.1, < 2.0) + rubocop-ast (>= 1.48.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) rubocop-ast (1.48.0) @@ -522,12 +522,12 @@ GEM sentry-ruby (~> 6.2.0) sidekiq (>= 5.0) shellany (0.0.1) - sidekiq (8.0.10) - connection_pool (>= 2.5.0) - json (>= 2.9.0) - logger (>= 1.6.2) - rack (>= 3.1.0) - redis-client (>= 0.23.2) + sidekiq (8.1.0) + connection_pool (>= 3.0.0) + json (>= 2.16.0) + logger (>= 1.7.0) + rack (>= 3.2.0) + redis-client (>= 0.26.0) sidekiq-scheduler (6.0.1) rufus-scheduler (~> 3.2) sidekiq (>= 7.3, < 9) @@ -570,7 +570,7 @@ GEM thor (1.4.0) timecop (0.9.10) timeliness (0.5.3) - timeout (0.4.4) + timeout (0.6.0) tsort (0.2.0) turbo-rails (2.0.20) actionpack (>= 7.1.0) @@ -581,7 +581,7 @@ GEM execjs (>= 0.3.0, < 3) unicode-display_width (3.2.0) unicode-emoji (~> 4.1) - unicode-emoji (4.1.0) + unicode-emoji (4.2.0) uniform_notifier (1.18.0) uri (1.0.4) useragent (0.16.11) @@ -614,7 +614,7 @@ DEPENDENCIES awesome_print (~> 1.9.2) bcrypt (~> 3.1.20) better_errors (~> 2.10.1) - bootsnap (~> 1.19.0) + bootsnap (~> 1.20.0) brakeman (~> 7.1.1) browser (~> 6.2.0) bullet (~> 8.1) @@ -622,7 +622,7 @@ DEPENDENCIES colorize (~> 1.1.0) cssbundling-rails (~> 1.4, >= 1.4.3) dartsass-rails (~> 0.5.1) - database_consistency (~> 2.1.0) + database_consistency (~> 2.1.1) devise (~> 4.9.4) devise-i18n (~> 1.15.0) dotenv-rails (~> 3.2.0) @@ -639,7 +639,7 @@ DEPENDENCIES listen (~> 3.9.0) mina (~> 1.2.5) mollie-api-ruby (~> 4.18.0) - net-imap (~> 0.5.12) + net-imap (~> 0.6.2) net-pop (~> 0.1.2) net-smtp (~> 0.5.1) omniauth (~> 2.1.4) @@ -662,7 +662,7 @@ DEPENDENCIES rest-client (~> 2.1.0) rqrcode (~> 3.1, >= 3.1.1) rspec-rails (~> 8.0.2) - rubocop (~> 1.81.7) + rubocop (~> 1.82.1) rubocop-factory_bot (~> 2.28.0) rubocop-performance (~> 1.26, >= 1.26.1) rubocop-rails (~> 2.34, >= 2.34.2) @@ -671,7 +671,7 @@ DEPENDENCIES sentry-rails (~> 6.2) sentry-ruby (~> 6.2) sentry-sidekiq (~> 6.2) - sidekiq (~> 8.0.10) + sidekiq (~> 8.1.0) sidekiq-scheduler (~> 6.0.1) simple_form (~> 5.4.0) simplecov (~> 0.22.0) From e7d433c30049ad25715931a43f1ad12c7a3c1df2 Mon Sep 17 00:00:00 2001 From: Lodewiges Date: Thu, 25 Dec 2025 01:17:20 +0100 Subject: [PATCH 02/11] make it so you can run publish image on a branch --- .github/workflows/publish-image.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish-image.yml b/.github/workflows/publish-image.yml index 8a995cdc4..1ffc72e3a 100644 --- a/.github/workflows/publish-image.yml +++ b/.github/workflows/publish-image.yml @@ -34,7 +34,9 @@ jobs: if [ "$GITHUB_REF_NAME" = 'master' ]; then echo 'tag=latest' >> "$GITHUB_OUTPUT" else - echo 'tag='"$GITHUB_REF_NAME" >> "$GITHUB_OUTPUT" + # Sanitize branch name for Docker tag (replace / with -) + SANITIZED_TAG=$(echo "$GITHUB_REF_NAME" | sed 's/\//-/g') + echo 'tag='"$SANITIZED_TAG" >> "$GITHUB_OUTPUT" fi if [ "$GITHUB_REF_NAME" = 'staging' ] || [ "$GITHUB_REF_NAME" = 'master' ]; then From 0f31cc447963553fcff513c04559c09eb074a531 Mon Sep 17 00:00:00 2001 From: Lodewiges Date: Thu, 25 Dec 2025 01:20:47 +0100 Subject: [PATCH 03/11] run with trace --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index c24012d84..37ab601d9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -44,7 +44,7 @@ COPY . /app/ # Precompile assets after copying app because whole Rails pipeline is needed. RUN if [ "$RAILS_ENV" = 'production' ] || [ "$RAILS_ENV" = 'staging' ] || [ "$RAILS_ENV" = 'luxproduction' ] || [ "$RAILS_ENV" = 'euros' ]; then \ - SECRET_KEY_BASE_DUMMY=1 bundle exec rails assets:precompile; \ + SECRET_KEY_BASE_DUMMY=1 bundle exec rails assets:precompile --trace; \ else \ echo "Skipping assets:precompile"; \ fi From e2443894c0002b1f25a414feead29f1b1fe522e4 Mon Sep 17 00:00:00 2001 From: Lodewiges Date: Thu, 25 Dec 2025 01:25:45 +0100 Subject: [PATCH 04/11] move to connection pool 3 settings --- config/application.rb | 8 +++++--- config/initializers/sidekiq.rb | 10 ++++++++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/config/application.rb b/config/application.rb index f0db2030c..f65bae79b 100644 --- a/config/application.rb +++ b/config/application.rb @@ -28,10 +28,12 @@ class Application < Rails::Application config.i18n.default_locale = :nl config.i18n.fallbacks = [:nl] + # Redis cache store with connection_pool 3.x compatibility + # Use nested pool configuration for proper initialization + redis_cache_url = Rails.application.config_for(:cable)['url'] config.cache_store = :redis_cache_store, { - url: Rails.application.config_for(:cable)['url'], - pool_size: ENV.fetch('RAILS_MAX_THREADS', 5).to_i, - pool_timeout: 5 + url: redis_cache_url, + pool: { size: ENV.fetch('RAILS_MAX_THREADS', 5).to_i, timeout: 5 } } config.active_job.queue_adapter = :sidekiq diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb index 3ac5dcdd9..64b2b64f6 100644 --- a/config/initializers/sidekiq.rb +++ b/config/initializers/sidekiq.rb @@ -2,10 +2,16 @@ if redis_url Sidekiq.configure_server do |config| - config.redis = { url: redis_url } + config.redis = { + url: redis_url, + pool: { size: ENV.fetch('RAILS_MAX_THREADS', 5).to_i, timeout: 5 } + } end Sidekiq.configure_client do |config| - config.redis = { url: redis_url } + config.redis = { + url: redis_url, + pool: { size: ENV.fetch('RAILS_MAX_THREADS', 5).to_i, timeout: 5 } + } end end From 9acc0d753b0adedaa8163db66a092bfdbd76d4c5 Mon Sep 17 00:00:00 2001 From: Lodewiges Date: Thu, 25 Dec 2025 01:41:52 +0100 Subject: [PATCH 05/11] change gemfile.lock --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 45fae88a3..c1c848339 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -118,7 +118,7 @@ GEM coderay (1.1.3) colorize (1.1.0) concurrent-ruby (1.3.6) - connection_pool (3.0.2) + connection_pool (2.5.5) crass (1.0.6) cssbundling-rails (1.4.3) railties (>= 6.0.0) From cf560ef5984383e545a756577161f9a5083c05c6 Mon Sep 17 00:00:00 2001 From: Lodewiges Date: Sun, 4 Jan 2026 17:46:42 +0100 Subject: [PATCH 06/11] make some changes --- Gemfile | 4 ++-- Gemfile.lock | 24 ++++++++++-------------- config/application.rb | 3 --- 3 files changed, 12 insertions(+), 19 deletions(-) diff --git a/Gemfile b/Gemfile index 246105ee2..5c5494961 100644 --- a/Gemfile +++ b/Gemfile @@ -2,7 +2,7 @@ source 'https://rubygems.org' gem 'active_model_otp', '~> 2.3', '>= 2.3.4' gem 'bcrypt', '~> 3.1.20' -gem 'bootsnap', '~> 1.20.0' +gem 'bootsnap', '~> 1.19.0' gem 'browser', '~> 6.2.0' gem 'cssbundling-rails', '~> 1.4', '>= 1.4.3' gem 'dartsass-rails', '~> 0.5.1' @@ -36,7 +36,7 @@ gem 'rqrcode', '~> 3.1', '>= 3.1.1' gem 'sentry-rails', '~> 6.2' gem 'sentry-ruby', '~> 6.2' gem 'sentry-sidekiq', '~> 6.2' -gem 'sidekiq', '~> 8.1.0' +gem 'sidekiq', '~> 8.0.10' gem 'sidekiq-scheduler', '~> 6.0.1' gem 'simple_form', '~> 5.4.0' gem 'sprockets-rails', '~> 3.5', '>= 3.5.2' diff --git a/Gemfile.lock b/Gemfile.lock index c1c848339..21d8025ff 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -92,7 +92,7 @@ GEM rouge (>= 1.0.0) bigdecimal (3.3.1) bindex (0.8.1) - bootsnap (1.20.0) + bootsnap (1.19.0) msgpack (~> 1.2) brakeman (7.1.1) racc @@ -118,7 +118,7 @@ GEM coderay (1.1.3) colorize (1.1.0) concurrent-ruby (1.3.6) - connection_pool (2.5.5) + connection_pool (3.0.2) crass (1.0.6) cssbundling-rails (1.4.3) railties (>= 6.0.0) @@ -329,9 +329,6 @@ GEM omniauth-oauth2 (1.9.0) oauth2 (>= 2.0.2, < 3) omniauth (~> 2.0) - omniauth-rails_csrf_protection (2.0.1) - actionpack (>= 4.2) - omniauth (~> 2.0) orm_adapter (0.5.0) ostruct (0.6.3) paper_trail (17.0.0) @@ -522,12 +519,12 @@ GEM sentry-ruby (~> 6.2.0) sidekiq (>= 5.0) shellany (0.0.1) - sidekiq (8.1.0) - connection_pool (>= 3.0.0) - json (>= 2.16.0) - logger (>= 1.7.0) - rack (>= 3.2.0) - redis-client (>= 0.26.0) + sidekiq (8.0.10) + connection_pool (>= 2.5.0) + json (>= 2.9.0) + logger (>= 1.6.2) + rack (>= 3.1.0) + redis-client (>= 0.23.2) sidekiq-scheduler (6.0.1) rufus-scheduler (~> 3.2) sidekiq (>= 7.3, < 9) @@ -614,7 +611,7 @@ DEPENDENCIES awesome_print (~> 1.9.2) bcrypt (~> 3.1.20) better_errors (~> 2.10.1) - bootsnap (~> 1.20.0) + bootsnap (~> 1.19.0) brakeman (~> 7.1.1) browser (~> 6.2.0) bullet (~> 8.1) @@ -645,7 +642,6 @@ DEPENDENCIES omniauth (~> 2.1.4) omniauth-identity (~> 3.1, >= 3.1.5) omniauth-oauth2 (~> 1.9.0) - omniauth-rails_csrf_protection (~> 2.0, >= 2.0.1) paper_trail (~> 17.0.0) paranoia (~> 3.1.0) pg (~> 1.6.2) @@ -671,7 +667,7 @@ DEPENDENCIES sentry-rails (~> 6.2) sentry-ruby (~> 6.2) sentry-sidekiq (~> 6.2) - sidekiq (~> 8.1.0) + sidekiq (~> 8.0.10) sidekiq-scheduler (~> 6.0.1) simple_form (~> 5.4.0) simplecov (~> 0.22.0) diff --git a/config/application.rb b/config/application.rb index 72a68fbdc..9883b0502 100644 --- a/config/application.rb +++ b/config/application.rb @@ -28,9 +28,6 @@ class Application < Rails::Application config.i18n.default_locale = :nl config.i18n.fallbacks = [:nl] - # Redis cache store with connection_pool 3.x compatibility - # Use nested pool configuration for proper initialization - redis_cache_url = Rails.application.config_for(:cable)['url'] config.cache_store = :redis_cache_store, { url: Rails.application.config_for(:cable)['url'], pool: { size: ENV.fetch('RAILS_MAX_THREADS', 5).to_i, timeout: 5 } From 2cdca6cb0acfc87873391c65836779d400e49c8f Mon Sep 17 00:00:00 2001 From: Lodewiges Date: Sun, 4 Jan 2026 18:58:22 +0100 Subject: [PATCH 07/11] revert more in gem.lock --- Gemfile.lock | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 21d8025ff..5945ca60f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -113,12 +113,12 @@ GEM capistrano (>= 3.9.0) capistrano-bundler sidekiq (>= 7.0) - cgi (0.5.1) + cgi (0.5.0) chunky_png (1.4.0) coderay (1.1.3) colorize (1.1.0) - concurrent-ruby (1.3.6) - connection_pool (3.0.2) + concurrent-ruby (1.3.5) + connection_pool (2.5.5) crass (1.0.6) cssbundling-rails (1.4.3) railties (>= 6.0.0) @@ -255,7 +255,7 @@ GEM ffi-compiler (~> 1.0) rake (~> 13.0) logger (1.7.0) - loofah (2.25.0) + loofah (2.24.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) lumberjack (1.4.2) @@ -274,8 +274,7 @@ GEM mina (1.2.5) rake mini_mime (1.1.5) - minitest (6.0.0) - prism (~> 1.5) + minitest (5.26.2) mollie-api-ruby (4.18.0) bigdecimal (~> 3.1, >= 3.1.8) ostruct (~> 0.6.0) From 5d545912c91cec20086e2e261454f9636ac96e33 Mon Sep 17 00:00:00 2001 From: Lodewiges Date: Sun, 4 Jan 2026 19:08:17 +0100 Subject: [PATCH 08/11] re update a couple depencies --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5945ca60f..057f7239a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -113,12 +113,12 @@ GEM capistrano (>= 3.9.0) capistrano-bundler sidekiq (>= 7.0) - cgi (0.5.0) + cgi (0.5.1) chunky_png (1.4.0) coderay (1.1.3) colorize (1.1.0) - concurrent-ruby (1.3.5) - connection_pool (2.5.5) + concurrent-ruby (1.3.6) + connection_pool (3.0.2) crass (1.0.6) cssbundling-rails (1.4.3) railties (>= 6.0.0) From 600429c3d31597f6fa00aad03edd6caa98bd27ad Mon Sep 17 00:00:00 2001 From: Lodewiges Date: Sun, 4 Jan 2026 19:13:16 +0100 Subject: [PATCH 09/11] another test --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 057f7239a..cf058c348 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -113,11 +113,11 @@ GEM capistrano (>= 3.9.0) capistrano-bundler sidekiq (>= 7.0) - cgi (0.5.1) + cgi (0.5.0) chunky_png (1.4.0) coderay (1.1.3) colorize (1.1.0) - concurrent-ruby (1.3.6) + concurrent-ruby (1.3.5) connection_pool (3.0.2) crass (1.0.6) cssbundling-rails (1.4.3) From 19ea8f511f240858bcfdebfd6550a3b95359e624 Mon Sep 17 00:00:00 2001 From: Lodewiges Date: Sun, 4 Jan 2026 19:16:28 +0100 Subject: [PATCH 10/11] try another --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index cf058c348..461a586d2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -113,12 +113,12 @@ GEM capistrano (>= 3.9.0) capistrano-bundler sidekiq (>= 7.0) - cgi (0.5.0) + cgi (0.5.1) chunky_png (1.4.0) coderay (1.1.3) colorize (1.1.0) - concurrent-ruby (1.3.5) - connection_pool (3.0.2) + concurrent-ruby (1.3.6) + connection_pool (2.5.5) crass (1.0.6) cssbundling-rails (1.4.3) railties (>= 6.0.0) From eca6da505012b2a75dc8446cfb3fd78a62a8b0c1 Mon Sep 17 00:00:00 2001 From: lodewiges <131907615+lodewiges@users.noreply.github.com> Date: Sun, 4 Jan 2026 19:24:16 +0100 Subject: [PATCH 11/11] Remove trace option from assets precompile command --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 37ab601d9..c24012d84 100644 --- a/Dockerfile +++ b/Dockerfile @@ -44,7 +44,7 @@ COPY . /app/ # Precompile assets after copying app because whole Rails pipeline is needed. RUN if [ "$RAILS_ENV" = 'production' ] || [ "$RAILS_ENV" = 'staging' ] || [ "$RAILS_ENV" = 'luxproduction' ] || [ "$RAILS_ENV" = 'euros' ]; then \ - SECRET_KEY_BASE_DUMMY=1 bundle exec rails assets:precompile --trace; \ + SECRET_KEY_BASE_DUMMY=1 bundle exec rails assets:precompile; \ else \ echo "Skipping assets:precompile"; \ fi