Skip to content

Extreme InfiniTV v1.6.2

Choose a tag to compare

@github-actions github-actions released this 05 Jul 12:47
ae04067

App Icon

Extreme InfiniTV v1.6.2 brings sortable Live TV channels, HEVC detection with a clear playback-failure panel instead of a silent black screen, a custom HLS loader plus automatic MPEG-TS fallback for tricky providers, lazy season counts on series, and a move to Astro 7 / Vite 8.

Heads up

  • Live channels now default to your provider's source order, not A-Z. If you preferred alphabetical, pick A-Z from the new sort menu next to the Live TV search. Playlists cached by older builds are stored pre-sorted and without channel numbers, so source order and channel numbers appear after the first refresh (or once the 24h cache expires).
  • HEVC (H.265) playback depends on your device shipping a licensed decoder. Where it can't decode, the channel now shows an "HEVC" badge and a clear explanation with an "open in external player" escape hatch, instead of a generic error or a silent black frame with audio.

Changelog v1.6.2

New

  • Live TV channel sorting. A sort menu next to the channel search offers Source order (new default), Channel number, A-Z, Z-A, and Category, A-Z, remembered per playlist and applied to Favorites and category views too. The /epg schedule grid follows the same order, so both pages list channels identically. Fixes #91, requested by @DeeBhadest in #87.
  • Channel numbers in the UI. Channel rows, search results, and the now-playing row now read Ch 14 (#2012599) - the channel number first, the stream id behind # so the two can't be confused. Falls back to #2012599 when the provider assigns no number, and the whole format is localized across all 16 languages.
  • HEVC detection and a playback-failure panel. The player detects HEVC from the channel name and the codec the engine actually reports, cross-checks whether your device can decode it, and shows an in-player panel with HEVC- or codec-specific copy, a Retry button, and an "Open in MPV/VLC" (desktop) / "Open in player…" (Android) escape hatch. A watchdog also catches the WebView2 case where HEVC is accepted but no frames ever decode. Reported by @azmozy in #92.
  • Custom HLS loader for tricky providers. Live HLS now streams through a Tauri loader so per-playlist user agents and referers apply (the WebView's own fetch can't set them), with bounded retry and recovery. Providers whose .ts endpoints actually serve an HLS playlist are detected and switched to the HLS engine automatically. Fixes #92, fixes #94.
  • Automatic MPEG-TS container selection. For providers that only allow .ts output, the login Test connection flow reads the allowed formats and auto-switches the "Live container" setting to MPEG-TS (a manual choice is never overridden), fixing live tunes that previously died with HTTP 405. Fixes #90, reported by @adnanandhoney.
  • Season counts on series. Series grid and search rows now show a localized, singular-aware "N seasons" line, resolved lazily as rows scroll into view (throttled to respect provider connection caps) and reused from cache the detail page already writes.

Improved

  • Stream reliability. The custom loader enforces per-request timeouts so a hung segment aborts instead of stalling the tune forever, cancels response bodies on abort so sockets don't leak, and falls back to a real browser user agent when none is set. Fatal network / media errors now self-heal with bounded retries before giving up.
  • "Test stream" diagnostics. The right-click stream test now probes browser / WebView access alongside the HTTP, manifest, and first-segment checks, and tells you when a stream is blocked by CORS or mixed content (and that the desktop build routes around it), so you know when an external player is the answer.
  • Mixed-content handling. http:// streams in a secure context and CORS / mixed-content blocks are detected and explained in plain language rather than failing opaquely, with full 16-locale coverage for the new messages.
  • Backup keeps local playlists. Exports now include local-M3U playlist content and imports restore it (with a size cap and validation), so user-added local playlists survive a backup round-trip.

Fixed

  • Silent freezes on quirky live endpoints. Fatal HLS errors now auto-recover and surface a retry / diagnostics path instead of a frozen frame.
  • Player leaks on playlist switch. Movies and series detail pages now dispose the player when you switch playlists, stopping stream leaks and stray progress writes; movie metadata is escaped before rendering.
  • Android download resume. A paused or errored download whose destination file was deleted underneath it is now recreated on resume, with a consistently tracked file extension.
  • EPG time drift. Cached programme entries are cloned before time offsets apply, so repeatedly changing the offset no longer drifts the schedule.
  • Series season counts correctly distinguish "not fetched yet" from "confirmed zero seasons", so an empty series isn't re-fetched forever, and a mid-scroll playlist switch can't write stale counts against the new playlist.

Under the hood

  • Frontend dependency majors: Astro 6 → 7, Vite 7 → 8, @astrojs/svelte 8 → 9, eslint-plugin-astro 1 → 2, plus assorted minor / patch bumps (video.js, tailwindcss, eslint, typescript-eslint, @tauri-apps/cli). Build, tests, and lint pass on all of them.
  • Docs site moved off Astro 6 as well (Astro 6 → 7, @astrojs/mdx 5 → 7) and builds cleanly on 7.
  • Rust: tar 0.4.45 → 0.4.46 (tar header smuggling fix), tauri 2.11.1 → 2.13.0, plus patch bumps. These dependency updates clear the outstanding security advisories against both the app and docs builds.
  • Performance mode now collapses all CSS transitions and animations globally, mirroring prefers-reduced-motion for low-power devices.
  • Desktop: the plugin-process Tauri plugin is registered (powering the updater relaunch and the Settings "Restart now" button), and the frameless window gained custom edge-resize support.
  • i18n: locale detection now matches navigator language tags case-insensitively and falls back to base language codes, and every new user-facing string is translated across the 16 locales.
  • CI: a pnpm build job joins test + lint, so PRs can't merge with a broken build.

Thanks

This release was shaped by community reports and requests. Thank you to:

  • @DeeBhadest for asking for source-order channel sorting (#87)
  • @adnanandhoney for reporting the HTTP 405 failure on .ts-only providers (#90)
  • @azmozy for reporting HEVC playback failures (#92)

Downloads

Pick the file that matches your device. Click a filename to download it directly. The Microsoft Store and Google Play buttons below are the easiest path on Windows and Android.

Platform File
Windows 10/11 (recommended installer) Extreme InfiniTV_1.6.2_x64-setup.exe
Windows (MSI alternative) Extreme InfiniTV_1.6.2_x64_en-US.msi
macOS (Apple Silicon + Intel) Extreme InfiniTV_1.6.2_universal.dmg
Linux Debian / Ubuntu / Mint extreme-infinitv_1.6.2_amd64.deb
Linux Fedora / openSUSE / RHEL extreme-infinitv-1.6.2-1.x86_64.rpm
Linux portable (any distro) extreme-infinitv_1.6.2_amd64.AppImage
Android sideload (APK) Extreme InfiniTV_1.6.2.apk
What about the .sig files, latest.json and the macOS .app.tar.gz?

You can ignore them.

  • *.sig and latest.json are used by the built-in auto-updater to verify each download is genuinely signed. The app downloads them on its own when checking for updates.
  • Extreme InfiniTV_universal.app.tar.gz is the macOS update bundle consumed by the same updater. For a fresh install on macOS, use the .dmg instead.
  • The .aab files are uploaded to Google Play and are not meant for sideloading - _tv.aab is the Android TV build (open-testing track), the other is phone / tablet. Use the .apk to install manually.
macOS: "Extreme InfiniTV.app" cannot be opened / "Apple could not verify..."

The macOS build is not yet notarized by Apple, so Gatekeeper blocks it on first launch. After dragging the app from the .dmg into /Applications, remove the quarantine flag from a Terminal:

xattr -dr com.apple.quarantine "/Applications/Extreme InfiniTV.app"

Then open the app normally. You only need to do this once per install.

Get it from Microsoft