Skip to content

Conversation

@Feichtmeier
Copy link
Collaborator

No description provided.

escamoteur and others added 8 commits November 24, 2025 03:42
- Upgraded to command_it 9.4.1 for progress/cancellation support
- Each EpisodeMedia now owns its downloadCommand with built-in progress
- Added PodcastManager.activeDownloads (ListNotifier) to track active downloads
- Renamed DownloadManager → DownloadService (stateless operations only)
- Removed state tracking from DownloadService (no ChangeNotifier, no maps)
- Replaced messageStream with Command.globalErrors for error notifications
- Added isDownloaded getter based on command progress (progress == 1.0)
- Factory constructor pattern for EpisodeMedia (single getDownload call)
- Episodes automatically use local path when downloaded (no copyWithX needed)
- Simplified UI: watch command properties directly

Benefits:
- Commands own execution state (no separate registry)
- Single source of truth for download state
- Better type safety (all ValueListenable<T>)
- Cleaner UI code (no manual state management)
- Real-time progress updates and cancellation support
TODO: create ONE class for all types of playable media - don't use third
party libs in library services or player managers
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.

3 participants