OpenCut-app / OpenCut-app/OpenCut
[FEATURE] File Size Validation
Personne n'a encore pris cette issue.
- 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
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- 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