OpenCut-app / OpenCut-app/OpenCut
[FEATURE] File Size Validation
オープン
まだ誰も着手していません。
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
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まずメディアパネルと、file.size の既存の使用箇所を特定します。どの検証アプローチとファイルタイプの制限を対象範囲に含めるかを決め、そのうえで警告、クォータチェック、圧縮、chunking がどのように連携すべきかを判断します。Done には、設定可能な制限、サイズに関する明確なフィードバック、サイズが大きすぎるアップロードに対する定義済みの動作を含める必要があります。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- typescript
- 領域
- frontend
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100