Defect #24617

Browser js/css cache remains after upgrade

Added by Hiroshi Shirosaki 3 months ago. Updated 15 days ago.

Status:NewStart date:
Priority:NormalDue date:
Assignee:-% Done:


Target version:3.4.0
Resolution: Affected version:


Browser js/css cache remains after Redmine application upgrade.

Asset path parameter like "?1481777729" is not added with Rails 4.2.
Adding asset id parameters like old Rails 3 would solve the issue.

<script src="/redmine/javascripts/application.js?1481777729"></script>

Attached patch is based on:

Redmine version is 3.3.1.devel.

0001-Adds-asset_id-parameters-to-assets.patch Magnifier (2.25 KB) Hiroshi Shirosaki, 2016-12-15 09:54


#1 Updated by Toshi MARUYAMA 2 months ago

Good Job!!
Is it related that Redmine does not use asset pipeline?

#2 Updated by luigifab ! 2 months ago

+1 Very good patch.

#3 Updated by Go MAEDA about 1 month ago

  • Target version set to 3.4.0

#4 Updated by Akipii Oga about 1 month ago

When upgrading Redmine(2.x→3.x), the screen may collapse.
If you fix with this patch, I want you to merge quickly.

#5 Updated by Toshi MARUYAMA about 1 month ago

Toshi MARUYAMA wrote:

Good Job!!
Is it related that Redmine does not use asset pipeline?

Ref: #13927#note-2

#6 Updated by Pavel Rosický about 1 month ago

@toshi - why is the asset pipeline disabled?

btw. suffixes like "filename ?1481777729 " are just ignored and still cached by some web-servers. - using a file digest is safer then using timestamps
ex. 66ca44f5c66abebe01f39e780e5b89159a04e7019c4515792224dd4cae962bbc .js

#7 Updated by Toshi MARUYAMA about 1 month ago

Pavel Rosický wrote:

@toshi - why is the asset pipeline disabled?

As #13927#note-3, we don't know how to port asset in plugins.

#8 Updated by Kohei Nakamura about 1 month ago

+1 Great Job!

I was also upgrading to Redmine 2.5.1 to 3.3.2, Redmine layout collapsed!
I did not understand the cause and attempted to cancel the version upgrade.

However, Go MAEDA taught me this patch,

Upgrade succeeded.

I would like to apply the patch so that nobody suffers from this problem.

In my case, I applied this patch by the following procedure.
(Redmine 3.3.2)

#cd redmine/config/initilizers
#patch -u < 0001-Adds-asset_id-parameters-to-assets.

and input redmine/config/initializers/10-patches.rb

#bundle exec rake tmp:cache:clear tmp:sessions:clear
Apache restart(Redmine Restart).
View source in the browser and confirm that it has a parameter string.
(ex. ***.js.?1486805824)

#9 Updated by Marius BALTEANU 15 days ago

I didn't test the patch, but the functionality is really needed. Currently, we use a workaround with a pagespeed module for nginx in order to purge the cache after a release with js/css changes.

Also available in: Atom PDF