OpenCut-app / OpenCut-app/OpenCut

[FEATURE] File Size Validation

オープン
#653 コメント 6 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

enhancement
主要言語
TypeScript
スター
89.9k
フォーク
8.9k
PR マージ指標
30日以内にマージされた PR はありません

説明

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

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まずメディアパネルと、file.size の既存の使用箇所を特定します。どの検証アプローチとファイルタイプの制限を対象範囲に含めるかを決め、そのうえで警告、クォータチェック、圧縮、chunking がどのように連携すべきかを判断します。Done には、設定可能な制限、サイズに関する明確なフィードバック、サイズが大きすぎるアップロードに対する定義済みの動作を含める必要があります。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
typescript
領域
frontend
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。