mirror of
https://github.com/yattee/yattee.git
synced 2026-10-23 21:22:53 +00:00
eeee74f35f1769fa17debaa7b34fdb1cb4d58762
17 of the build 270 crash logs are 0xdead10cc kills on the main thread inside DataManager.save(), every one reached from the 5-second PlayerService progress-save timer. During background audio the timer keeps writing; when playback stops the app can be suspended mid-save, still holding the SQLite lock in the shared app-group container. Wrap the periodic save in a background-task assertion when the app is not active, and skip the write when the position has not moved since the last save, so a paused player stops writing every five seconds. The remaining six 0xdead10cc logs die in DataManager.init recovering the WAL during a background launch. They are most likely the aftermath of these dirty kills, so store opening is left as is.
Yattee 2 is in the works! A new version of the app is being built with a refreshed experience. It pairs with the new Yattee Server — a self-hosted backend powered by yt-dlp that supports 1000+ sites. Join the TestFlight beta to try early builds, and check the new documentation site at docs.yattee.stream for guides, roadmap and changelog.
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
- Automation with the
yattee://URL scheme, x-callback-url, Shortcuts and Siri
License
Yattee and its components is shared on AGPL v3 license.
Languages
Swift
96.9%
Ruby
2.7%
C
0.3%
