Repository navigation
Releases: bdwandry/litefin-android
Release list
v1.5.0
Litefin v1.5.0 (versionCode 21)
Fixes playback of movies whose MP4 moov atom sits at the end of the file (e.g. 42), which previously failed with:
MEDIA_ELEMENT_ERROR: Format errorPIPELINE_ERROR_READ: FFmpegDemuxer: data source error
What changed
- Loopback media proxy — media streams are now served by an embedded HTTP server running on
127.0.0.1inside the app. The Chromium WebView network layer handles Range / 206 responses natively against it;moov-at-end MP4s no longer abort. - The
shouldInterceptRequestreverse proxy (v1.4.0) remains for images and API fetches, but no longer serves the video stream renderer path. - Playback URLs from the web layer are rewritten to
http://127.0.0.1:<port>/...via the Android bridge; loopback HTTP is a secure context so the mixed-content gate does not apply. Cache-Control: no-storeand explicitContent-Lengthhardened on proxy responses; WebView cache mode set toLOAD_NO_CACHE.
Full Changelog
v1.4.0
Litefin v1.4.0
Fixed
- Images and video now load over LAN (plain-IP) servers — Chromium's mixed-content gate hard-blocks
<img>/<video>element loads from the app's https shell to plain-http servers even withMIXED_CONTENT_ALWAYS_ALLOW(data fetches passed; posters, logos, backdrops and playback did not). A native reverse proxy now streams renderer-path loads through the app's trusted origin with Range support, sohttp://192.168.x.x:8096behaves identically to the https domain.
Changed
- Version 1.4.0 (versionCode 20) across Android, Tizen, and webOS manifests.
Verified on-device-equivalent (Android VM, LAN login): home page renders fully (0 failed requests), a 2.1GB MKV streams with Range 206 and decodes in a real video element. https logins bypass the proxy entirely.
Install: sideload Litefin-1.4.0.apk (universal WebView shell, arm64 + x86_64). Requires Android 5.0+.
v1.3.0
Litefin v1.3.0
Fixed
- LAN (plain-http) servers now connect — the WebView's default mixed-content policy silently blocked every request to
http://192.168.x.x:8096from the app's https virtual origin; mixed content is now always allowed, and self-signed/IP-invalid server certificates are accepted (matches Tizen/webOS client behavior).
Added
- Automatic server discovery on Android — the native shell broadcasts the standard Jellyfin autodiscovery probe (UDP 7359) and the login screen lists found servers in ~1 second, verified on-device (Galaxy S24 Ultra). Falls back to the HTTP subnet scan when UDP is unavailable.
Notes
- Version 1.3.0 (versionCode 19) across Android, Tizen, and webOS manifests — all platforms in lockstep.
- This tag previously existed in the inherited upstream history and pointed at a pre-fork commit; it was re-pointed at this fork's release commit to keep the releases list clean.
Install: sideload Litefin-1.3.0.apk (universal WebView shell, arm64 + x86_64). Requires Android 5.0+.
v1.0.0
Litefin 1.0.0 — first official stable release 🎉
The Android port graduates from pre-release to stable.
What's in the Android client
- Full Jellyfin experience on phones, tablets and Android TV boxes — the complete Litefin TV interface in a thin native WebView shell, with a touch-first adaptation for phones and full D-pad/remote support for Android TV
- Touch-first UI: finger-drag media rows with native fling physics, tap-to-toggle player OSD, finger-scrubbing with trickplay thumbnails, adaptive portrait and landscape layouts sized for phone screens
- Complete player backend: hls.js/MSE playback, SSA/ASS + PGS subtitle engines, trickplay, chapters, quality switching, Up Next, and all Litefin plugin integrations (Seerr, Intro Skipper, SyncPlay, MDBList)
- TV-grade features on the go: Live TV with swipeable EPG guide, server discovery + Quick Connect, synchronized multi-device playback, and multi-user profile switching
- Immersive fullscreen with sticky system-bar hiding and camera-cutout-aware layouts
Also in this build
- Login tagline updated to "Jellyfin Client for Tizen, WebOS, & Android" in both orientations
- All portrait/landscape layout fixes, landscape sign-out dialog fix, and touch improvements from the v0.x series
versionCode 16 (1.0.0)
v0.15.0
Login page tagline update.
- The tagline now reads "Jellyfin Client for Tizen, WebOS, & Android" in both portrait and landscape (updated the English reference and all 82 locale fallback copies; fully-translated locales keep their own wording)
versionCode 15 (0.15.0)
v0.14.0
Fixes the landscape sign-out confirmation dialog.
- The dialog inherited the stock modal max-height: 80vh, which resolves against the raw phone viewport under CSS zoom - clamping it to ~46% of screen height and clipping the "Are you sure you want to sign out?" message mid-sentence
- Its fixed 650px width was authored for the portrait canvas, leaving it undersized in landscape
- Landscape now renders the dialog at 87% canvas width and 80% of the design height, matching the portrait appearance exactly
- Scoped to landscape only: portrait keeps the stock dialog untouched
versionCode 14 (0.14.0)
v0.13.0
Landscape login redesign + portrait sign-in scroll fixes.
Highlights
- Landscape Connect screen redesigned to the approved two-pane mock: centered branding column on the left, gradient "Connect to Server" headline, muted subtitle, rounded form card with a gradient pill Connect button, letterspaced DISCOVERED SERVERS header, and carded server rows — all compacted to fit the screen with zero scrolling.
- Portrait sign-in fixed: the Sign In / Quick Connect / Change Server action row now wraps instead of forcing horizontal scrolling, and the username/password inputs gained edge breathing room. No horizontal or vertical scrolling on any login step.
- Orientation isolation: landscape and portrait rules live in separate media queries; both orientations were regression-checked on-device.
Install
Download Litefin-0.13.0.apk below and sideload it. versionCode 13 — upgrades cleanly over v0.12.0.
v0.12.0
Portrait Connect screen widened to use the full phone canvas.
Highlights
- Full-width layout: the headline, subtitle, form card, Connect button, Discovered Servers panel and server rows now stretch to 710px of the 750px canvas with just 20px side padding — no more wasted black space on the edges.
- Portrait only: landscape login is untouched.
Install
Download Litefin-0.12.0.apk below and sideload it. versionCode 12 — upgrades cleanly over v0.11.0.
v0.11.0
Portrait login screen redesigned to match the approved mobile mock-up.
Highlights
- Full mobile redesign of the Connect screen (portrait): compact centered branding, large gradient "Connect to Server" headline, muted subtitle, rounded form card, and a gradient pill Connect button with a glow.
- Discovered Servers restyled: letterspaced uppercase header flanked by horizontal rules with the refresh icon, and server rows / empty state rendered as cards.
- Tight top-down rhythm: the form now hugs the branding — no dead gap between sections; everything fits the canvas with generous touch targets.
- Landscape untouched: all changes live behind portrait-only media queries; the TV login was regression-checked on-device.
Install
Download Litefin-0.11.0.apk below and sideload it. versionCode 11 — upgrades cleanly over v0.10.0.
v0.10.0
Details page title overflow fix for portrait.
Highlights
- Long movie titles no longer overflow: titles without spaces (e.g. "The.Matrix.4.Resurrections") used to burst out of the info column and force horizontal scrolling on the details page. They now wrap cleanly at any character and the page never scrolls sideways in portrait.
- Portrait only: all changes live behind portrait-only media queries; the landscape hero layout is untouched.
Install
Download Litefin-0.10.0.apk below and sideload it. versionCode 10 — upgrades cleanly over v0.9.0.