Changed video player from .fullScreen to .push navigation: - Removed NavigationViewCoordinator wrapper - Video player now returns VideoPlayerCoordinator directly This should allow ESC/back button to work during video playback. MediaCoordinator kept at .fullScreen to prevent Home screen navigation bug. Trade-offs: ✅ Video player ESC should now work ✅ Pressing back from empty channel goes to Media tab (not Home) ❌ Error dismissal still returns to Media tab (dismisses entire .fullScreen presentation) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
---|---|---|
.github | ||
Documentation | ||
PreferencesView | ||
Resources | ||
Scripts/Translations | ||
Shared | ||
Translations | ||
fastlane | ||
jellypig tvOS | ||
jellypig.xcodeproj | ||
.gitignore | ||
.swiftformat | ||
Cartfile | ||
ChromeCastFramework.json | ||
Gemfile | ||
LICENSE.md | ||
README.md | ||
swiftgen.yml |
README.md
Swiftfin is a modern video client for the Jellyfin media server. Made using Swift to maximize direct play with the power of VLC and look native on all classes of Apple devices.
⚡️ Download
🛠️ TestFlight
Use the TestFlight version to test new features and bug fixes before being published to the App Store. We are grateful for your time and resources for reporting new bugs.
[!NOTE] Only iOS has a TestFlight version. See this discussion for tvOS updates.
⚙️ Development
Thank you for your interest in Swiftfin! Please check out the Contribution Guidelines to get started.
🎬 Player Differences
Swiftfin offers both Native (AVKit) and Swiftfin (VLCKit) players to provide the best compatibility across Apple devices. To learn more about the capabilities and differences between these players, visit our Player Differences documentation.
📚 Translations
Don't see Swiftfin in your language?
Check out our Weblate instance to help translate Swiftfin and other Jellyfin projects.