overleaf / overleaf/toolkit

Critical Data Loss: Large files silently truncated when project exceeds 50MB limit

Open
#416 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Shell
Stars
1.3k
Forks
310
Avg merge
3d 12h
Merged PRs (30d)
1

Description

Version 5.5.4

Bug Description

When a project's total size exceeds an apparent 50MB limit, large files within the project are silently truncated to 9 bytes. When downloaded, these files only contain the text "Not Found". This leads to irreversible data loss for that version, with no warning given to the user.

The only way to recover is to revert to a previous version from the project history.

Steps to Reproduce

  • Create a project and upload files until its size is just under 50MB.
  • Upload one more file that pushes the total size over the 50MB threshold.
  • Download the project.
  • Observe that larger files have been corrupted and are now 9 bytes in size.
  • Expected Behavior
  • The system should reject any action (e.g., a file upload) that causes the project to exceed the size limit and display a clear error message. User data should never be silently altered or deleted.

Actual Behavior

Existing files are silently corrupted to enforce a size limit, causing critical data loss.

Suggestions

Prevent Data Corruption: Immediately block actions that exceed the size limit instead of truncating files. A clear warning message is essential.
Make the Limit Configurable: The 50MB limit should be an adjustable setting, especially for self-hosted instances, to prevent this issue and allow for more flexibility.

Image

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source files, tests, or entry points are named. Reproduce the issue on version 5.5.4 around the 50MB threshold, then trace the size-limit enforcement; done means an over-limit action is rejected with a clear error and existing files are not truncated.

Written by the indexing model from the issue text.

Assessment

Domain
backend
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.