Skip to content

fix: add automatic download cleanup to prevent disk bloat#12

Open
nandanosql wants to merge 1 commit into
averygan:mainfrom
nandanosql:fix/download-cleanup
Open

fix: add automatic download cleanup to prevent disk bloat#12
nandanosql wants to merge 1 commit into
averygan:mainfrom
nandanosql:fix/download-cleanup

Conversation

@nandanosql
Copy link
Copy Markdown

Summary

Addresses issue #11 - duplicate file downloads accumulating without cleanup.

Changes

  • Auto cleanup of files older than 1 hour
  • Size limit enforcement (500MB cap, oldest-first removal)
  • New /api/cleanup and /api/downloads/stats endpoints
  • Runs on startup and before each download

Closes #11

- Add cleanup_old_downloads() to remove files older than 1 hour
- Add enforce_dir_size_limit() to cap downloads dir at 500MB
- Run cleanup automatically on startup and before each new download
- Add POST /api/cleanup endpoint for manual cleanup trigger
- Add GET /api/downloads/stats endpoint to inspect downloads folder
- Add proper logging for cleanup operations

Fixes averygan#11
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.

duplicate file downloads observed

1 participant