When uploading files/folders containing space in their name in the repo, the commit works fine. BUT we can't read those files using online using the "files" section of the project. Gitlab create a url with a whitespace in it, and it results in a plain blank page showing up.
Designs
Child items
...
Show closed items
Linked items
0
Link issues together to show that they're related or that one is blocking others.
Learn more.
@HijackedBrain@teknogeek Are you using a different Web server in front of GitLab? I see a %20 inserted for the whitespace and can browse these files fine.
@stanhu sorry about the delay. Here are more infos.
I'm running "GitLab 7.3.3 fb69ad35", on a debian 8.2 (jessie) machine with Apache2.4.10 . Here's the virtual host file : http://dpaste.com/3GVX7DP
And when I copy the buggy urls from my browser to a text file, the whitespace has been indeed replaced by %8.5 ( https://git.example.com/example/slice/tree/master/Assets/External%20Assets ) . But for some reasons, it still displays a completely blank, even the source code's page is empty. I tried multiple browsers.
I wonder if Apache is decoding the %20 and causing issues. The default nginx config for GitLab seems to leave URLs untouched. I wonder if the nocanon option would be a quick workaround.
well I have no proxyPass option in my virtual host config file.
I based mine upon those : https://gitlab.com/gitlab-org/gitlab-recipes/tree/master/web-server/apache
But I still tried to replace "proxyPassReverse" lines by "proxyPass nocanon", and obviously it failed, still blank page + the whole css of the website was broken.
@HijackedBrain, @stanhu
I fixed the issue at least temporarily by removing the NP-Directive in the RewriteRule-block.
#Forward any other requests to GitLab Rails app (Unicorn) RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f [OR] RewriteCond %{REQUEST_URI} ^/uploads RewriteRule .* http://127.0.0.1:8080%{REQUEST_URI} [P,NE,QSA] RequestHeader set X_FORWARDED_PROTO 'https' RequestHeader set X-Forwarded-Ssl on
becomes
#Forward any other requests to GitLab Rails app (Unicorn) RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f [OR] RewriteCond %{REQUEST_URI} ^/uploads RewriteRule .* http://127.0.0.1:8080%{REQUEST_URI} [P,QSA] RequestHeader set X_FORWARDED_PROTO 'https' RequestHeader set X-Forwarded-Ssl on
However, I didn't test whether this change affects Gitlab in any other way.
Update: After two month running the new config, there are no known side effects so far.