After upgrading from XNAT 1.7.6 to 1.8.3 (and Tomcat 7 to 9, Postgres 11 to 12), I've discovered that certain URLs must be quoted in order to work properly (which was not the case before).
For instance, in this File Manager for an MR session with a Freesurfer assessor, if I click on the aseg.mgz file, the browser will download it, but if I click on the aparc+aseg.mgz file, it will produce a 404 error.
From the log, localhost_access_log.2021-11-18.txt:
127.0.0.1 - - [18/Nov/2021:14:39:16 -0800] "GET /data/experiments/MyXNATServer01_E00047/assessors/MyXNATServer01_E00047_freesurfer_20211117111936/out/resources/184398/files/session_label/mri/aparc+aseg.mgz HTTP/1.0" 404 747
127.0.0.1 - - [18/Nov/2021:14:39:53 -0800] "GET /data/experiments/MyXNATServer01_E00047/assessors/MyXNATServer01_E00047_freesurfer_20211117111936/out/resources/184398/files/session_label/mri/aseg.mgz HTTP/1.0" 200 318773
That first request for aparc+aseg.mgz fails (with 404), whereas the 2nd for aseg.mgz succeeds.
All of my pipelines that retrieved the aparc+aseg file (by name) required that I quote the URL first, so again, the first of these fails, the second of succeeds (using python requests library):
The pipeline issue was easily solved, but does anyone know how I can fix this for the XNAT Manage Files dialog (before users run into the issue). Perhaps this is a Tomcat issue rather than XNAT?
Thanks for any ideas.