github Viren070/AIOStreams desktop-v0.12.0
desktop: v0.12.0

4 hours ago

0.12.0 (2026-10-10)

Features

  • desktop: download what the page hands over (6e73d39)
  • desktop: let the page play the files it downloaded (744d386)
  • jellyfin-web: add a Cache settings tab (b6ed7ae)
  • jellyfin-web: download movies, episodes and seasons (b6ed7ae)
  • jellyfin-web: hand downloads to the Jellyfin Android app (b6ed7ae)
  • jellyfin-web: play finished downloads from their files (b6ed7ae)
  • jellyfin-web: save pages and artwork on the device (b6ed7ae)
  • jellyfin: keep a user separate, on a sign-in address of their own (b6ed7ae)
  • ui: add a right-side sheet to the modal (b6ed7ae)
  • ui: leave a zero decimal off formatBytes (b6ed7ae)
  • web: add a follow hero that keeps its artwork in the top corner (b6ed7ae)
  • web: add a frame-rate matching setting on Android TVs (b6ed7ae)
  • web: add a solid navigation bar background and put navigation settings in one card (b6ed7ae)
  • web: add a tooltip to the rating button (b6ed7ae)
  • web: add a touch rail for wide touch screens (b6ed7ae)
  • web: add a tunneled playback setting on Android TVs (b6ed7ae)
  • web: add a TV layout (b6ed7ae)
  • web: add a voice search button on Android TVs (b6ed7ae)
  • web: add an Android app section to the settings (b6ed7ae)
  • web: add an Automatic player engine and make it the default (b6ed7ae)
  • web: add an only-on-Wi-Fi download setting for the Android app (b6ed7ae)
  • web: add data-nav-exit focus boxes (b6ed7ae)
  • web: add floating and corner side rails (b6ed7ae)
  • web: add picture-in-picture and background playback settings for the Android app (b6ed7ae)
  • web: allow the following hero on TVs (b6ed7ae)
  • web: blur liquid glass without its bend while it resizes (b6ed7ae)
  • web: bring the page to its top for focus in the item header (b6ed7ae)
  • web: choose the Android app's player engine (b6ed7ae)
  • web: draw ExoPlayer's statistics over the player (b6ed7ae)
  • web: drop copying stream links on TVs (b6ed7ae)
  • web: drop downloads on Android TV (b6ed7ae)
  • web: drop the follow hero's buttons on TVs (b6ed7ae)
  • web: drop the Shortcuts settings tab on TVs (b6ed7ae)
  • web: drop the versions filter on TVs (b6ed7ae)
  • web: enter a focus group from outside at the start of its row (b6ed7ae)
  • web: export the watch history through the Android app (b6ed7ae)
  • web: fill focused list rows instead of outlining them (b6ed7ae)
  • web: fit the sign-in pickers to a remote (b6ed7ae)
  • web: float a TV's top bar over the page on glass (b6ed7ae)
  • web: focus an item page's Play when keys open it (b6ed7ae)
  • web: focus the first item on Select with nothing focused (b6ed7ae)
  • web: give liquid glass a wider, stronger rim and edge highlights (b6ed7ae)
  • web: give the Android and Android TV apps their own client names (b6ed7ae)
  • web: glide keyed scrolls on a spring of our own (b6ed7ae)
  • web: hear back from external players in the Android app (b6ed7ae)
  • web: hide an episode's buttons on TVs and add Details to its menu (b6ed7ae)
  • web: hide external links and skip the hero's dots on TVs (b6ed7ae)
  • web: hide scrollbars on TVs (b6ed7ae)
  • web: hide the player's controls on Back before leaving on a TV (b6ed7ae)
  • web: keep a show's Play button in place while its next episode loads (b6ed7ae)
  • web: keep subtitles above the player's controls while they show (b6ed7ae)
  • web: land focus where it last was in rows, grids and lists (b6ed7ae)
  • web: leave volume out of the player on TVs and touch screens (b6ed7ae)
  • web: let a held key's action run until the key is let go (b6ed7ae)
  • web: list versions in a drawer over the player and on short screens (b6ed7ae)
  • web: list versions in a side sheet over the player (b6ed7ae)
  • web: mark a focused settings tab on its sliding marker (b6ed7ae)
  • web: mark webOS and Tizen as TVs (b6ed7ae)
  • web: offer the other engine on the Android app's error screen (b6ed7ae)
  • web: open a TV's keyboard on Select rather than on focus (b6ed7ae)
  • web: open a user's own address on their sign-in (b6ed7ae)
  • web: play full screen in landscape in the Android app (b6ed7ae)
  • web: play full screen on tablets in the app (b6ed7ae)
  • web: put a TV's keyboard away on its own Enter (b6ed7ae)
  • web: remove a recent search from its context menu (b6ed7ae)
  • web: rework the player's controls (b6ed7ae)
  • web: run a button's hold action on a held Select (b6ed7ae)
  • web: say which picture fit the button picked (b6ed7ae)
  • web: scroll to the top when the rotating hero takes focus (b6ed7ae)
  • web: seek with a double tap and swipe for brightness and volume on touch (b6ed7ae)
  • web: send Back into a TV's navigation from the pages it leads to (b6ed7ae)
  • web: send the backdrop as now-playing artwork (b6ed7ae)
  • web: show the display's HDR types and the Dolby Vision route in ExoPlayer's statistics (b6ed7ae)
  • web: show the passthrough switch in the Android app (b6ed7ae)
  • web: show the picture-in-picture setting only where the device has it (b6ed7ae)
  • web: show the player's controls on Up and Down on TVs (b6ed7ae)
  • web: skip row headers and hide minor buttons on TVs (b6ed7ae)
  • web: slide a TV's top bar away while focus is in the following hero's rows (b6ed7ae)
  • web: start Discover's focus on its first card (b6ed7ae)
  • web: start the version picker on the first version for keys (b6ed7ae)
  • web: take ordered audio and subtitle language lists (b6ed7ae)
  • web: take the Android app's Back (b6ed7ae)
  • web: thicken card focus rings on TVs (b6ed7ae)
  • web: toggle the player's controls with a tap (b6ed7ae)
  • web: wrap focus across card grid rows (b6ed7ae)

