Defect #17770

Updated by Toshi MARUYAMA over 7 years ago

Redmine by default, does something bad: it uses (in certain places only) the .js file extension for files that contain user content. ie files that should not be cached.

A small change should be made, to stop using the .js extension in these specific places.

Many Redmine users, configure Apache/Nginx to cache-in-the-browser all static files, such as .css and .js.
And the obvious config: is to look for files name *.js or *.css.

But those users will experience problems, that they then post here about (see list at the end).
It is a hard thing to diagnose -because the connection between the apache.nginx change and these specific, local problems: is not obvious.

*It happens alot, so fixing this will save many people pain.*

When people add a Nginx or Apache config to cache all .js files - at first everything seems to work... but then a day or more later they will notice a problem: it will happen on one of a few specific places

*a) Click 'edit' on an existing journal in an issue*

(the js file created is eg 24174.js where 24174 is the journal number: the AJAX call is:


*b) Uploading a file to an Issue*

Having selected the file in the Browse button: this file is called, (which contains the image file being sent to the server)


*List of Tickets on that are definitely to this issue*

Can't upload image #13564
Nginx Configuration (with Phusion Passenger) to set Expiration Headers
Unable to edit issue journal messages in Redmine 2.3.1 #14150
Unable to edit notes/answers in issues