Skip to content

fix: handle large file downloads with progress tracking (fixes #2)#13

Open
nandanosql wants to merge 1 commit into
averygan:mainfrom
nandanosql:fix/large-file-timeout
Open

fix: handle large file downloads with progress tracking (fixes #2)#13
nandanosql wants to merge 1 commit into
averygan:mainfrom
nandanosql:fix/large-file-timeout

Conversation

@nandanosql
Copy link
Copy Markdown

Summary

Addresses issue #2 - large file downloads failing silently with 5-min timeout.

Changes

  • Timeout increased from 5 min to 30 min
  • Real-time progress tracking with percentage
  • Visual progress bar in UI
  • Better error capture
  • Partial file cleanup on timeout

Closes #2

…meout

- Increase download timeout from 5 min to 30 min (large files)
- Use Popen instead of subprocess.run for real-time progress parsing
- Parse yt-dlp progress percentage and expose via /api/status
- Show progress bar in UI during downloads
- Improve error reporting: capture all ERROR/WARNING lines from yt-dlp
- Clean up partial files on timeout
- Report file size after successful download
- Add logging for download errors

Fixes #2
DeBondor added a commit to DeBondor/reclip that referenced this pull request Apr 11, 2026
…progress bar + 30min timeout

- averygan#12: cleanup_old_downloads() + enforce_dir_size_limit() run on startup and before each download;
  /api/cleanup (POST) and /api/downloads/stats (GET) endpoints added;
  configurable via MAX_DOWNLOAD_AGE_HOURS and MAX_DOWNLOAD_DIR_SIZE_MB
- averygan#13: subprocess.Popen with --newline --progress for real-time yt-dlp output parsing;
  job["progress"] (0-100) exposed on /api/status; frontend renders animated progress bar;
  timeout bumped to 30 min; partial files cleaned up on timeout
Auzlex added a commit to Auzlex/reclip that referenced this pull request Apr 29, 2026
…erygan#24 (security, stability, and progress tracking)

- PR averygan#24: Fixed YouTube 403 Forbidden errors by pinning yt-dlp>=2026.3.17.
- PR averygan#3: Implemented security hardening (URL validation, format/job ID sanitization, path traversal protection, and non-root Docker user).
- PR averygan#12: Added automatic disk management (1-hour job TTL, 500MB directory size cap, and auto-purge).
- PR averygan#13: Enhanced download experience with real-time progress tracking, 30-minute timeouts, and UI progress bars.
- Backend: Unified app.py with threading locks, structured logging, and configurable cleanup settings via environment variables.
- Environment: Updated Dockerfile and reclip.sh for better dependency management and unprivileged execution.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant