[Bug]: Private GitLab uploads do not load in MR descriptions
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 23k
- Forks
- 5.9k
- Avg merge
- 11h 14m
- Merged PRs (30d)
- 357
Description
Area
apps/web, apps/server
Steps to reproduce
- Sign in to a self-hosted GitLab instance with
glaband add a private repository to T3 Code. - Create a merge request and upload a PNG and a short MP4 to its description using GitLab's upload UI.
- Open that MR in T3 Code's pull request panel.
GitLab stores these uploads as relative /uploads/<secret>/<filename> references. The same problem affects copied project-ID upload links. The private test repository is on a local network, so it cannot be shared publicly; the steps above reproduce it with another GitLab installation.
Expected behavior
The uploaded image is visible. The video plays and supports seeking using the environment's GitLab login.
Actual behavior
The image is unavailable and the video cannot play. Relative image paths can be mistaken for workspace files, and anonymous browser requests cannot retrieve private uploads.
Impact
Major degradation for MR descriptions that use screenshots or recordings to explain changes.
Version and environment
Reproduced on main at e816064945, web client on macOS, private self-hosted GitLab. GitLab returns uploaded PNG/MP4 files as application/octet-stream. The reproduction's configured login host differs from GitLab's canonical repository URL.
Related work
#11374 implements the fix. #6600 describes the related GitHub image problem; #10775 is the existing GitHub-specific proposal.
Searched existing GitLab image reports before filing; no matching bug report found.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the related work in #11374 and inspecting the GitLab upload handling in apps/web and apps/server. Reproduce the issue with a private self-hosted GitLab MR containing PNG and MP4 uploads, then verify that relative and project-ID upload links load with the configured GitLab login, including video seeking.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend, frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100