Adds the coil-svg KMP module dependency and registers SvgDecoder.Factory()
on the singleton ImageLoader in App.kt. coil-svg was never declared in
libs.versions.toml, so SVG payloads silently fell through Coil's decoder
chain and ended up as empty ImageDecoderException swallowed by AsyncImage.
Coil 3.x's coil-svg is a Kotlin Multiplatform module, so registering the
factory in commonMain covers Android and iOS in one place.
Affects:
- TMDB network/channel logos (TMDB serves a mix of PNG and SVG)
- Stremio addon manifests with an SVG `logo` field
- Custom artwork URLs in the collection editor that happen to be SVG
Mirrors the equivalent fix in NuvioTV (PR #1772).
- Updated TraktAuthState to replace device and user codes with pending authorization fields.
- Modified TraktAuthUiState to remove polling fields and include pending authorization timestamp.
- Introduced TraktBrandAsset enum for brand assets.
- Implemented traktBrandPainter function for Android and iOS to provide appropriate brand images.
- Added SVG and XML resources for Trakt brand assets (logo wordmark and favicon).
- Updated iOS app to handle URL callbacks for Trakt authentication.
- Added TraktAuthBridge to manage authentication callback handling.
- Introduced MetaExternalRating data class to hold external ratings.
- Updated MetaDetails to include externalRatings list.
- Implemented MdbListMetadataService for fetching ratings from MDBList API.
- Created MdbListSettings and MdbListSettingsRepository for managing settings.
- Added UI components for displaying external ratings in DetailMetaInfo.
- Integrated MDBList settings into the settings screen with options for enabling/disabling and configuring providers.
- Updated ProfileRepository to handle MDBList settings changes.
- Enhanced error handling and caching for MDBList API requests.
- Introduced a new toggle for trailers in TMDB settings.
- Updated TMDB metadata service to fetch and handle trailers.
- Enhanced TMDB settings repository and storage to persist trailer preferences.
- Implemented trailer playback resolver for iOS, integrating YouTube extractor.
- Modified player bridge to support loading video with audio.
- Added necessary data classes and methods for trailer management and playback.
- Added AuthRepository for handling user authentication states and actions.
- Implemented AuthScreen for user sign-in and sign-up functionality.
- Introduced Profile management with ProfileEditScreen and PinEntryDialog for secure access.
- Enhanced synchronization of user profiles and library data with Supabase.
- Created necessary data models and network providers for seamless integration with Supabase services.
- Added navigation support using Jetpack Compose Navigation.
- Created MetaDetailsScreen to display detailed information about media items.
- Introduced MetaDetailsRepository for fetching and managing media details.
- Added components for displaying action buttons, cast, and meta information.
- Updated HomeScreen and HomePosterCard to handle poster click events.
- Integrated new UI components into the existing app structure.
- Added platform-specific insets for better layout handling.
- Updated Gradle dependencies for navigation and serialization support.