mirror of
https://github.com/yattee/yattee.git
synced 2025-11-16 06:58:43 +00:00
97ae843013a7c47f59c6c55f1f05d9968554af5c
Wrap favoritesChanged.toggle() calls in MainActor.run blocks to ensure main actor-isolated state mutations happen on the correct actor context. This resolves Swift concurrency warnings when updating state from nonisolated async contexts.
Features
- Native user interface built with SwiftUI with customization settings
- Player queue and history
- Player component with custom controls, gestures and support for 4K playback
- Fullscreen, Picture in Picture and background audio playback
- SponsorBlock, configurable categories to skip
Documentation
Contributing
If you're interestred in contributing, you can browse the issues list or create a new one to discuss your feature idea. Every contribution is very welcome.
Use building instructions or join Discord or Matrix Channel for a chat if you need an advice or want to discuss the project.
Translations
You can help to make this project accessible to everyone by contributing to its localizations.
Localization service and hosting is provided by Weblate.
License
Yattee and its components is shared on AGPL v3 license.
Languages
Swift
99.4%
Ruby
0.6%
