Merge origin/master into claude/parental-control-feature-31dde2

Resolves the settings-store defaults split, the electron-conf key list and
the guidance reorganization (CLAUDE.md now imports AGENTS.md; the parental
lock contract is linked from the agent context map instead).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
4grayandClaude Fable 5.1 committed 2026-09-25 22:12:58 +02:00
commit ae5d3f49de
732 files changed
+42572 -15380

No files matched your search

@@ -1,9 +0,0 @@
---
type: internal
area: dashboard
---
The dashboard's live "now playing" time range and progress bar now read
pre-computed EPG timestamps as unix seconds, matching the rest of the EPG
code. Today's dashboard lookups never carry those fields, so nothing changes
on screen; this closes the gap before a future data path supplies them.
@@ -1,10 +0,0 @@
---
type: perf
area: database
issues: [1292]
---
Refreshing or removing a large Xtream playlist is several times faster: the
"Removing cached content" stage and the re-import now commit around 5,000
rows at a time instead of 100, and progress updates arrive at most ten times a
second instead of once per batch.
@@ -1,7 +0,0 @@
---
type: fix
area: database
issues: [1580]
---
Updating directly from older versions no longer blocks playlist loading with a missing database column error. Existing sources, favorites, and playback history are preserved.
-10
View File
@@ -1,10 +0,0 @@
---
type: internal
area: deps
---
Closes the four open Dependabot alerts on transitive npm dependencies via
pinned pnpm overrides: browserslist (crash on untrusted stats), @xmldom/xmldom
(XML fragment injection — its existing override target had itself fallen into
the advisory range), @humanfs/node (recursive copy follows symlinks out of the
tree) and postcss-selector-parser (AST recursion DoS).
-6
View File
@@ -1,6 +0,0 @@
---
type: feature
area: downloads
---
Download completed Xtream catch-up programmes as TS files from Live TV programme details. Find them in Downloads with the channel and broadcast date and play them offline. Interrupted archive downloads restart from the beginning.
@@ -1,11 +0,0 @@
---
type: feature
area: embedded-mpv
highlight: Embedded MPV reconnects dropped streams
---
The embedded MPV player now reloads a live stream that drops mid-playback on
its own, with increasing delays and an "attempt N of 6" line instead of a
dead error screen; a new Settings > Playback toggle turns this off. The same
section gains an advanced field for extra libmpv options (one key=value per
line) that applies on every engine, with a short network timeout on by default.
-10
View File
@@ -1,10 +0,0 @@
---
type: fix
area: embedded-mpv
---
When a stream refuses the connection, the embedded MPV player (frame-copy
engine) no longer hands the URL to yt-dlp before giving up: the failure
shows up right away and its error no longer reads "youtube-dl failed:
unexpected error occurred", matching the native-view engines and the
external MPV player.
-6
View File
@@ -1,6 +0,0 @@
---
type: feature
area: epg
---
Copy a catch-up programme’s URL from its EPG details in Xtream and supported M3U sources, including Favorites and Recent, without interrupting playback. The link can be used in an external player or download tool.
-7
View File
@@ -1,7 +0,0 @@
---
type: feature
area: epg
issues: [50]
---
EPG settings now include a display-only time offset, making it easy to correct provider feeds with missing or incorrect timezone information without re-importing the guide.
-7
View File
@@ -1,7 +0,0 @@
---
type: fix
area: epg
issues: [1586]
---
EPG guides now load when a server adds gzip compression to an already compressed XMLTV file. Sources using a single gzip layer continue to work.
-13
View File
@@ -1,13 +0,0 @@
---
type: feature
area: epg
issues: [171]
highlight: Programme guide, rebuilt
---
The programme guide now shows your playlist's own channels in their order,
with the current group or favorites one click away. Click a channel to
switch playback while the player stays on screen above the grid;
double-click switches and closes. Open it from the new Guide button, the
header, the command palette, or the G key. Hide channels without EPG and
pick comfortable or compact rows.
-6
View File
@@ -1,6 +0,0 @@
---
type: fix
area: epg
---
Removing and saving an EPG source now clears its cached programmes, including data left by previously removed sources on restart. Other configured sources and playlist guides are preserved, and Live TV stops showing programmes from the removed source.
@@ -1,6 +0,0 @@
---
type: feature
area: epg
---
The EPG timeline toolbar is more compact: "Now" is an icon button, and the zoom slider is replaced by a single button that cycles day overview → by hour → detailed. Ctrl/⌘ + scroll (or a trackpad pinch) over the timeline zooms smoothly around the cursor. The channel and programme title now use all the space the controls free up.
-7
View File
@@ -1,7 +0,0 @@
---
type: fix
area: host-health
issues: [1439]
---
Portal recovery now waits for an active probe to finish before sending another request, even when redirects or a slow response take longer than 45 seconds. Completed and cancelled requests release the probe slot reliably.
-7
View File
@@ -1,7 +0,0 @@
---
type: fix
area: live-tv
issues: [1458]
---
A hidden channel list no longer looks like a playlist that lost its channels: the player now says the list is hidden and offers a "Show channels list" button, a toggle in the workspace header stays in place in both states, and hiding the list in one place (M3U player, portal Live TV, favorites/recent) no longer hides it everywhere else.
-6
View File
@@ -1,6 +0,0 @@
---
type: fix
area: m3u
---
ClearKey channels with ordinary Base64 keys now play when imported or refreshed, including JSON playlist exports that use + and / characters. Refresh an existing playlist once to apply the fix.
-7
View File
@@ -1,7 +0,0 @@
---
type: fix
area: m3u
issues: [1590]
---
DASH channels, including ClearKey-protected streams, now play from Recently Viewed and Favorites using the compatible built-in player. Existing imports keep their DRM keys without needing to re-import the playlist.
-7
View File
@@ -1,7 +0,0 @@
---
type: fix
area: m3u
issues: [465, 1120]
---
M3U URL imports now accept a custom User-Agent for providers that require it before downloading the playlist. The value is saved and reused for playlist refreshes in the desktop app and self-hosted web app.
-6
View File
@@ -1,6 +0,0 @@
---
type: fix
area: m3u
---
Movies and episodes recognized as video files in M3U playlists now offer playback time and seeking in built-in players, even when TMDB or movie details are disabled. Seeking remains dependent on the source's support.
@@ -1,7 +0,0 @@
---
type: fix
area: migration
issues: [1504]
---
Upgrades from older desktop versions retain all sources from the legacy profile. Already-upgraded users can choose to recover missing sources without replacing current sources or settings. Migration keeps the original data and retries safely after a failed write.
-6
View File
@@ -1,6 +0,0 @@
---
type: fix
area: migration
---
Startup now shows a theme-aware preparation screen while loading sources and checking a large programme guide. Temporary source-read failures retry automatically; if loading still fails, you can retry without restarting the app. Recovery also completes any previously failed programme-guide cleanup before opening the library.
@@ -1,6 +0,0 @@
---
type: feature
area: packaging
---
AppImage builds now include an update source for AppManager, allowing it to discover new GitHub releases and download full application updates without manually configuring the repository.
@@ -1,10 +0,0 @@
---
type: fix
area: playback
---
The built-in player controls now hide on their own after you click a button
in the bar with the mouse, such as fullscreen or mute. Previously the clicked
button kept the bar pinned on screen until you clicked the video, which also
paused it. Applies to the shared controls in the web players and the
Embedded MPV frame-copy engine.
-6
View File
@@ -1,6 +0,0 @@
---
type: feature
area: playback
---
Playback errors now explain confirmed access and DRM license failures, with stream codecs, DRM systems and failure stages in the details. Copy diagnostics creates a support report without stream URLs or credentials. No extra requests are made to your provider.
@@ -1,10 +0,0 @@
---
type: fix
area: playback
---
Arrow keys and the ±10 s buttons in the Embedded MPV player now move by their
full step every time. Pressing an arrow repeatedly, or holding it, used to
advance only about a second per press because each step was computed from a
stale position; steps are now relative seeks executed by mpv itself, so rapid
presses add up.
@@ -1,12 +0,0 @@
---
type: feature
area: playback
issues: [48]
highlight: Channel list in fullscreen
---
Rest the mouse on the left edge (tap it on touch) or press C while a live
channel plays fullscreen: the channel list (M3U all/groups/favorites/recent,
Xtream, Stalker, global favorites) slides over the video with search, so you
can zap without leaving fullscreen. Nothing covers the video while it is
closed. M3U playlists also zap with PageUp/PageDown.
@@ -1,6 +0,0 @@
---
type: fix
area: playback
---
The fullscreen channel panel stays open under the pointer when its opening animation is delayed, instead of closing before the list appears.
@@ -1,10 +0,0 @@
---
type: fix
area: playback
---
With the default shared player controls, the built-in player now stays in
fullscreen when you switch to another episode, when the next episode starts
automatically, and when a live channel or an alternative movie source is
switched — previously every switch dropped back to the page. The legacy
vendor-controls opt-out keeps its previous behavior.
-6
View File
@@ -1,6 +0,0 @@
---
type: fix
area: playback
---
Switching channels or leaving playback now closes the old picture-in-picture window in HTML5, Video.js, and ArtPlayer even when shared player controls are disabled, preventing frozen or outdated video from remaining on top. This includes Safari’s legacy picture-in-picture mode.
-7
View File
@@ -1,7 +0,0 @@
---
type: fix
area: playback
issues: [1530]
---
Embedded MPV controls and programme-guide panels now follow the visual theme and stay readable in light and dark mode. Video overlays retain their contrasting dark backgrounds.
@@ -1,9 +0,0 @@
---
type: fix
area: playback
---
The built-in HTML5 player now plays `.mkv`, `.webm`, `.avi`, `.mov` and other
non-HLS video files directly instead of handing them to the HLS engine, which
failed with a "network or provider loading error" on many Xtream episodes and
movies. ArtPlayer and the HTML5 player now choose their engine by the same rule.
@@ -1,10 +0,0 @@
---
type: fix
area: playback
---
Keyboard shortcuts work again right after you click a button in the built-in
player controls. Previously the clicked button kept the keyboard: after
clicking fullscreen, Space left fullscreen instead of pausing, and the seek,
volume and mute keys did nothing until you clicked the video. Applies to the
shared controls in the web players and the Embedded MPV frame-copy engine.
@@ -1,10 +0,0 @@
---
type: fix
area: playback
---
With IPTVnator's shared controls turned off, the Video.js player's keyboard
shortcuts now work again right after you click a button in its control bar.
Previously the clicked button kept the keyboard: after clicking fullscreen,
Space left fullscreen instead of pausing, and the seek, volume and mute keys
did nothing until you clicked the video.
-7
View File
@@ -1,7 +0,0 @@
---
type: fix
area: playback
issues: [871]
---
VLC now opens without an extra console window on Windows when playback progress tracking or Reuse VLC instance is enabled.
-11
View File
@@ -1,11 +0,0 @@
---
type: feature
area: playback
highlight: See what a stream really is while it plays
---
The player overlay now shows stream information: resolution, playback and source
frame rates, stream and codec bitrates, audio details, buffer and dropped frames.
Available in built-in web players and experimental frame-copy Embedded MPV.
Unknown or unavailable values stay hidden; measured frame rates reflect dropped frames and
stalls.
@@ -1,6 +0,0 @@
---
type: feature
area: playlist
---
Desktop users can review inactive sources and delete selected ones together. The dialog checks the whole library, preselects confirmed expired or disabled accounts, and lets you keep individual sources. Busy sources are skipped, and deletion results are reported individually.
@@ -1,6 +0,0 @@
---
type: feature
area: playlist
---
Desktop playlist lists now show availability for Stalker portals and M3U links alongside Xtream accounts. Checks share cached results, run in the background, and explain when a source could not be verified.
@@ -1,6 +0,0 @@
---
type: fix
area: playlists
---
Opening an M3U playlist immediately after refreshing now waits for its pending save, so the channel list does not revert to the previous catalog.
@@ -1,7 +0,0 @@
---
type: fix
area: portals
issues: [1438]
---
Xtream and Stalker portals no longer enter a connection cooldown merely because several parallel requests fail in the same millisecond. This fixes false unavailability in both the desktop app and the self-hosted web version.
-6
View File
@@ -1,6 +0,0 @@
---
type: feature
area: portals
---
Desktop settings now let you disable the temporary pause after repeated Xtream or Stalker connection failures, without restarting. Account info explains when requests are paused and offers an immediate retry.
-7
View File
@@ -1,7 +0,0 @@
---
type: fix
area: portals
issues: [1520]
---
Xtream and Stalker keep remote channel order while you browse other categories or search. Use Show playing channel to return to the current channel without restarting playback. Stalker radio supports the same behavior.
@@ -1,10 +0,0 @@
---
type: feature
area: portals
---
Live TV panels now fold in steps: hide only the categories rail and keep the
channel list, or hide both for a player-only view. With categories hidden, the
list header becomes a category dropdown, so switching categories stays one
click away, and hiding both panels then bringing them back returns to the
level you had before.
-10
View File
@@ -1,10 +0,0 @@
---
type: feature
area: shell
issues: [1455]
---
Settings → General has a new "Window on startup" option: open the desktop app
at its last size, maximized, or fullscreen — handy on a TV or HTPC. Starting
with `--fullscreen` forces a single fullscreen launch without changing the
setting, and F11 now toggles fullscreen anywhere in the app.
-7
View File
@@ -1,7 +0,0 @@
---
type: fix
area: stalker
issues: [1543]
---
Stalker Live TV search stays within the selected category in the sidebar and fullscreen panel, including channels beyond the first page. All Items searches the whole catalog, and the two search fields work independently.
@@ -1,9 +0,0 @@
---
type: fix
area: stalker
---
In Stalker portals, switching the Live TV or radio category in the sidebar no
longer stops the channel that is playing. The category only changes which
channels are listed, matching how Xtream portals and M3U playlists already
behave.
@@ -1,6 +0,0 @@
---
type: fix
area: stalker
---
Stalker series with season markers such as “s02” or “2 сезон” now show the correct season in tabs and episode labels while preserving watch progress. TMDB updates no longer reset loaded episodes, and delayed portal responses cannot mix episodes from different series.
-6
View File
@@ -1,6 +0,0 @@
---
type: fix
area: stalker
---
Seeking in Stalker movies and series now reaches the selected position instead of jumping forward or skipping to the next episode after resuming playback.
-7
View File
@@ -1,7 +0,0 @@
---
type: fix
area: ui
issues: [1506]
---
Live TV now supports keyboard movement between categories and channels, and channel lists keep scrolling after mouse selection. Channel scrollbars and resize handles are independently accessible. Movie and series details support immediate keyboard scrolling and no longer hide their scrollbars.
-6
View File
@@ -1,6 +0,0 @@
---
type: fix
area: ui
---
Detail buttons, episode cards and episode rows now keep visible backgrounds and borders in the light theme. The grid/list switch also clearly highlights the selected view in both themes.
-7
View File
@@ -1,7 +0,0 @@
---
type: fix
area: ui
issues: [1570]
---
Movie and series detail pages keep their Back button visible while scrolling. Escape closes the inline player to the description, then returns to the previous view. Open menus, dialogs and fullscreen retain priority.
@@ -1,7 +0,0 @@
---
type: fix
area: web-backend
issues: [1436]
---
The self-hosted backend now checks every provider redirect and pins connections to validated addresses, preventing redirects or DNS changes from bypassing private-network restrictions. Trusted LAN access remains available through the existing opt-in.
-7
View File
@@ -1,7 +0,0 @@
---
type: fix
area: xtream
issues: [1513]
---
Xtream Live TV in Auto can try advertised TS once when HLS initially fails with an HTTP error in a web player. The selected player and stream headers are kept. Settings explain the manual TS workaround for external players, Embedded MPV, and HLS retries that never report a terminal failure.
@@ -1,7 +0,0 @@
---
type: fix
area: xtream
issues: [1562]
---
Catch-up (timeshift) from the Favorites and Recent tabs now asks the panel for the programme you clicked: the start time is rendered in the panel's own timezone instead of your computer's. The panel's timezone is remembered per source, survives restarts, and panels that report an unusual timezone name are handled through their clock.
@@ -1,7 +0,0 @@
---
type: fix
area: xtream
issues: [812, 816]
---
Xtream category management now selects or deselects only matching categories while searching, preserving the visibility of all other categories. Button labels and availability reflect the search results, and the counter clearly shows the total selected.
-6
View File
@@ -1,6 +0,0 @@
---
type: fix
area: xtream
---
The explicit HTTPS and HTTP connection test now detects Xtream portals that accept HTTP when HTTPS is unavailable and fills in the working address before you save. The saved address is used for catalog updates, provider EPG and playback. Connection failures now show a more specific explanation.
-6
View File
@@ -1,6 +0,0 @@
---
type: fix
area: xtream
---
The Xtream sync panel now keeps its status text, labels and Stop sync button clearly readable in both light and dark themes.