mediapod_flutter 1.3.0
mediapod_flutter: ^1.3.0 copied to clipboard
Flutter widgets for Mediapod - a self-hosted media service. Upload, display, and manage media assets with imgproxy optimization and HLS video streaming. Deploy the backend with Docker, integrate seaml [...]
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.2.0 - 2026-02-19 #
Fixed #
- Upload error messages are now human-readable (no raw HTML or
Exception:prefix) - Failed upload text can wrap up to 3 lines instead of being truncated
1.1.0 - 2026-02-19 #
Fixed #
AssetTilenow usesposterURL key for video thumbnails (falls back tothumbnail)MediaController.loadAssets()starts processing pollers for already-processing assets, so videos that finish transcoding become tappable without manual refresh
1.0.0 - 2024-12-02 #
Added #
Core Widgets
MediapodImage- Optimized image display with automatic imgproxy resizingMediapodThumbnail- Convenience widget for thumbnailsMediapodAssetGrid- Grid view for displaying assets with selection supportMediapodAssetGridSliver- Sliver version for CustomScrollViewAssetTile- Individual asset tile with selection, processing, and error states
Media Playback
MediapodVideoPlayer- HLS video player with full controls (powered by chewie)MediapodFullscreenViewer- Single asset full-screen viewer with zoom/panMediapodGallery- Full-screen gallery with swipe navigation
Upload Management
UploadController- Concurrent upload queue with progress trackingUploadProgressBar- Compact progress indicatorUploadProgressList- Detailed list of uploadsMediapodAssetPicker- File picker integration (camera, gallery, file browser)DropZone- Drag & drop support for web/desktop
State Management
MediaController- Complete state management for assetsMediapodScope- InheritedWidget provider for easy accessMediapodMediaManager- All-in-one media management widget
Theming
MediaTheme- Comprehensive theme configurationMediaThemeProvider- InheritedWidget for theme propagation- Factory methods:
MediaTheme.dark(),MediaTheme.light(),MediaTheme.fromTheme()
Configuration
MediaManagerConfig- Upload and grid configurationImageDisplayConfig- Image optimization settingsPickerConfig- File picker behavior configuration
Models
UploadTask- Upload task with progress trackingSelectionState- Multi-select state managementAssetKind,ImageFormat,ResizeTypeenums
Utilities
UploadStorage- Offline queue persistence (non-web platforms)- Context extensions for easy access to controllers and signers
Features #
- Full imgproxy integration for image optimization
- HLS video streaming support (with hls.js for web)
- Concurrent upload queue with configurable limits
- Multi-select and batch operations
- Hero animations for smooth transitions
- Accessibility support with semantic labels
- Offline upload queue persistence
- Comprehensive theming system
Security #
- Environment-based configuration (no hardcoded credentials)
- Security documentation and guidelines
- Debug logging sanitized for production