4gray
da49820e80
fix(stalker): restore playback command compatibility
2026-07-29 12:06:45 +02:00
4gray
9163f2d515
chore(stalker): merge master compatibility updates
2026-07-27 20:21:56 +02:00
4gray
8f7c4761ea
fix(backup): invalidate restored stalker state
2026-07-27 14:00:51 +02:00
4gray
bdf353a3b8
fix(stalker): harden session compatibility
2026-07-27 14:00:30 +02:00
4gray
09469afbae
fix(backup): merge restored redacted credentials
2026-07-27 13:02:50 +02:00
4gray
88f7237874
fix(stalker): recover stale stateless connections
2026-07-27 12:51:08 +02:00
4gray
bc849a7c18
fix(stalker): narrow collection attempt references
2026-07-27 12:47:25 +02:00
4gray
87faef7463
test(stalker): mark typed session fixtures current
2026-07-27 12:45:31 +02:00
4gray
cb199b6e52
fix(stalker): migrate legacy collection playback
2026-07-27 12:41:17 +02:00
4gray
8569612dbd
fix(stalker): harden provisional connection lifecycle
2026-07-27 12:29:46 +02:00
4gray
79dcbba241
fix(stalker): make persisted recipe authoritative
2026-07-27 12:29:03 +02:00
4gray
1961952f48
fix(backup): reject incomplete local Xtream credentials
2026-07-27 12:25:52 +02:00
4gray
c1f7306ed5
fix(stalker): discard stale import attempts
2026-07-27 12:08:04 +02:00
4gray
171095e091
fix(backup): harden portal credential restore
2026-07-27 12:06:56 +02:00
4gray
9988e506de
fix(stalker): redetect session recipes atomically
2026-07-27 12:05:43 +02:00
4gray
91d116a572
fix(stalker): fail closed on incompatible responses
2026-07-27 12:01:23 +02:00
4gray
3ebe31f041
fix(stalker): close route session races
2026-07-27 11:57:46 +02:00
4gray
f99380c65d
fix(stalker): harden session identity boundaries
2026-07-27 11:54:56 +02:00
4gray
829550e2c9
fix(stalker): preserve typed session retry budget
2026-07-27 11:44:17 +02:00
4gray
6d38a7cc4b
fix(stalker): preserve exact portal principals
2026-07-27 11:43:15 +02:00
4gray
9e312ada2d
fix(stalker): keep renderer helpers ES2018 compatible
2026-07-27 11:24:48 +02:00
4gray
0022604c47
feat(stalker): route feature playback through session facade
2026-07-27 11:20:14 +02:00
4gray
a6fd436e35
feat(stalker): add route connection recovery flow
2026-07-27 11:19:02 +02:00
4gray
2125e5a907
feat(stalker): recover typed playlist requests
2026-07-27 11:12:02 +02:00
4gray
758c1cb77a
feat(stalker): coordinate route session recovery
2026-07-27 11:09:08 +02:00
4gray
7ee6e97ceb
fix(stalker): preserve VOD series season shape
2026-07-27 11:04:21 +02:00
4gray
9a69a6d46a
feat(stalker): add challenge-driven import flow
2026-07-27 11:01:15 +02:00
4gray
474f4a86cf
refactor(stalker): route renderer requests through session leases
2026-07-27 10:58:14 +02:00
4gray
91761f5abe
feat(stalker): secure native playback contexts
2026-07-27 10:56:33 +02:00
4gray
57e108b8cb
feat(stalker): reflect persisted connections in state
2026-07-27 10:50:01 +02:00
4gray
cede2c6bb3
fix(stalker): preserve catalog pagination metadata
2026-07-27 10:48:16 +02:00
4gray
00c85beb70
fix(logging): redact Stalker session references
2026-07-27 10:45:26 +02:00
4gray
854e922c1e
feat(stalker): persist verified connections atomically
2026-07-27 10:40:50 +02:00
4gray
24f0dee6f0
test(performance): add formal M3U import benchmark ( #1287 )
...
* test(performance): add formal M3U import benchmark
* test(performance): harden formal capture validity
* test(performance): address benchmark review feedback
2026-07-27 10:34:22 +02:00
4gray
d5acb329e0
feat(stalker): map typed portal operations in main
2026-07-27 10:32:14 +02:00
4gray
04e9027840
feat(backup): restore redacted portals safely
2026-07-27 10:12:22 +02:00
4gray
581ad6fe8b
feat(backup): exclude portal secrets by default
2026-07-27 10:03:40 +02:00
4gray
2646c0c492
feat(stalker): map playlists to session descriptors
2026-07-27 09:56:06 +02:00
4gray
375169a69b
fix(stalker): harden replay network boundaries
2026-07-27 09:54:30 +02:00
4gray
8009233220
refactor(stalker): extract replay fixture schema
2026-07-27 09:28:01 +02:00
4gray
e43d94ded4
fix(stalker): use canonical serial number key
2026-07-27 09:00:56 +02:00
4gray
e55d55b47f
feat(mock-data): add shared screenshot-safe poster catalog ( #1271 )
...
Moves the fictional movie catalog into `libs/shared/marketing-fixtures` so the
Xtream and Stalker mocks describe the same titles, and adds 20 rendered posters
plus the shared fixture types behind them.
Supporting changes made while getting it green:
- `shared-marketing-fixtures` is classified Tier B in the coverage policy. Not
Tier A: it is fictional fixture data, so a statement percentage over it means
nothing, and a Tier A entry would pull it into the merged coverage map and the
ratchet. Tier B still runs its spec in CI. `stalker-mock-server` needs no entry
of its own — it is already Tier C and the Tier B/C runner falls back to
`pnpm nx test <project>`, so its new `marketing-poster-url.spec.ts` runs.
- Two release-capture defects the catalog reorder introduced, both fixed in
`tools/release/capture-app-driver.ts`:
- VOD stream ids are `MARKETING_VOD_STREAM_ID_BASE + index` and the generator
now lists the showcase movies first, so 62000-62002 became Black Harbor, The
Paper Astronaut and Summer Static while the dashboard seeding still mapped
those ids to the previous titles' backdrops.
- the raw `tsx` spawn of the Xtream mock lacked `--tsconfig
tsconfig.base.json`, so the mock could not resolve
`@iptvnator/shared/marketing-fixtures` and the capture never started. Both
mock projects' own serve targets already passed the flag.
2026-07-27 08:10:57 +02:00
4gray
847d98f035
fix(stalker): prioritize response status semantics
2026-07-27 03:56:27 +02:00
4gray
604d2aca3e
fix(stalker): reject ambiguous response failures
2026-07-27 03:52:20 +02:00
4gray
92238ecbbb
fix(stalker): tighten session protocol boundaries
2026-07-27 03:37:42 +02:00
4gray
f8a544d287
fix(stalker): correlate session operation contracts
2026-07-27 03:16:16 +02:00
4gray
29fa4d0f87
feat(stalker): add pure session protocol contracts
2026-07-27 03:01:52 +02:00
4gray
0579d253c4
fix(electron): fail closed on unknown performance completions
2026-07-26 22:37:52 +02:00
4gray
f9e71a6d8d
fix(electron): isolate refresh performance correlation
2026-07-26 22:37:52 +02:00
4gray
e3ce60a35e
chore(electron): add preload performance markers
2026-07-26 22:37:52 +02:00