mirror of
https://github.com/yattee/yattee.git
synced 2026-10-23 21:22:53 +00:00
f3e03e57906af93e1d3666fe472179f971134d41
Correcting away from a deleted account was stamped with the current time and published. A device hearing about the deletion late would therefore sink an explicit choice another device made in between, and push its own automatic fallback over it. The repair now keeps the timestamp of the selection it replaces and is never uploaded: every device performs the same repair when it sees the deletion, so they converge without anyone writing anything. The tombstone is queued before the removal can persist. Deleting the selected account also corrects the context, and that wrote storage first — a crash in the gap left the account gone here and alive everywhere else, with nothing owed to the server. An identity reload replaces the context too, so it announces one. The legacy selection and the feed cache, which is not keyed by account, would otherwise keep serving the previous Apple account's data; the cache is now cleared unconditionally on an identity change, and the legacy selection falls back to local when the new namespace's context cannot be mapped yet. The legacy validator no longer corrects a selection whose account still exists. It predates account-scoped credentials and reads "not signed in" as "not available", which is now routinely temporary — an unresolved identity scope, or a credential iCloud Keychain has yet to deliver — and correcting on that desynchronized it from the data context, which is preserved. Background refresh routes on the effective context, so a disabled instance no longer receives background requests.
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%
