OpenCut-app / OpenCut-app/OpenCut

[FEATURE] File Size Validation

Ouverte
#653 6 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

enhancement
Langage dominant
TypeScript
Étoiles
89.9k
Forks
8.9k
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Problem

No validation for file sizes before uploading. Large files can cause browser crashes or storage issues.
Users can accidentally upload huge files, causing performance problems.

Solution

Pre-upload Validation with Hard Limits

  • Validate file size before processing starts
  • Reject files exceeding configured limits immediately
  • Show clear error messages with file size info
  • Different limits for images, videos, and audio
  • Pros: Simple, prevents issues early
  • Cons: May be too restrictive for some use cases
Alternative

Approach 1: Soft Limits with Warnings

  • Allow uploads but show warnings for large files
  • Provide "Continue anyway" option
  • Track large files separately
  • Pros: Flexible, user-friendly
  • Cons: Users might ignore warnings

Approach 2: Progressive Upload with Chunking

  • Split large files into chunks
  • Upload chunks progressively
  • Validate chunk size
  • Pros: Handles very large files, better UX
  • Cons: Complex implementation, requires chunking logic
Implementation Details:
  • Add file size limits (configurable, with sensible defaults)
    • Images: 50MB default, configurable up to 200MB
    • Videos: 500MB default, configurable up to 2GB
    • Audio: 100MB default, configurable up to 500MB
  • Show warnings for large files with file size info
  • Provide file size information in media panel (already have file.size)
  • Option to compress images before adding (using browser-image-compression or similar)
  • Check available quota using navigator.storage.estimate()
  • Display storage usage indicator
Anything else?

No response

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par localiser le panneau multimédia et l’utilisation existante de file.size. Déterminez quelle approche de validation et quelles limites de type de fichier sont dans le périmètre, puis déterminez comment les avertissements, les vérifications de quota, la compression ou le chunking doivent interagir. Done doit inclure des limites configurables, un retour clair concernant la taille et un comportement défini pour les téléchargements trop volumineux.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
typescript
Domaine
frontend
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.