Skip to content

UI shows hardcoded "/ 10 GB" project storage cap; backend hard-rejects files > 10 GB #64

Description

@ravirajsinh45

Reported by @ducknoodledance in #61.

Problem

The project detail page shows a "Storage X / 10 GB" indicator, and the
backend rejects any single upload larger than 10 GB. Both limits are
hardcoded and there is no per-org / per-project quota field in the DB,
so a self-hoster running on their own S3 / MinIO has no way to change
or remove them. The UI text in particular is misleading — it implies a
quota that doesn't actually exist as a configurable concept.

Where it lives

  • Frontend denominator (cosmetic): apps/web/app/(dashboard)/projects/[id]/page.tsx:592
    const limit = 10 * 1024 * 1024 * 1024; // 10 GB default limit
    rendered as Storage {used} / {limit} (lines 600–606).
  • Backend per-file ceiling: apps/api/schemas/upload.py:15
    MAX_FILE_SIZE_BYTES = 10 * 1024 * 1024 * 1024  # 10 GB
    enforced in apps/api/routers/upload.py and apps/api/routers/assets.py
    ("File exceeds 10GB limit").
  • Project / Organization models have no storage_limit column and
    ProjectResponse exposes only storage_bytes (used), not a limit.

Proposed fix

  • Drop the hardcoded denominator from the UI, or drive it from an
    optional storage_limit field that's only shown when set.
  • Make MAX_FILE_SIZE_BYTES configurable via env (e.g.
    MAX_UPLOAD_BYTES, default unlimited or a high sane value).
  • Optionally add a per-org/per-project quota for operators who do
    want a cap.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions