Project

General

Profile

Defect #17770

Updated by Toshi MARUYAMA over 6 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. 

 Because: 
 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: 

 -        GET    https://redmine.xyz.com/journals/edit/24174.js 

 *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) 

 -       POST https://redmine.xyz.com/uploads.js?attachment_id=1&filename=my-file-to-upload.png 


 *List of Tickets on redmine.org that are definitely to this issue* 

 Can't upload image    #13564 
 Nginx Configuration (with Phusion Passenger) to set Expiration Headers      message#43872 http://www.redmine.org/boards/2/topics/9703?r=43872 
 Unable to edit issue journal messages in Redmine 2.3.1        #14150 
 Unable to edit notes/answers in issues       message#35759 http://www.redmine.org/boards/2/topics/35751?r=35759 

Back