Bug Fixes

  • jellyfin-web: keep the picked season in the item page's address (b6ed7ae)
  • ui: base the carousel arrows on the scroll position (b6ed7ae)
  • ui: focus a combobox's list when keys open it (b6ed7ae)
  • ui: ignore a loading button's presses instead of disabling it (b6ed7ae)
  • ui: keep a modal's overlay and content on their own layers (b6ed7ae)
  • ui: show a controlled Select's value again after a pick it didn't take (b6ed7ae)
  • ui: size a modal's column to its box rather than its widest text (b6ed7ae)
  • ui: transition a tab's colours rather than all its properties (b6ed7ae)
  • ui: update the Radix packages (b6ed7ae)
  • web: bring a focused field into view when the Android app's keyboard opens (b6ed7ae)
  • web: copy mpv's decoded frames back on TVs (b6ed7ae)
  • web: drop a page's focus spot only when the pointer leaves it (b6ed7ae)
  • web: fade each hero backdrop in as a layer over the last (b6ed7ae)
  • web: fade the backdrop's left edge in landscape (b6ed7ae)
  • web: fade the item page's backdrop out at its bottom edge (b6ed7ae)
  • web: fall back to the title when the hero's logo fails to load (b6ed7ae)
  • web: fix TV focus around the rail, page starts, grids and rows (b6ed7ae)
  • web: give focus back to what opened the version picker (b6ed7ae)
  • web: go up or down to the nearest row when nothing is in line (b6ed7ae)
  • web: hand a remote's Back in a list to the back action (b6ed7ae)
  • web: hide the volume step on TVs (b6ed7ae)
  • web: jump rather than restart a smooth scroll that's still going (b6ed7ae)
  • web: keep every arrow key on a TV (b6ed7ae)
  • web: keep fading hero backdrops on their own layers (b6ed7ae)
  • web: keep keyed scroll steps off the page behind a dialog (b6ed7ae)
  • web: keep Left and Right on focus's own line (b6ed7ae)
  • web: keep the page still for focus in a dialog or bar (b6ed7ae)
  • web: keep the player's controls awake while keys move in them (b6ed7ae)
  • web: keep the player's TV layout on TVs that report a touch pointer (b6ed7ae)
  • web: leave row posters room only for the caption lines shown (b6ed7ae)
  • web: list ExoPlayer before mpv in the player engine setting (b6ed7ae)
  • web: make the next episode card opaque and lower it while the controls hide (b6ed7ae)
  • web: mark a focused episode on its thumbnail in rows and its row in lists (b6ed7ae)
  • web: measure an episode's title as its whole card for focus moves (b6ed7ae)
  • web: measure focus moves from where scrolls under way end (b6ed7ae)
  • web: move focus sideways into the nearest bar (b6ed7ae)
  • web: narrow row cards to the height left under the following hero (b6ed7ae)
  • web: press Enter in a field on a gamepad's A (b6ed7ae)
  • web: retry rate-limited download version searches after Retry-After (b6ed7ae)
  • web: reveal the outermost nav box and make rows nav boxes (b6ed7ae)
  • web: rework the download rows for phones (b6ed7ae)
  • web: ring a focused season poster inside its image (b6ed7ae)
  • web: ring a focused version inside its card (b6ed7ae)
  • web: ring focused menu items and options inside their edges (b6ed7ae)
  • web: scroll a focused episode's whole card into view (b6ed7ae)
  • web: scroll the player menu's list and footer together on short screens (b6ed7ae)
  • web: set the item menu's width on phones and clamp where it opens (b6ed7ae)
  • web: skip inert elements when returning focus to a page (b6ed7ae)
  • web: skip rows scrolled out of their own scroller when moving focus (b6ed7ae)
  • web: take a held key's quick presses as repeats (b6ed7ae)
  • web: treat sticky bars like fixed ones in arrow navigation (b6ed7ae)

