4gray
9511f49541
feat(settings): add external player argument placeholders
2026-05-14 09:54:17 +02:00
4gray
c253cbddd1
fix(settings): require external player argument settings
2026-05-14 00:02:14 +02:00
4gray
d43800f19a
fix(settings): address external player argument review
2026-05-13 23:49:21 +02:00
4gray
3017c40867
feat(settings): add external player arguments
2026-05-13 23:49:08 +02:00
4gray
9ae984ad7f
feat(portal): add series quick start CTA ( #925 )
...
* feat(portal): add series quick start CTA
Entire-Checkpoint: f957cd9849e0
* fix(portal): address series quick start review
Entire-Checkpoint: f957cd9849e0
* docs: use repo-relative quick start path
Entire-Checkpoint: f957cd9849e0
2026-05-12 23:45:02 +02:00
4gray
e7db920543
fix(settings): clarify external player path hints ( #929 )
...
* fix(settings): clarify external player path hints
* fix(settings): gate external player hints to desktop
2026-05-12 19:49:14 +02:00
4gray
a33d506266
fix(stalker): play radio collections with audio layout ( #930 )
...
* fix(stalker): play radio collections with audio layout
* fix(stalker): address radio review feedback
2026-05-12 19:48:38 +02:00
4gray
6ae1251ad1
fix(playback): use inline player for collection VOD ( #928 )
...
* feat(portal): add series quick start CTA
Entire-Checkpoint: f957cd9849e0
* fix(playback): use inline player for collection vod
* fix(playback): address inline collection review feedback
* fix(playback): ignore stale vod position loads
2026-05-12 19:26:40 +02:00
4gray
ce0e61a92d
docs: publish embedded MPV macOS blog post
2026-05-11 20:44:01 +02:00
4gray
f922dd2d00
style: adjust size and remove unnecessary styles for action buttons
...
Entire-Checkpoint: f957cd9849e0
2026-05-10 23:37:15 +02:00
4gray
a2ecdc358f
fix(electron): resolve macOS external player app paths ( #924 )
...
* fix(electron): resolve macOS external player app paths
* fix(electron): make macos player executable mapping explicit
2026-05-10 23:36:35 +02:00
4gray
1ca291d35c
chore(nx): update Nx to 22.7.1 ( #923 )
...
* chore(nx): update Nx to 22.7.1
Entire-Checkpoint: f957cd9849e0
* fix(ci): patch nx-electron package metadata copy
Entire-Checkpoint: f957cd9849e0
* fix(packaging): preserve electron package metadata
Entire-Checkpoint: f957cd9849e0
* fix(packaging): address package verifier review
Entire-Checkpoint: f957cd9849e0
2026-05-10 22:01:25 +02:00
4gray
6305dcf00e
Add browser playback diagnostics and MPV/VLC fallback ( #921 )
...
* feat(playback): add codec diagnostics fallback
Entire-Checkpoint: f957cd9849e0
* fix(playback): address diagnostics review feedback
Entire-Checkpoint: f957cd9849e0
* fix(playback): ignore recoverable hls diagnostics
Entire-Checkpoint: f957cd9849e0
* fix(playback): polish diagnostic fallback banner
Entire-Checkpoint: f957cd9849e0
* fix(xtream): preserve live category search scope
Entire-Checkpoint: f957cd9849e0
2026-05-10 17:27:54 +02:00
4gray
5f4cf01467
fix(playback): avoid redundant VideoJS source resets ( #920 )
...
* fix(playback): avoid redundant VideoJS source resets
* fix(playback): clean up cleared VideoJS sources
* refactor(playback): use signal APIs in VideoJS player
closes #608
2026-05-10 15:32:00 +02:00
4gray
724e4b1ab3
feat(playback): add embedded mpv (macos) stream recording ( #916 )
...
* feat(playback): add embedded mpv stream recording
Entire-Checkpoint: f957cd9849e0
* fix(playback): address embedded mpv recording review
Entire-Checkpoint: f957cd9849e0
* fix(playback): track mpv recording auto-stop replies
Entire-Checkpoint: f957cd9849e0
2026-05-10 12:27:09 +02:00
4gray
935ed1b1a9
fix(lockfile): remove duplicate minimatch snapshot
2026-05-10 11:06:06 +02:00
dependabot[bot]
e94617fe83
chore(deps): bump ajv from 6.12.6 to 6.14.0 ( #783 )
...
Bumps [ajv](https://github.com/ajv-validator/ajv ) from 6.12.6 to 6.14.0.
- [Release notes](https://github.com/ajv-validator/ajv/releases )
- [Commits](https://github.com/ajv-validator/ajv/compare/v6.12.6...v6.14.0 )
---
updated-dependencies:
- dependency-name: ajv
dependency-version: 6.14.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-10 10:53:29 +02:00
dependabot[bot]
c84d65016a
chore(deps): bump rollup from 4.52.3 to 4.59.0 ( #796 )
...
Bumps [rollup](https://github.com/rollup/rollup ) from 4.52.3 to 4.59.0.
- [Release notes](https://github.com/rollup/rollup/releases )
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rollup/rollup/compare/v4.52.3...v4.59.0 )
---
updated-dependencies:
- dependency-name: rollup
dependency-version: 4.59.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-10 10:53:26 +02:00
dependabot[bot]
5d66a04d05
chore(deps): bump immutable from 5.1.4 to 5.1.5 ( #807 )
...
Bumps [immutable](https://github.com/immutable-js/immutable-js ) from 5.1.4 to 5.1.5.
- [Release notes](https://github.com/immutable-js/immutable-js/releases )
- [Changelog](https://github.com/immutable-js/immutable-js/blob/main/CHANGELOG.md )
- [Commits](https://github.com/immutable-js/immutable-js/compare/v5.1.4...v5.1.5 )
---
updated-dependencies:
- dependency-name: immutable
dependency-version: 5.1.5
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-10 10:53:23 +02:00
dependabot[bot]
a4fb202b62
chore(deps): bump svgo from 3.3.2 to 3.3.3 ( #808 )
...
Bumps [svgo](https://github.com/svg/svgo ) from 3.3.2 to 3.3.3.
- [Release notes](https://github.com/svg/svgo/releases )
- [Commits](https://github.com/svg/svgo/compare/v3.3.2...v3.3.3 )
---
updated-dependencies:
- dependency-name: svgo
dependency-version: 3.3.3
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-10 10:53:20 +02:00
dependabot[bot]
62f904ec86
chore(deps): bump express-rate-limit from 8.2.1 to 8.3.0 ( #810 )
...
Bumps [express-rate-limit](https://github.com/express-rate-limit/express-rate-limit ) from 8.2.1 to 8.3.0.
- [Release notes](https://github.com/express-rate-limit/express-rate-limit/releases )
- [Commits](https://github.com/express-rate-limit/express-rate-limit/compare/v8.2.1...v8.3.0 )
---
updated-dependencies:
- dependency-name: express-rate-limit
dependency-version: 8.3.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-10 10:53:17 +02:00
dependabot[bot]
23c74d6313
chore(deps): bump devalue from 5.6.2 to 5.6.4 ( #818 )
...
Bumps [devalue](https://github.com/sveltejs/devalue ) from 5.6.2 to 5.6.4.
- [Release notes](https://github.com/sveltejs/devalue/releases )
- [Changelog](https://github.com/sveltejs/devalue/blob/main/CHANGELOG.md )
- [Commits](https://github.com/sveltejs/devalue/compare/v5.6.2...v5.6.4 )
---
updated-dependencies:
- dependency-name: devalue
dependency-version: 5.6.4
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-10 10:53:14 +02:00
dependabot[bot]
d6417c699d
chore(deps): bump flatted from 3.3.3 to 3.4.2 ( #827 )
...
Bumps [flatted](https://github.com/WebReflection/flatted ) from 3.3.3 to 3.4.2.
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2 )
---
updated-dependencies:
- dependency-name: flatted
dependency-version: 3.4.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-10 10:53:10 +02:00
dependabot[bot]
1ea40216ce
build(deps): bump fast-uri from 3.1.0 to 3.1.2 ( #912 )
...
Bumps [fast-uri](https://github.com/fastify/fast-uri ) from 3.1.0 to 3.1.2.
- [Release notes](https://github.com/fastify/fast-uri/releases )
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.0...v3.1.2 )
---
updated-dependencies:
- dependency-name: fast-uri
dependency-version: 3.1.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-10 10:52:44 +02:00
dependabot[bot]
7da715c37f
build(deps): bump @babel/plugin-transform-modules-systemjs ( #915 )
...
Bumps [@babel/plugin-transform-modules-systemjs](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-modules-systemjs ) from 7.28.5 to 7.29.4.
- [Release notes](https://github.com/babel/babel/releases )
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md )
- [Commits](https://github.com/babel/babel/commits/v7.29.4/packages/babel-plugin-transform-modules-systemjs )
---
updated-dependencies:
- dependency-name: "@babel/plugin-transform-modules-systemjs"
dependency-version: 7.29.4
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-10 10:52:23 +02:00
4gray
eb0da5951f
Merge pull request #914 from 4gray/codex/fix-linux-window-identity
...
fix(linux): align packaged app identity
2026-05-09 20:11:07 +02:00
4gray
48463953db
test(packaging): harden package identity regression
...
Entire-Checkpoint: f957cd9849e0
2026-05-09 19:28:35 +02:00
4gray
4a755b43ec
Merge pull request #885 from sapireli/fix/xtream-catchup-server-timezone
...
fix(xtream): use server timezone when constructing catchup/timeshift URLs
2026-05-09 19:28:16 +02:00
4gray
aead89e3e6
fix(xtream): keep category management available
...
Fixes #913
2026-05-09 18:34:57 +02:00
4gray
6cdd02f010
fix(linux): align packaged app identity
...
Entire-Checkpoint: f957cd9849e0
2026-05-09 16:22:37 +02:00
4gray
8b3b1c9bb7
chore: merge master into xtream timezone fix
2026-05-09 16:15:01 +02:00
4gray
134b5fb779
Merge pull request #911 from 4gray/codex/stalker-radio
...
feat(stalker): add radio support
2026-05-09 15:50:10 +02:00
4gray
0d93301520
fix(stalker): address radio review feedback
...
Entire-Checkpoint: f957cd9849e0
2026-05-09 13:08:41 +02:00
4gray
9261794b4a
Merge pull request #902 from weeco/feat/xtream-xmltv-epg-fallback
...
feat(xtream): fall back to uploaded XMLTV when provider has no EPG
2026-05-09 13:06:51 +02:00
4gray
4020822b90
fix(xtream): prevent stale epg queue fetches
2026-05-09 12:08:14 +02:00
4gray
ab905af285
feat(stalker): add radio support
...
Entire-Checkpoint: f957cd9849e0
2026-05-09 01:28:39 +02:00
4gray
e9875f9f29
Merge pull request #903 from sapireli/search_all_fix
...
Fix Xtream section search across categories
2026-05-08 22:09:36 +02:00
4gray
3bafeb8377
Merge remote-tracking branch 'origin/master' into search_all_fix
...
# Conflicts:
# libs/portal/xtream/feature/src/lib/live-stream-layout/live-stream-layout.component.html
2026-05-08 22:01:01 +02:00
4gray
6efa8b9072
fix(xtream): preserve live search playback sidebar
...
Entire-Checkpoint: f957cd9849e0
2026-05-08 21:05:10 +02:00
4gray
90cda8731c
test(portal-shared-util): mock double-click setting
2026-05-08 20:17:18 +02:00
4gray
f884c3479a
Merge pull request #906 from TeddJohnson/codex/double-click-stream-start
...
feat: Add double-click stream open setting
2026-05-08 20:08:23 +02:00
4gray
268d4b9114
cover external player double-click workflow
2026-05-08 20:01:19 +02:00
4gray
5dbf258a2b
refine double-click setting visibility
2026-05-08 19:51:06 +02:00
4gray
e350a2ea96
fix double-click external playback handling
2026-05-08 10:59:52 +02:00
Tedd Johnson
626948f2f5
Add double-click stream open setting
2026-05-07 20:03:33 -07:00
Eliran Sapir
a3a4c6b5ea
Fix Xtream section search across categories
2026-05-07 17:42:29 -04:00
weeco
505e75b67e
fix(xtream): address review feedback on XMLTV fallback PR
...
- pruneEphemeralMaps now uses getCached() so TTL-expired entries also
drop their XMLTV preview / channel-id mapping, instead of clinging
to them until the next explicit cache read.
- portal-channels-list attaches a .catch() to the now-async enqueue so
any future internal rejection surfaces in the console rather than
bubbling silently as an unhandled promise rejection.
- XtreamXmltvFallbackService binds the bridge receiver when calling
the extracted function reference, in case a preload wrapper relies
on `this`.
Adds a regression test for the TTL-aware prune.
2026-05-07 08:52:59 -07:00
weeco
e751e82c07
feat(xtream): fall back to uploaded XMLTV when provider has no EPG
...
Live TV channels in Xtream playlists go blank whenever the provider's
get_short_epg returns nothing, even when the user has working XMLTV
URLs in Settings. The XMLTV pipeline already populates epg_programs
but only the M3U module was reading it.
Wire those uploads up as a fallback for Xtream too: when the provider
returns nothing for a channel with an epg_channel_id, look it up in
the local table. A settings toggle flips the priority for users whose
curated XMLTV is better than the provider's auto guide.
EpgQueueService.enqueue() became async to batch the XMLTV lookup once
per viewport change. To keep the queue consistent under fast scroll,
all shared-state mutations now happen behind a generation counter so
only the latest call commits. Per-method bridge gating in the new
XtreamXmltvFallbackService keeps each path working when the preload
exposes only one of the two endpoints.
2026-05-07 08:52:59 -07:00
4gray and Claude Opus 4.7
f9843fcb0c
docs(blog): add release notes for IPTVnator v0.21
...
Covers the embedded MPV player on macOS, toggleable Live TV sidebars,
command palette upgrades, and module fixes. Credits the Telegram tip
about using IINA as the external player and links the related GitHub
issues.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-06 23:39:23 +02:00
4gray
8c0e038b7d
chore: bump version to 0.22.0
...
Entire-Checkpoint: f957cd9849e0
2026-05-06 23:26:53 +02:00