OpenCut-app / OpenCut-app/OpenCut

[FEATURE] File Size Validation

Aperta
#653 6 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

enhancement
Lingua principale
TypeScript
Stelle
89.8k
Fork
8.9k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia individuando il pannello multimediale e l’uso esistente di file.size. Decidi quale approccio di validazione e quali limiti per i tipi di file rientrano nell’ambito, quindi determina come devono interagire gli avvisi, i controlli della quota, la compressione o il chunking. Done dovrebbe includere limiti configurabili, feedback chiaro relativo alle dimensioni e un comportamento definito per gli upload troppo grandi.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
typescript
Ambito
frontend
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.