github kristofferR/IPTVChecker v1.7.0
v1.7.0 — Playback startup, scan performance, and AUR packaging

latest releases: v1.9.0, v1.8.1, v1.8.0...
one month ago

A stability and hardening release: faster playback startup, correct MPEG-TS worker playback, a large performance pass on scanning and memory use, and Arch Linux packaging via the AUR.

Playback

  • Try the original MPEG-TS stream before speculative Xtream HLS or ffmpeg remux routes, so startup no longer burns its budget on a route that was never going to work (#212, ref #211)
  • Each playback route gets an independent startup timeout instead of sharing one budget
  • Slow initial proxy/ffmpeg media bytes are allowed while the shorter steady-state stall timeout is retained — slow-starting streams are no longer rejected
  • Timestamp-normalizing remux stays preferred during automatic recovery
  • Blob-backed MPEG-TS workers are allowed through the app CSP, with a one-time worker probe and inline-transmux fallback if worker startup is blocked (#213)

Scanning

  • The first filtered scan after selecting a group or source no longer reparses very large playlists from disk — filtered previews derive from the in-memory full preview cache (#213)
  • Stopped channels report Cancelled instead of being mislabeled Dead
  • Fixed scan events being processed twice under StrictMode remounts (orphaned Tauri listener races)
  • The Xtream account-info fallback no longer aborts on the first endpoint transport error
  • Arrow-key navigation in the channel table no longer double-starts playback

Performance and memory

  • Playlist downloads stream to disk instead of buffering whole playlists in RAM
  • Playlist parsing and heavy file IO moved off the async runtime
  • Buffered upstream bodies, JSON API reads, and retained per-channel diagnostics output are all capped
  • Playlist previews handed out as Arcs; EXTINF attributes parsed once per channel
  • Channel-table overscan reduced from 250 to 20 rows; sidebar screenshot cache capped with LRU eviction
  • Cast-pump reconnect backoff escalates instead of retrying every 200 ms

Security

  • Every redirect hop is validated against the stream-proxy SSRF guard, not just the first
  • Credentialed Xtream URLs are redacted in logs and diagnostics
  • Added a request-head read deadline; raw proxy requests are read until the header terminator
  • kill_on_drop set on ffmpeg/ffprobe children

Packaging

  • Arch Linux: new iptv-checker-gui AUR package, published automatically on every release (#209)
  • Fixed the Parser Fuzz Smoke CI job by pinning tauri-plugin-mcp and committing the fuzz lockfile (#210)

Internal

  • Full-codebase quality pass (#208): the four oversized files were decomposed (playlist.rs into engine clients plus server_test, App.tsx into focused hooks and components, useStreamPlayer into pure policy and runtime monitor), the macOS and Windows/Linux menu builders unified, four URL-canonicalization copies collapsed into crate::urlnorm, and one HLS manifest rewriter shared between both proxies
  • Accessibility labels on banner dismiss buttons

Full changelog: v1.6.0...v1.7.0

Don't miss a new IPTVChecker release

NewReleases is sending notifications on new releases.