mirror of
https://github.com/yattee/yattee.git
synced 2026-10-23 13:12:53 +00:00
46d70d03aa484a4d0d540a4829b66e8b816919de
The stored secret is now watched for every account, not only rejected ones. iCloud Keychain replaces it under the same key when the user signs in again on another device, and the account ID, the context and the status all stay put — so the subscriptions and feed of one backend user stayed on screen while writes went to another. A replacement now discards what it had cached, and clears any rejection with it, since a rejection belongs to the secret that earned it. Feed requests carry the account they were started for instead of sharing one slot. Switching accounts mid-flight starts a replacement while the first request is still running, and the second one's marker made the first one's result look current again. Deleting an account — locally, or by a tombstone arriving from another device — and deleting an instance both drop the cached provider now, like signing out already did. Otherwise a fetch already in flight could publish a deleted account's channels after the context had fallen back.
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
License
Yattee and its components is shared on AGPL v3 license.
Languages
Swift
96.9%
Ruby
2.7%
C
0.3%
