v3.2.0-alpha
🎯 New Features
Real-Debrid Integration & Debrid Dashboard
- Comprehensive Debrid Dashboard: Full Real-Debrid integration with backend + UI for torrent management, streaming, and monitoring
- WebDAV Support: Complete WebDAV structure with virtual folders, file flattening, DELETE handling, and HTTP DAV fallback for API errors
- Torrent Management: Torrent handling and streaming capabilities with live status updates and real-time file addition/removal detection
- Link Management: Link caching with
serve_from_rclonetoggle, failed link handling, and prefetch unrestricted links in parallel for faster imports - Smart Refresh: Cache-based refresh system with SQLite-backed torrent store and async enrichment
- File Tracking: Comprehensive removed file tracking with hash-based identification
- WebDAV Enhancements: Expose custom props in PROPFIND, correct file mod-times, ETags, stable modification times to prevent rescans, actual torrent timestamps instead of refresh time
Rclone Mount System
- Auto-Mount: Auto-mount on app start with deferred mount until torrents are loaded
- Torrent-Aware Mounts: Torrent-aware rclone mount with live status updates
- Mount Optimization: Configurable rclone mount optimization settings with dynamic cache path support
- Platform Support: Linux mount tracking and unmount support, Windows mount path normalization, build tags for Windows-specific syscall attributes
- Folder Extensions: Folder extension stripping for Debrid mounts
- Rclone Logging: Rclone logging flags and configuration automation
- Proper Cleanup: Proper rclone mount cleanup on shutdown to prevent stale mounts in Docker
- FUSE Support: Added FUSE support with SYS_ADMIN capability in compose file
Repair System
- Full Repair Queue: Comprehensive repair system with proper checks to find broken files
- On-Demand Functionality: Fetch torrent info on-demand to show folder contents immediately
- Cascade Delete: RD cascade delete option with enhanced confirmation dialog
- Repair Safeguards: Ensure Real-Debrid torrent deletion during repair cleanup, verify links properly before marking torrents as broken
- Hide Broken Files: Hide broken torrent files from WebDAV listings
- Exclude Repaired: Exclude repaired torrents from removal detection
- UI & Performance: Repair UI performance improvements and mobile view fixes
- Timeout Protection: Repair queue processing with timeout protection
Setup & User Experience
- Setup Wizard: New setup wizard to simplify initial configuration and env handling
- About Page: Added About page showing current build tag (bumped to 3.2.0-alpha)
- Manual Mount Guide: Manual mount guide for CineSync rclone
- Restored Playback: Restored file actions and Play button for movies and TV shows
- Episode Actions: Inline episode actions and overview toggle
- Daily Shows: Improved daily show handling with air-date episode lookup
- Original Titles: Use original titles for matching countries
- Radarr Tags: Support separator-aware Radarr tags
Content Management
- SKIP_VERSIONS Flag: Prevent duplicate file versions from being processed
- Improved Imports: Improved manual import streaming and hardened MediaHub logging
- Overwrite Flow: Improved overwrite flow for moving directories
- Root Folders: Root folder support with enhanced path extraction
⚡ Performance & Optimization
- Memory Optimization: Overall memory optimization improvements
- In-Memory Caching: WebDAV optimization with in-memory caching and proper init order
- Concurrent Maps: Migrate to concurrent maps for better performance
- Fixed O(n×m) Loop: Fix O(n×m) nested loop in performFullRefresh
🛡️ Reliability & Error Handling
- Rate Limiting: Configurable rate limiting for Real-Debrid API calls to prevent rate limits during scans
- Multi-Token Rotation: Multi-token bandwidth rotation with auto-failover
- Smart Retries: Handle rate limit error codes 34 and 36 with retry, caching, and jitter backoff
- Auto-Recovery: Auto-recover from timeout errors by flushing connection pool
- Centralized Errors: Centralized API error handling
- Torrents-Info Cache: Prevent RD rate limits during scans with torrents-info.db cache, populate cache using GetTorrentInfo
- 0KB Detection: HTTP DAV 0KB file detection
🐛 Fixes
- Database: Schema validation for deleted_files table columns, initialize MediaHub database tables on WebDavHub startup, prevent NULL-to-string scan for file_path in listings
- Symlinks: RELATIVE_SYMLINK mismatch fix
- UI: DB quality/size display in movie & TV views, honor URL-selected view and reduce noise
- Platform: Normalize DB folder names to match filesystem-safe paths on Linux, use system temp directory for Windows
- Entrypoint: Add appuser ownership for /app/.config directory
- Prowlarr: Stabilize Prowlarr→Radarr indexer sync, implement Prowlarr-CineSync connection for indexer management
- Env Loading: Remove env_creator dependency and standardize dotenv loading
📦 Version
- Build tag bumped to 3.2.0-alpha