Performance Improvements

  • jellyfin-web: mount only the hero backdrops in use (b6ed7ae)
  • jellyfin-web: send an image Accept header with artwork fetches (b6ed7ae)
  • ui: glide a carousel to focus with a CSS transition (b6ed7ae)
  • web: ask for a show's next episode, seasons and opening episodes as its page starts to draw (b6ed7ae)
  • web: ask the Android app's mpv for direct MediaCodec decoding (b6ed7ae)
  • web: check a row's end in a frame rather than in its effect (b6ed7ae)
  • web: count saved bytes so a prune reads every entry only near the limit (b6ed7ae)
  • web: draw a home library row's cards only once it nears the screen (b6ed7ae)
  • web: draw a title's page from a loaded list's copy of it while it loads (b6ed7ae)
  • web: draw only the cards near a long row's view (b6ed7ae)
  • web: ease keyed page and hero row scrolls on the compositor on TVs (b6ed7ae)
  • web: fade card overlays rather than colouring them in (b6ed7ae)
  • web: fade cards in with the Web Animations API (b6ed7ae)
  • web: give focus transitions on cards the keyed glide's duration (b6ed7ae)
  • web: hold placeholders still in rows not loading yet (b6ed7ae)
  • web: keep React from listening for transition and animation events (b6ed7ae)
  • web: keep saved artwork as Blobs (b6ed7ae)
  • web: keep the home page while others are open (b6ed7ae)
  • web: keep the playhead out of the player's React state (b6ed7ae)
  • web: leave the touch navigation bar out on TVs (b6ed7ae)
  • web: make form-less buttons submit buttons on Android (b6ed7ae)
  • web: measure nearness by hand and keep link addresses in data-href on TVs (b6ed7ae)
  • web: measure only cards near the screen when moving focus (b6ed7ae)
  • web: open a settings tab once focus rests on it (b6ed7ae)
  • web: open item menus without blocking the page (b6ed7ae)
  • web: open the docked TV rail with a fade rather than a widening (b6ed7ae)
  • web: pace a held key's repeats to the screen (b6ed7ae)
  • web: pause the rotating hero while it is out of sight (b6ed7ae)
  • web: put a submit button before the page's first control on Android (b6ed7ae)
  • web: read fewer layouts when moving focus (b6ed7ae)
  • web: save the small copies of shrunk artwork (b6ed7ae)
  • web: scale artwork at rest and look for open dialogs only in portals (b6ed7ae)
  • web: scale focused artwork in 200 ms (b6ed7ae)
  • web: scroll TV rows natively with a compositor glide (b6ed7ae)
  • web: share intersection observers between elements (b6ed7ae)
  • web: share one item menu between all cards (b6ed7ae)
  • web: show artwork as images kept in memory (b6ed7ae)
  • web: shrink artwork in a pool of workers (b6ed7ae)
  • web: start gamepad support in the Android app only with a controller attached (b6ed7ae)
  • web: start the artwork workers with the page and make blob addresses in them (b6ed7ae)

Don't miss a new AIOStreams release

NewReleases is sending notifications on new releases.