chore(release): v0.23.0

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
4grayandClaude Fable 5 committed 2026-08-30 10:05:26 +02:00
1 parent 740b784268
commit 86ee7edcd8
147 files changed
+362 -1197

No files matched your search

-9
View File
@@ -1,9 +0,0 @@
---
type: fix
area: backup
issues: [1017]
---
Backups carry hidden Xtream categories correctly. An export used to lose which
categories you had hidden, and restoring such a backup then hid every category
of that kind.
@@ -1,9 +0,0 @@
---
type: internal
area: build
---
Shared UI stylesheets are now part of the build cache key. Edits to them
previously produced a cache hit, so a style fix could be silently missing from
a rebuilt app until the cache was bypassed. A CI check now fails any stylesheet
import that escapes its build's inputs.
-8
View File
@@ -1,8 +0,0 @@
---
type: internal
area: build
---
Electron development serve no longer crashes while Vite transforms a large
lazy chunk. The pinned Vite release now carries a backtracking-safe transform
filter fix, with a regression check guarding dependency updates.
@@ -1,7 +0,0 @@
---
type: fix
area: components
---
Confirmation dialogs are wider by default, so their action buttons sit side by
side instead of wrapping into a vertical stack with longer translated labels.
@@ -1,10 +0,0 @@
---
type: feature
area: dashboard
issues: [1441]
---
Continue Watching cards on the dashboard now open the detail page on click,
just like movie cards — no more accidental episode playback. Resuming the
saved episode moved to a new ⋮ menu on each card, next to "Mark as Watched"
and "Remove from history".
@@ -1,10 +0,0 @@
---
type: fix
area: dashboard
---
The dashboard hero now shows the same backdrop as the detail page. Stalker
movies and series reuse the artwork saved when you opened them, and the
metadata lookup behind the hero uses the release year and original title
instead of the bare title — so titles TMDB knows more than once ("Холод")
no longer come up empty.
-10
View File
@@ -1,10 +0,0 @@
---
type: feature
area: dashboard
---
Dashboard source cards now warn when a portal subscription is about to lapse:
an amber "Expires in N d" chip appears within a week of the expiry date, and
an "Expired" chip once it has passed. Xtream expirations come from the same
cached status check the playlist switcher uses; Stalker portals reuse the
account info saved at import.
-10
View File
@@ -1,10 +0,0 @@
---
type: fix
area: dashboard
---
Movies and series you have opened before now show their artwork, rating and
genres on the dashboard far more reliably, and seed the recommendations rail.
Previously the dashboard searched TMDB by title alone, so common titles like
"Inside Out" matched nothing — it now reuses what the detail page already
found.
@@ -1,10 +0,0 @@
---
type: feature
area: dashboard
---
The dashboard gains a "Because you watched" rail: TMDB recommendations seeded
from your recently watched movies and series, showing only titles that actually
exist in your imported libraries. It appears once at least five matches are
found, can be turned off under Settings → Dashboard, and requires the TMDB
metadata opt-in (desktop app only).
@@ -1,9 +0,0 @@
---
type: fix
area: dashboard
---
Trending cards, the "Similar" rail and actor filmographies no longer show a
title as missing from your library when your playlists hold several versions of
it. A catalog with both "Dune 1984" and "Dune 2021" used to keep whichever came
first, so the other one lost its link even though you had it.
-6
View File
@@ -1,6 +0,0 @@
---
type: fix
area: database
---
SQLite diagnostics now record only statement types, preventing playlist credentials and other private values from appearing in trace logs.
-6
View File
@@ -1,6 +0,0 @@
---
type: fix
area: deps
---
Database workers now use updated SQLite bindings that avoid a crash during worker shutdown.
@@ -1,10 +0,0 @@
---
type: internal
area: deps
---
Coordinated security dependency sweep closing all open Dependabot alerts: the
two runtime-scope advisories (js-yaml YAML-parsing DoS reached through
electron-updater, fast-uri host confusion reached through electron-conf) plus
the dev-only clusters — Astro 5→7 for the website, hono, undici, postcss and
a dozen other transitive bumps via pnpm overrides.
-6
View File
@@ -1,6 +0,0 @@
---
type: feature
area: deps
---
Linux desktops with client-side decoration support now show native rounded corners on the IPTVnator window. Desktop builds now run on Electron 43.
-6
View File
@@ -1,6 +0,0 @@
---
type: internal
area: deps
---
The web backend now uses the current structured XMLTV parser output, covered by a route-level contract test for future PWA EPG support.
-6
View File
@@ -1,6 +0,0 @@
---
type: internal
area: deps
---
Updated ngx-indexed-db (the PWA's IndexedDB storage library) from 21 to 22. No behavior change.
-9
View File
@@ -1,9 +0,0 @@
---
type: internal
area: deps
---
Updated 43 dependencies, including the HTTP client behind every playlist and
portal request — that one closes seven advisories that affect the shipped app,
among them a proxy-credential leak on redirects. Also refreshes the ArtPlayer,
hls.js, Video.js and Shaka player engines. No behaviour change intended.
@@ -1,8 +0,0 @@
---
type: internal
area: deps
---
Patched five vulnerable transitive dependencies that ship with the app —
including the YAML parser `electron-updater` uses to read update manifests, and
the HTTP form encoder behind portal requests. No behaviour change.
@@ -1,10 +0,0 @@
---
type: feature
area: downloads
---
The download manager got a visual cleanup: "Ready to watch" cards are compact
poster cards — file actions live in the poster's ⋮ menu, and clicking any card
(episodes included) opens its offline detail. Queue rows show one primary
action (pause/resume/retry) with cancel and remove in the menu, and all
sections share one heading style with item counts.
-10
View File
@@ -1,10 +0,0 @@
---
type: feature
area: downloads
---
Live-TV recordings made with the Embedded MPV player now live in the download
manager: an in-progress row with elapsed time and Stop, a Recordings library
with channel logos and the programs captured from the EPG at recording time,
a focused detail page, and Needs attention when a file goes missing.
Recordings interrupted by a crash survive as playable partials.
-11
View File
@@ -1,11 +0,0 @@
---
type: feature
area: downloads
---
Downloads now separate active transfers from a grouped offline library, move
missing files to Needs attention with Download again, and open movies and
series in focused offline details with saved metadata. Series show only local
episodes; View in portal returns to provider playback when the source can be
recovered.
Completed-file checks stay responsive on slow or unavailable storage.
-9
View File
@@ -1,9 +0,0 @@
---
type: feature
area: downloads
---
Downloads can be paused and picked up later. A paused transfer keeps what it
already fetched and continues from that point instead of starting over, and
downloads cut short by a crash or a closed app come back as paused rather than
lost.
@@ -1,6 +0,0 @@
---
type: fix
area: downloads
---
Downloads from portals that cut long connections no longer die with "aborted": the app now reconnects automatically and continues from where the transfer stopped. Resume also works on servers that send no ETag/Last-Modified — the app re-checks a 256 KiB overlap against the saved partial before appending, and only gives up after repeated reconnects make no progress.
-6
View File
@@ -1,6 +0,0 @@
---
type: feature
area: downloads
---
Series downloads now let you queue several episodes in a row or add every available episode from the selected season. Already queued, paused, or downloaded episodes are skipped without duplicates, and the app reports the batch result.
-7
View File
@@ -1,7 +0,0 @@
---
type: fix
area: downloads
issues: [897, 1289]
---
Xtream movie and episode downloads now keep their provider-compatible identity from the first request through legacy retries after source removal. Recoverable connection drops retain validated partials and show a credential-safe code; Retry resumes only with ETag or Last-Modified, otherwise it safely restarts.
@@ -1,8 +0,0 @@
---
type: fix
area: electron-backend
---
Cancelling a large Xtream import now stops database work even while it is
running at full speed, instead of letting the import finish before processing
the cancel request.
-7
View File
@@ -1,7 +0,0 @@
---
type: fix
area: electron
---
The desktop remote-control server now blocks crafted static paths from escaping
bundled web files on Windows.
-9
View File
@@ -1,9 +0,0 @@
---
type: fix
area: embedded-mpv
issues: [1139]
---
Opening the volume, audio, subtitle, speed or aspect menu in the Embedded MPV
player no longer makes the video jump or leave a black bar above the controls:
the menus now unfold inside the control bar instead of floating over the video.
-9
View File
@@ -1,9 +0,0 @@
---
type: feature
area: embedded-mpv
---
Experimental Embedded MPV can draw video inside the app window instead of into a
separate layer pinned on top of it, so menus, dialogs and the player controls
stop being swallowed by the picture. Available on macOS (Apple Silicon), Windows
and Linux x64; switching it on needs a restart.
-11
View File
@@ -1,11 +0,0 @@
---
type: fix
area: embedded-mpv
issues: [1139, 1145]
---
On Windows and Linux displays scaled above 100%, the Embedded MPV video was
drawn toward the top-left corner at a fraction of its size, in windowed and
fullscreen mode alike. The video now fills the player area correctly at any
display scale and page zoom, with no need for a high-DPI compatibility
workaround.
-9
View File
@@ -1,9 +0,0 @@
---
type: feature
area: epg
---
Channels whose guide never matched can be mapped by hand: right-click a channel
in any list and pick "Map EPG channel" to attach it to a channel from your
uploaded XMLTV guide. The mapping is remembered and used everywhere the guide is
read — M3U playlists, Xtream and Stalker portals alike.
-9
View File
@@ -1,9 +0,0 @@
---
type: fix
area: epg
---
A database error while looking up manual EPG channel mappings no longer breaks
the request that triggered it. Searching for a channel in the "Map EPG channel"
dialog, or saving and removing a mapping, now degrades gracefully instead of
failing outright.
-9
View File
@@ -1,9 +0,0 @@
---
type: fix
area: epg
---
A database error while reading or saving a manual EPG channel mapping no longer
surfaces as a failed request. Looking up, saving, deleting, and searching
mappings now fall back quietly, so a transient storage hiccup can no longer take
down the EPG panel or the "Map EPG channel" dialog.
-9
View File
@@ -1,9 +0,0 @@
---
type: fix
area: favorites
issues: [1137]
---
Favorites stop losing changes. The custom drag-and-drop order of an Xtream
playlist's own favorites is saved again, and two favorites or history entries
added at almost the same moment no longer quietly overwrite each other.
-7
View File
@@ -1,7 +0,0 @@
---
type: feature
area: i18n
issues: [1192]
---
IPTVnator speaks Hungarian, its 19th language — contributed by @htibcsike.
-6
View File
@@ -1,6 +0,0 @@
---
type: fix
area: i18n
---
Translations across the app are clearer and more consistent in supported languages.
-10
View File
@@ -1,10 +0,0 @@
---
type: feature
area: m3u
issues: [86, 614, 656, 733, 752]
---
MPEG-DASH channels play in the built-in player, ClearKey-encrypted ones
included — the keys are read from the playlist's #KODIPROP lines, whether they
sit above or below the channel entry. Streams locked with Widevine or PlayReady
still cannot be played, but they now say so instead of failing silently.
@@ -1,11 +0,0 @@
---
type: fix
area: m3u
issues: [1221]
---
When a channel plays in MPV, VLC or the embedded MPV player, the custom
User-Agent, Referer and Origin saved on the M3U playlist now reach the player.
Per-channel `#EXTVLCOPT` headers still win; the playlist values only fill the
gaps. VLC now also sends the Origin value as a real HTTP header, as MPV
already did.
-7
View File
@@ -1,7 +0,0 @@
---
type: perf
area: m3u
---
Importing large M3U playlists is faster because IPTVnator no longer rewrites
the entire playlist when loading saved favorites.
-9
View File
@@ -1,9 +0,0 @@
---
type: fix
area: m3u
issues: [1189]
---
Playlists with very long stream URLs — Pluto TV style lists that carry a session
token in every link — import in full again instead of collapsing into a single
channel.
-8
View File
@@ -1,8 +0,0 @@
---
type: perf
area: m3u
---
Cancelling a large M3U refresh now stops its background worker before parsed
channels can be copied or saved, keeping the interface responsive and leaving
the existing playlist unchanged.
-10
View File
@@ -1,10 +0,0 @@
---
type: fix
area: matching
---
Movies whose name is a short abbreviation — AKA, RRR, IO, VFW, Y2K — are no
longer mistaken for a language tag and filed under their release year alone.
They now match their own copies in your other playlists, so alternative
sources, recommendations and pinned sources land on the right film instead of
an unrelated one that happens to share that year.
@@ -1,6 +0,0 @@
---
type: fix
area: packaging
---
Snap packages now launch correctly with the desktop runtime scripts required by their generated startup command.
@@ -1,7 +0,0 @@
---
type: fix
area: playback
issues: [1159]
---
Unavailable streams no longer appear as unsupported codecs. When Video.js exposes a server error such as HTTP 404, the player shows that status; otherwise ambiguous source errors remain unidentified instead of guessing.
-10
View File
@@ -1,10 +0,0 @@
---
type: feature
area: playback
issues: [1408]
---
The shared player controls' subtitle menu now loads external subtitle files
(.srt/.vtt in the built-in web players, plus .ass in Embedded MPV), adjusts the
subtitle timing offset in ±0.5 s steps, and sets the subtitle text size and
color — size/color persist across sessions and are shared between engines.
@@ -1,10 +0,0 @@
---
type: fix
area: playback
issues: [1428]
---
The embedded MPV video no longer drifts out of its frame when the layout
shifts around it — for example when the channel sidebar or the EPG panel
finishes loading after playback has started. The player now notices such
moves and snaps the video back into place within half a second.
@@ -1,6 +0,0 @@
---
type: fix
area: playback
---
MPV and VLC recovery actions now stay available, show precise opening, started, playing, and failure feedback, and prevent overlapping launches. The dock keeps Stop available when teardown is still needed and lets terminal errors be dismissed.
-11
View File
@@ -1,11 +0,0 @@
---
type: fix
area: playback
issues: [1095]
---
The screen no longer dims or goes to sleep while a built-in player is playing
video — including on Linux desktops, where the system idle timer used to
ignore the app. Pausing or stopping hands control back to the system
immediately, and radio playback deliberately leaves the display free to
sleep. Works in both the desktop app and the PWA.
@@ -1,10 +0,0 @@
---
type: fix
area: playback
---
Playback keyboard shortcuts now work with the default player setup: Space/K
(play/pause), F (fullscreen), ←/→ (seek 5s in VOD), ↑/↓ (volume), and M (mute)
act on the built-in HTML5, Video.js, and ArtPlayer players without turning on
shared player controls — matching what the in-app shortcut list already
promised.
-10
View File
@@ -1,10 +0,0 @@
---
type: fix
area: playback
---
Switching the video player — from the command palette or the settings page —
now takes effect immediately on an already-playing Xtream or Stalker stream
instead of waiting for the player to be reopened. Playback also starts with
the saved player right away, without briefly mounting the default engine
first.
-6
View File
@@ -1,6 +0,0 @@
---
type: fix
area: playback
---
MPEG-TS playback is now more reliable on newer Safari versions when streams contain audio timestamp gaps.
@@ -1,11 +0,0 @@
---
type: fix
area: playback
issues: [910]
---
External MPV and the embedded MPV frame-copy engine no longer truncate HTTP
headers that contain commas — most notably the Stalker MAG user agent. Strict
portals validated that header and rejected live streams with HTTP 400, so
channels that only worked in VLC now also play through MPV. Completes the same
fix that landed for the native embedded MPV view.
-10
View File
@@ -1,10 +0,0 @@
---
type: feature
area: playback
---
The built-in web players' shared controls gain a quality menu: multi-bitrate
HLS and DASH streams can be pinned to a specific rendition ("1080p", "720p", …)
or left on Auto, which keeps the player's adaptive selection. The menu appears
only when the stream actually offers more than one quality, and the choice
lasts for the current playback session.
@@ -1,10 +0,0 @@
---
type: fix
area: playback
issues: [1159]
---
When playback fails, IPTVnator now ranks useful next steps from the reported
error, including another compatible built-in player, MPV/VLC, Retry, or another
source. Trying a built-in recommendation affects only the current item and
does not change the saved player setting.
@@ -1,6 +0,0 @@
---
type: fix
area: playback
---
Playback recovery now removes old error actions as soon as a new source or player starts, even while Electron prepares stream headers. Stalker series playing inline now picks up refreshed episode names and navigation, and safely disables episode commands if the playing episode disappears.
-6
View File
@@ -1,6 +0,0 @@
---
type: fix
area: playback
---
DASH playback now resets a failed media buffer before switching variants, avoiding repeated append failures and crashes on affected platforms.
@@ -1,11 +0,0 @@
---
type: feature
area: playback
issues: [1408]
---
The new player controls are now the default for the built-in web players — one
consistent bar with quality selection, external subtitles, subtitle delay and
styling, speed, and picture-in-picture. They are touch-friendly too: tapping
the video shows or hides the controls instead of pausing, and narrow players
get a two-row layout. Prefer the old look? Switch back in Settings > Playback.
@@ -1,9 +0,0 @@
---
type: feature
area: playback
---
An optional new set of player controls that looks and behaves the same in the
HTML5, Video.js and ArtPlayer players, with picture-in-picture and, in
fullscreen, the name of what you are watching. Enable it in Settings → Playback;
left off, each of the three keeps its own controls exactly as before.
@@ -1,9 +0,0 @@
---
type: fix
area: playback
issues: [1159]
---
Playback recovery no longer crosses into a different selected channel, movie,
or exact Stalker episode. Switching content while a stream resolves no longer
restores stale playback or shows an error from the previous selection.
@@ -1,12 +0,0 @@
---
type: fix
area: playback
issues: [849, 910, 732]
---
Stalker streams that require the portal session now play in the built-in
players (HTML5, Video.js, ArtPlayer), not only in VLC/MPV: the player's
requests carry the portal cookie and token, scoped to that stream and
dropped when the player closes or the channel changes. VOD, series and
radio get the same headers live TV had — also from Favorites and Recently
Viewed.
@@ -1,6 +0,0 @@
---
type: fix
area: playback
---
HLS failures now use confirmed player evidence such as the failed stage, timeout, and HTTP status. Recoverable retries stay silent, and technical details no longer include raw provider error payloads.
@@ -1,9 +0,0 @@
---
type: fix
area: playback
issues: [1159]
---
MPEG-TS playback errors now show exact engine evidence, including HTTP status,
without exposing provider response details. Format, codec, truncated-stream,
and MediaSource failures now produce more accurate fallback guidance.
@@ -1,6 +0,0 @@
---
type: fix
area: playback
---
Shaka playback errors now use exact engine evidence, including subtitle parsing, preserve external-player fallback when browser prerequisites are missing, keep recoverable retries non-terminal, and omit provider URLs, credentials, and response data from technical details.
@@ -1,9 +0,0 @@
---
type: fix
area: playback
---
The default web player now reports safer, more accurate streaming errors:
confirmed network and encrypted-segment failures keep structured details,
while ambiguous Video.js errors remain unknown instead of suggesting the
wrong cause.
-11
View File
@@ -1,11 +0,0 @@
---
type: fix
area: playback
issues: [1155]
---
The "Show subtitles" setting now works in the built-in players: turning it off
hides subtitles a stream switched on by itself, and the preference finally
applies on Xtream and Stalker pages too. Previously it only reached the M3U
player, and even there Video.js and ArtPlayer ignored it. The player's own
subtitle menu still overrides the setting for the current stream.
-9
View File
@@ -1,9 +0,0 @@
---
type: feature
area: playback
---
The inline player on movie and series pages fills the whole content area like a
theater: the video sits centered in black instead of leaving a strip of app
background beside it. In the built-in web players, an optional ambient mode
fills that space with a blurred, dimmed copy of the poster.
-9
View File
@@ -1,9 +0,0 @@
---
type: feature
area: playback
---
A series playing inline on a wide window shows an "Up Next" rail beside the
video: the rest of the season and the start of the next one, the current episode
highlighted, watch progress on every card. Click one to jump straight to it.
Built-in web players only; switch the rail off in Settings → Playback.
-9
View File
@@ -1,9 +0,0 @@
---
type: fix
area: playback
---
Video.js now shows its own control bar (play/pause, seek, volume, quality,
fullscreen) on Live TV channels. Previously live streams played with no visible
controls at all, because switching to a live source rebuilt the video element
and the controls never came back.
-10
View File
@@ -1,10 +0,0 @@
---
type: feature
area: playlist
---
The Add playlist dialog has a new "Auto-detect" method: paste whatever your
provider sent you — links, Xtream credentials, a MAC address with device IDs —
and IPTVnator recognizes the source type and fills the matching import form
for you to review. Detection runs entirely inside the app; nothing you paste
is sent anywhere.
-10
View File
@@ -1,10 +0,0 @@
---
type: feature
area: playlist
---
M3U entries that are movie files now open in the same movie detail view the
portals use: playback starts immediately with plot, cast, rating and artwork
from TMDB below the player instead of the empty program guide, and closing the
player reveals the full poster page. Requires TMDB metadata to be enabled; a
toggle in Settings → Metadata (TMDB) turns recognition off.
@@ -1,9 +0,0 @@
---
type: fix
area: playlist
---
Opening an .m3u/.m3u8 file from the command line or by double-clicking it now
actually imports the playlist — previously nothing happened at all. Opening a
playlist while IPTVnator is already running works too, and on macOS the file
arrives through the system "open with" event.
@@ -1,9 +0,0 @@
---
type: fix
area: playlist
---
IPTVnator now registers itself with the operating system as a handler for .m3u
and .m3u8 files, so Finder, Explorer and Linux file managers offer it in "Open
with" and a double-click actually opens the playlist. Installing or updating the
app is enough — no manual file-type setup.
-10
View File
@@ -1,10 +0,0 @@
---
type: fix
area: playlists
issues: [931]
---
One unreachable playlist no longer holds up the rest. Refreshes give up after 30
seconds and run a few at a time, so your other playlists still update, and the
message on startup names how many actually failed instead of always claiming
success.
@@ -1,9 +0,0 @@
---
type: fix
area: portals
---
Importing an Xtream backup now restores all preferred VOD sources together. If
restoration or cleanup fails, the catalog stays retryable and remains blocked
until the parked state is safely consumed, preventing stale replay from
overwriting newer choices.
@@ -1,11 +0,0 @@
---
type: feature
area: portals
issues: [1449]
---
Year, genre, and country on movie and series detail pages are now clickable
(with TMDB metadata enabled): each chip opens a Discover page of popular
titles for that facet, marked with what's already in your library — matches
jump straight to their detail page, the rest open the portal search. Works
in Xtream and Stalker, like the existing actor and director chips.
@@ -1,9 +0,0 @@
---
type: feature
area: portals
---
Movie and series details opened from the dashboard, global favorites, history,
or a portal's favorites/recent tabs now offer a "View in portal" button below
the main actions. It jumps straight to the title inside its own portal, with
the matching category selected in the sidebar.
@@ -1,9 +0,0 @@
---
type: internal
area: portals
---
Failed Stalker portal requests now log a compact, credential-free summary
(action, host, error code, HTTP status) in the desktop backend instead of
dumping the full multi-page network error object, matching the existing
Xtream request logging.
-10
View File
@@ -1,10 +0,0 @@
---
type: perf
area: portals
---
Unreachable Xtream and Stalker portals no longer cost a 30-second wait per
request. After a host fails to answer twice, further requests to it fail
immediately for 30 seconds, so browsing a dead portal stops filling the screen
with long spinners. Retrying, testing the connection, or editing the portal
address contacts it again right away.
-10
View File
@@ -1,10 +0,0 @@
---
type: fix
area: portals
---
Greek titles now match no matter which sigma the provider typed. A word-final
`ς` and a medial `σ` at the end of a word are treated as the same letter, so
finding a film in your other playlists, the "Similar" rail, actor filmographies
and TMDB enrichment no longer miss a Greek movie purely because two catalogues
spelled its last letter differently.
-10
View File
@@ -1,10 +0,0 @@
---
type: fix
area: portals
---
In the self-hosted web version, a provider that accepted a connection and then
went silent could hang a request until the operating system gave up, with no
way to cancel it. Requests now time out on the same schedule as the desktop app,
and a host that fails to answer twice is skipped for a short while instead of
stalling every following request.
-9
View File
@@ -1,9 +0,0 @@
---
type: feature
area: portals
issues: [1441]
---
Opening a series now lands on the season you'd actually continue: the
earliest season with unwatched episodes, or the latest season once
everything is watched — instead of always starting at season 1.
-10
View File
@@ -1,10 +0,0 @@
---
type: feature
area: portals
issues: [1442]
---
Series detail pages can now mark a whole season as watched (or unwatched) in
one click — the new button next to "Download season" works for both Xtream and
Stalker portals. Handy when you start a show mid-way: mark the earlier seasons
watched and the Play button jumps straight to your next unwatched episode.
-11
View File
@@ -1,11 +0,0 @@
---
type: feature
area: portals
issues: [1442]
---
The series pages' season header now has a ⋮ menu that marks the WHOLE series
as watched (or unwatched) in one click, for both Xtream and Stalker portals.
On Ministra portals that load seasons lazily, the app first fetches the
remaining seasons and then marks everything — so catching up on a show you
started mid-way is a single action.
-8
View File
@@ -1,8 +0,0 @@
---
type: fix
area: portals
---
Going back from a Stalker title you reached with "View in portal" now returns
you to exactly where you were — the same favorites or history tab, with the
title still open — instead of dropping you on the Live TV tab.
-10
View File
@@ -1,10 +0,0 @@
---
type: feature
area: portals
---
Movies that exist in several of your playlists now show a "Sources" chip on the
detail page. Switch playlist mid-film and playback continues from the same
timecode, pin a preferred source per movie, and when a stream dies the error
screen offers the alternatives instead of a dead end. Optional auto-switching is
off by default.
-6
View File
@@ -1,6 +0,0 @@
---
type: feature
area: portals
---
The movie page's Sources popup now always fits on screen — only the source list scrolls, and it flips below the button in short windows — and gains All / Available / HD+ / language filters ("Available" checks every source on first use). Expanded copies show the stream title with only what differs, availability results are remembered, and Favorites/Download became icon buttons with live progress.
-9
View File
@@ -1,9 +0,0 @@
---
type: fix
area: portals
---
Refreshing an Xtream source keeps your favorites, watch history, hidden
categories and playback positions. Starting the same refresh twice at once —
from the header and from the sources page — used to wipe them, because the
second run saved an already-emptied catalog over the first run's copy.
-11
View File
@@ -1,11 +0,0 @@
---
type: fix
area: pwa
issues: [1400]
---
The self-hosted web backend now gives each provider connection attempt enough
time to fall back from an unreachable IPv6 route to working IPv4 — common
behind VPN containers like Gluetun — instead of failing with a bare
"Bad Gateway". Provider errors now name the underlying network code (for
example ETIMEDOUT) in the app and in the container logs.
-9
View File
@@ -1,9 +0,0 @@
---
type: fix
area: pwa
---
Self-hosted web backends started without `CLIENT_URL` now allow the documented
`http://localhost:4333` origin instead of the retired public demo URL, so a
manual (non-Docker) deployment no longer fails every provider request with a
CORS error.
-11
View File
@@ -1,11 +0,0 @@
---
type: fix
area: pwa
---
The self-hosted web app now talks to Stalker portals exactly like the desktop
app: MAG User-Agent, full STB cookie, serial-number header, and the
`JsHttpRequest` marker every real client sends — so portals that worked only in
the desktop app now work in the PWA too. Portal credentials (MAC and session
token) no longer travel in the portal request URL, keeping them out of server
logs.
@@ -1,6 +0,0 @@
---
type: feature
area: remote-control
---
The mobile remote now works in live TV favorites and recently viewed — per-portal and global — for M3U, Xtream and Stalker: channel switching, number select, and now-playing status follow the on-screen list. The remote no longer shows a channel as playing after leaving the player, Stalker radio reports its status, and volume buttons grey out when an external player owns the audio.
@@ -1,9 +0,0 @@
---
type: fix
area: search
---
The search box no longer loses what you are typing when the page updates its
address at the same moment — switching a downloads filter and immediately
typing used to wipe the term, and fast typing could snap back to an earlier
word.
-9
View File
@@ -1,9 +0,0 @@
---
type: fix
area: search
issues: [1161]
---
Searching for names that carry punctuation inside them — "A&E", "X-Men",
"L'Equipe" — finds them anywhere in a title, including channels the provider
prefixes, like "US: A&E".
-9
View File
@@ -1,9 +0,0 @@
---
type: fix
area: search
issues: [1338]
---
Typing a space in the portal search box and pausing briefly no longer deletes
the space — continuing to type "Bein Sports" no longer collapses into
"BeinSports".
-10
View File
@@ -1,10 +0,0 @@
---
type: fix
area: settings
issues: [1156, 102]
---
Launching IPTVnator a second time now brings the running window to the front
instead of starting a rival copy that could not save anything — a common reason
settings appeared to reset on restart. If saving or loading settings does fail,
the app now says so instead of silently showing defaults.
-6
View File
@@ -1,6 +0,0 @@
---
type: feature
area: settings
---
Settings sections are now separate pages with shareable URLs and a floating Save/Discard bar that appears only when you have unsaved changes; leaving settings with pending edits asks whether to save, discard, or keep editing. The EPG panel's "Open EPG settings" button now jumps straight to the EPG settings page.
@@ -1,9 +0,0 @@
---
type: feature
area: settings
---
A new setting drops the country prefix from live channel names, turning
"UK - BBC One" into "BBC One" in lists, the guide and the player. Movie and
series titles are left alone, and names that only look like a prefix — "Sky -
Sports F1" — stay intact.
@@ -1,10 +0,0 @@
---
type: fix
area: settings
---
Unsaved settings edits no longer vanish silently when you close the window,
quit the app, or reload the page. The desktop app now asks whether to save,
discard, or keep editing — the same dialog in-app navigation shows — and only
closes once your choice is applied; a failed save keeps the window open. In the
browser, the native leave-page warning appears instead.
-10
View File
@@ -1,10 +0,0 @@
---
type: feature
area: stalker
---
Stalker portals now have an Account info dialog — subscription status,
tariff plan, expiry date with a days-left counter, login, and portal
details. Open it from the header playlist menu, the dashboard source card,
or the command palette, same as for Xtream. If the portal is unreachable,
the data saved when the portal was added is shown instead.
@@ -1,8 +0,0 @@
---
type: fix
area: stalker
---
A Stalker portal is no longer re-probed and reclassified because something
in front of it — a proxy or firewall, not the portal — answered with a short
"Access denied" page. Only the portal's own authorization replies count now.
Loaded 100 of 147 files, more files were not shown because too many files have changed in this diff. Show more