Changes
What is New
Litefin just got a bit faster on older devices, with performance fixes across multiple areas, hot fixes for bugs, and a small number of new features.
Notes:
-
You can change the scroll speed and smoothness now with a new setting in the performance tab.
-
The library now defaults to 50 items per page, it's recommended for all weaker devices to switch back to 50 for the smoothest experience.
-
webOS users with os screensaver triggering mid-playback: there is a new option under Litefins screensaver settings to suppress this, disabled by default.
-
If the home screen carousel still feels heavy on your device, cycle between the available styles or disable it.
-
The new immersive performance carousel has an option to make it prettier by extending the carousel with blur hash, at the cost of more performance.
Enjoying Litefin so far? Consider supporting me and starring the repo!
Buy me a coffee
Sponsor this project on GitHub
New Features:
- Add an option to modify scroll animation speed in the performance tab.
- Make the back button on the sidebar optional for other platforms.
- Add the option to use fullscreen on Android mobile, default to not using it.
- Add blur hash background to complete the immersive performance carousel and make it look better.
- Add a new performance immersive mode home screen carousel (new default).
- Add fullscreen button to OSD for Desktop/Web.
Bug fixes:
- packaging: fix plugin version not being updated
- webos: make screen saver supression optional and disable it by default
- webos: suppress os screen saver in playback
- subtitle: improve subtitle dodging depending on subtitle position
- webos: make zoom and stretch work on webOS 5.5 (Chromium 68) thanks to @Saulimedes
- player: restore playback speed and aspect ratio after a playback restart
- home-screen: reduce height between rows for a small performance gain
- subtitles: fix always mode after last changes
- api: restore artists endpoint for Jellyfin 12
- library: fix library limits not changing after the setting is changed
- home-page: default to performance mode immersive carousel
- theme: improve performance with ambient glow theme gradients
- webos: fix don't fallback to hls.js with dovi movies, makes it have a green tint
- subtitles: improve forced subtitle detection
- subtitles: fix default subtitle track playing no matter what
- mobile: fix home carousel gradient
- android: use correct login page in landscape/tv mode
- android: use Media Session to register Litefin as the active hardware media session
- home-screen: fix scroll smoothness of home screen carousel
- library: allow disabling blur hash for library, disable it by default
- library: improve library page scrolling performance
- app: don't lock mouse controls for most platforms
- android: fix text scaling options for Android
- sidebar: fix sidebar collapsed color following theme
- details: slight improvement to gradients and respect theme colors
- home-screen: improve home screen carousel performance by optimizing the gradient
- subtitles: fix secondary subtitle position option
- player: fix subtitle dodging causing subtitles to start in elevated state
- android: fix media keys and colored buttons not working for Android
- webos: test fix for zoom aspect ratio
- tizen: remove zoom aspect ratio again, it will never work
- settings: fix background of focused items in the settings for older devices
- web: fix serve build error in login page
- api: fix users.map is not a function error
- html-player: mute on resume only on webOS
- desktop/web: play AV1 on the HTML5 backend when WebCodecs cannot decode it thanks to @gatolocoses
- profiles: pair E-AC-3 with the next codec in transcoding profiles
- html-player: don't fail playback while HLS.js recovers from a media error
- android: fix Android screen saver getting triggered while playback is on
- webos: fix resume showing a frame before resume
- player: fix initial backdrop mismatch leading to reloading and quality not being respected
- sidebar: fix sidebar color in settings for tinted and classic themes
- web/desktop: fix u, w, x not being writable in any input bars
- fonts: list and restore individual server fallback fonts thanks to @yidingww
- api-client: fix api client treating 401 unauthorized as an expired session token
- settings: fix new about settings not being a grid on some devices
🌐 Web & Server Plugins
Extend Litefin with enhanced features (Seerr discovery, Where to Watch streaming availability, MDBList ratings) and access Litefin directly inside your web browser:
🔌 Server Plugins (Features & Integrations)
- Litefin Plugin for Jellyfin: Required on Jellyfin server for Seerr integration, per-season requests, and TMDB streaming availability.
- Litefin Plugin for Emby: Companion plugin for Emby server setups.
📦 Which Version Should I Choose?
Litefin is available across Smart TVs, Android devices, Desktop environments, and as a Jellyfin Web plugin. Pick the build matching your hardware below:
📺 Smart TVs (Samsung Tizen & LG webOS)
Smart TV packages come in 4 performance tiers to squeeze maximum performance out of both modern and vintage hardware:
| Build Variant | Recommended Hardware | OS / Platform Target | Package Format |
|---|---|---|---|
| Modern | High-end / Recent TVs (2021+) | Tizen 6.5+ / webOS 22+ (6.0+) | .wgt / .ipk
|
| Normal | Most Smart TVs (2019–2021) | Tizen 5.0+ / webOS 5.0+ | .wgt / .ipk
|
| Legacy | Mid-lifecycle TVs (2017–2018) | Tizen 4.0+ / webOS 4.0+ | .wgt / .ipk
|
| Ultra-Legacy | Older & vintage TVs (Pre-2017) | Tizen 3.0 & below / webOS < 4.0 | .wgt / .ipk
|
Tip: If you're unsure which tier your TV needs, start with Normal. If it fails to launch, switch to Legacy.
For vintage Tizen 2.4 TVs, use the dedicatedUltra-Legacy (No-Service)build.
- Samsung Tizen: Sideload
.wgtusing Apps2Samsung or Tizen CLI. - LG webOS: Install
.ipkvia webOS Homebrew Channel or Try Scoty's lg-dev-manager.
📱 Android (Android TV, Google TV, Fire TV & Mobile)
Android builds are native packages powered by Media3 ExoPlayer with hardware decoding and audio passthrough:
| Package | Target Hardware & Devices |
|---|---|
*-Android-arm64.apk
| Most Modern Devices (Recommended): Android TV / Google TV boxes, Nvidia Shield, Fire TV Cube (3rd gen), and modern Android phones / tablets (64-bit ARM). |
*-Android-arm.apk
| 32-bit Devices: Fire TV Stick (Basic, 4K, 4K Max 1st gen), budget Android TV sticks, older Android mobile devices (32-bit ARM). |
*-Android-x86_64.apk / x86.apk
| Android emulators, Intel-based Android hardware, and Chromebooks running Android runtime. |
- Sideload via ADB (
adb install <file>.apk), Downloader app, or Send Files to TV (SFTV).
🖥️ Desktop (Windows, Linux, macOS)
Native desktop builds powered by Tauri v2 with low resource usage and hardware-accelerated playback:
| OS | Available Formats | Notes |
|---|---|---|
| Windows | *.exe, *_x64-setup.exe, *.msi
| Standalone executable, setup wizard, or MSI enterprise installer (Windows 10/11 64-bit). |
| Linux | *.AppImage, *.deb, *.rpm
| Universal standalone (AppImage), Debian/Ubuntu (.deb), or Fedora/RHEL/openSUSE (.rpm). |
| macOS | *.dmg
| Drag-and-drop disk image installer. |
Notes: For the macOS build, I don't have an Apple Developer account, so it's not signed. To run it, open Terminal and run:
xattr -cr /Applications/Litefin.app
⌨️ Keyboard Controls (Desktop & Web)
| Key / Shortcut | Action |
|---|---|
Space / K
| Play / Pause toggle |
J / L
| Seek backward / forward 10 seconds |
← / →
| Navigate UI items or seek timeline during playback |
↑ / ↓
| Navigate UI items, menus, and OSD controls |
Enter
| Select / Activate focused item or reveal OSD |
Esc / Backspace
| Go back / Close modal / Exit player |
F / F11
| Toggle Fullscreen |
M
| Mute / Unmute audio |
| Media Keys | Hardware Play, Pause, Next, Previous, Stop |
🌐 Litefin Client Plugin (Web Client in Browser)
Integrates Litefin Client directly into the official Jellyfin web client, giving you the Litefin experience in any browser.
Option 1: Via Repository Manifest (Recommended)
- Copy this manifest repository URL:
https://github.com/MoazSalem/litefin/releases/latest/download/litefin-plugin-manifest.json - In your Jellyfin Server, navigate to Dashboard > Plugins > Repositories.
- Click Add (+), enter a name (e.g.
Litefin Plugins), and paste the URL. - Switch to the Catalog tab, locate Litefin Client Plugin under General, and click Install.
- Restart your Jellyfin Server.
- After restart, Litefin Client is available in your browser at
http://<Jellyfin-IP>:<Jellyfin-Port>/litefin.
Option 2: Manual Installation
- Download the
Litefin.Client.Plugin_*.ziparchive from the Releases page (or compile from source). - Extract the archive (specifically
Litefin.Client.Plugin.dllandmanifest.json) into your server's plugin folder:- Windows (Service):
C:\ProgramData\Jellyfin\Server\plugins\Litefin_Client\ - Windows (Portable):
<Jellyfin-Directory>\data\plugins\Litefin_Client\ - Linux / Docker:
/config/plugins/Litefin_Client/
- Windows (Service):
- Restart your Jellyfin Server.
New Contributors
- @benefactoress made their first contribution in #505
Full Changelog: v2.0.0...v2.0.20