Fix Error 500 when viewing a blob with binary characters after the 1024-byte mark
Fix Error 500 when viewing a blob with binary characters after the 1024-byte mark
Here was the problem:
- When determining whether a given blob is viewable text, gitlab_git reads the first 1024 bytes and checks with Linguist whether it is a text or binary file.
- If the blob is text, GitLab will attempt to display it.
- However, if the text has binary characters after the first 1024 bytes, then GitLab will attempt to load the entire contents, but the encoding will be ASCII-8BIT since there are binary characters.
- The Error 500 results when GitLab attempts to display a mix UTF-8 and ASCII-8BIT.
To fix this, we need to load the entire blob so that the binary/text detection will work properly.
Closes #13826 (closed)