Changes
What is New
Large update, addressing many bugs, implementing a new .ass subtitles renderer that is more accurate, dynamic library page sizing, faster loading times with caching for near instant navigation, a ghost mode to watch media without reporting playback if you quickly want to see a scene, profile pin lock thanks to @kyuuk, new icon pack thanks to @krishhari2105, Emby server support, and much more.
New Features:
- Implement libass-wasm .ass subtitles renderer used in jellyfin-web.
- Dynamic grid sizing in the library page, changeable from the view mode modal.
- Homepage caching for instant back without loading.
- Add ghost mode, watch without playback reporting.
- Allow changing icon variants and make it even easier to add future icon styles.
- Add Material 3 Icon style thanks to @krishhari2105 .
- Add opt-in per-profile PIN lock thanks to @kyuuk .
- Support Emby server auth so everything works there as well with @krishhari2105 help.
- Allow hiding the my media header title in the sidebar.
- Easier manual server input with 3 split inputs.
- Clickable headers that redirect to a library like Jellyfin-web for the favorites page.
- Add normal build with oblong icon.
- Make the logo icon also clickable to go to show details from episodes and season pages.
- Focus restoration and correct back navigation for the live TV page.
- Allow forcing mp2 codec state for playback.
- Add 2 new bundled fonts thanks to @Saulimedes.
- Update background opacity slider to cover all player menus and overlays.
Bug fixes:
- sidebar: fix hover jumping
- login: fix multiple issues with the new fields, auto connect when selecting discovered servers
- sidebar: fix sidebar not collapsing when moving the cursor away
- scrolling: fix GPU-accelerated scrolling in webos
- homescreen: fix carousel not included in cache
- logo-icons: better logo icons size handling
- live-tv: fix live tv page focus restoration from guide
- details: new option to use secondary text color instead of primary to fix very dark colors having secondary titles unreadable
- subtitles: use videos framerate for libass-wasm
- library: remove duplicate fetch library info call
- details: improve and optimize initial loading
- homescreen: make the home screen caching optional to allow disabling it if there was any issues
- loading: multiple optimizations to load home screen faster
- settings: fix show mdb list awards badges setting
- player: fix switching audio tracks not switching playback mode
- loading: fix loading skeleton alignment with loaded data
- subtitles: fix remember tracks for session resetting on items with no subtitles
- plugin-manager: defer initialization to after a user is selected to avoid errors
- navigation: fix route replacement for live tv and web browsers
- subtitles: option to skip animations and lower canvas quality + some optimizations for libass-wasm
- player: fix pre selected tracks and media source not being respected on retry option
- player: fix selecting different source sometimes not applying
- fonts: fix kitty font
- trueHD: fix dts and truehd not being disabled in auto mode
- details: fix favorite icon in person details page
- scroll: fix details page not returning to top unless you double press up
- details: fix action buttons focus behavior by making it a grid
- player: fix mark as "watched" in Trakt with plugin
- playback: removed force_mp3 transcode option in webprofile
- player: make await tracks on by default and add a 15 timeout on subtitle tracks to avoid infinite waiting
- live-tv: improved codecs support
- player: update transcode profiles per audio codec to make the server correctly choose the user specifed audio codec.
- webos: fix audio track switching 2
- fix(emby): resolved is:emby check in cold-start and wrong episode playback
- library: fix dynamic library rows requested image quality
- library: fix static library grid going off screen
- icons: address visual inconsistencies
- tizen: fix auto transcoding audio codec on tizen
- details: fix mark icon inside modals
- webos: fix audio track switching
- ultra-legacy: fix crashing because of the pathSegList pollyfill
- fixed bug where watched icon disappeared in dynamic & filled mode
- fix activeStyle after the merge
- icons: fix details page audio icon
- tizen: guard setSubtitleStreamIndex with early state check
- tizen: use seekTo callbacks and add LIVE DVR range validation
- tizen: guard getTotalTrackInfo and setSubtitlePosition with state check
- tizen: correct TEXT track state guard from READY to PAUSED
- tizen: guard post-play proactive subtitle silence with state check
- tizen: guard timer-based subtitle re-applies with state check
- tizen: guard setAudioStreamIndex with state check and defer to pending
- tizen: guard audio track selection in _applyPendingTracks with state check
- tizen: fix SET_MODE_4K conditions
- tizen: fix usage of FIXED_MAX_RESOLUTION to follow api docs and not only use 4k resloution
- home: fix carousel ignore watched content option not ignoring tv shows
- auth: enforce profile PIN on auto-resume and SmartHub deep links
- auth: require current PIN before disabling or changing it
📦 Which version to use?
Litefin provides 4 distinct build variants per platform (Tizen & webOS) to ensure compatibility across all hardware generations.
| Build Variant | Hardware Target | Platform Version |
|---|---|---|
| ES6 | Modern high-end sets (2021+) | Tizen 6.5+ / webOS 22+ |
| Normal | Most modern smart TVs (2019+) | Tizen 5.0+ / webOS 6.0+ |
| Legacy | Mid-lifecycle sets (2017/2018) | Tizen 4.0+ / webOS 3.0+ |
| Ultra Legacy | Vintage hardware (Pre-2017) | From Tizen 3.0 and below / Early webOS 2 and 1 |
Note: If you are unsure, try the Normal build first. If the app feels sluggish or fails to load, move down to Legacy.
New Contributors
- @krishhari2105 made their first contribution in #228
Full Changelog: v1.2.0...v1.3.0