mirror of
https://github.com/yattee/yattee.git
synced 2026-10-24 21:52:51 +00:00
7b1a24a5b0f551f19164ddd042756c6fd4faf1fc
Releasing the dismiss drag now shrinks the player window onto its video and flies it into the mini player's preview instead of sliding it off screen and showing the mini player afterwards. The mini player stays mounted under the expanded player and reports its preview frame, and the window is masked down to the video while its root view is transformed onto that frame (with the safe area the transform drops added back, so the content doesn't jump). The handoff of the shared MPV view is made seamless: a freshly made player container waits for its first layout before taking a view that is on screen elsewhere, sizes and redraws it there, and the window hides in that same frame. Resizing the render view draws the current frame into the recreated framebuffer right away instead of leaving it blank until the next tick. Falls back to the slide when no preview target is available (rotated session, video preview hidden, different window size).
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%
