From a25321e1e7ff374567d08cc3990b7f78bab7ec28 Mon Sep 17 00:00:00 2001 From: Go MAEDA Date: Thu, 6 Nov 2025 23:51:29 +0000 Subject: [PATCH] Fix assets are not compiled on startup in production mode with Propshaft 1.3.0 (#43396). Patch by Takashi Kato (user:tohosaku) and Takenori TAKAKI (user:takenory). git-svn-id: https://svn.redmine.org/redmine/trunk@24132 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- config/initializers/10-patches.rb | 7 ++----- config/initializers/30-redmine.rb | 7 +++++++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/config/initializers/10-patches.rb b/config/initializers/10-patches.rb index 345868410..7df46304a 100644 --- a/config/initializers/10-patches.rb +++ b/config/initializers/10-patches.rb @@ -120,11 +120,8 @@ Mime::SET << 'api' module Propshaft Assembly.prepend(Module.new do - def initialize(config) - super - if Rails.application.config.assets.redmine_detect_update && (!config.manifest_path.exist? || manifest_outdated?) - processor.process - end + def needs_precompile? + !config.manifest_path.exist? || manifest_outdated? end def manifest_outdated? diff --git a/config/initializers/30-redmine.rb b/config/initializers/30-redmine.rb index 16bcebec4..c7cb9e542 100644 --- a/config/initializers/30-redmine.rb +++ b/config/initializers/30-redmine.rb @@ -116,4 +116,11 @@ Rails.application.config.to_prepare do end end +# Automatically execute asset precompilation on startup in case of changes have been detected in assets +Rails.application.config.after_initialize do |app| + if app.config.assets.redmine_detect_update && app.assets.needs_precompile? + app.assets.processor.process + end +end + Rails.application.deprecators[:redmine] = ActiveSupport::Deprecation.new('7.0', 'Redmine')