mirror of
https://github.com/yattee/yattee.git
synced 2026-08-05 23:01:28 +00:00
908a916f76eee8347667961e0d50a528441a1d21
The remote control loadVideo command only carried the raw video ID and an instance URL, so extracted videos (Twitch live streams and other yt-dlp sites) failed on the receiver: it tried to fetch the ID from the /api/v1/videos endpoint, which rejects non-YouTube IDs. The command now carries the full ContentSource and title. The receiver rebuilds the VideoID from the source and opens a placeholder Video - the player then re-extracts streams and full metadata from the original URL, same as when opening the video locally. Media-source extractors (WebDAV/SMB/local) keep using the existing UUID:path branch. Both fields are optional for protocol compatibility: old receivers ignore them, commands from old senders keep the legacy behavior. Also stop sending a start time for live streams - there is no shared timeline, the receiver joins at the live edge.
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.1%
Ruby
3.4%
C
0.4%
Shell
0.1%
