peter
0401dae689
test(e4): extract PLEX_SUB_URL for round-trip coverage
...
Move `type Sub` + `PLEX_SUB_URL` out of the 538-line PlexBrowse into a small
plexSubUrl.ts so the encode/decode round-trip and its guards can be unit-tested
without dragging the component (and its lazy hls.js player) into the test graph.
Pure code motion — PlexBrowse imports the two symbols; the `SubviewUrl` import
moves with them.
Tests lock: encode of each bookmarkable kind, grid/player → null, encode→decode
identity, a person name containing ':' round-tripping, and the decode guards
(positive-integer playlist id; season needs both ids; non-empty show/info/person
arg; unknown kind/garbage → null).
12 tests; full FE gate green (tsc/eslint/prettier/knip).
2026-08-20 05:16:06 +02:00
..
2026-07-21 02:26:40 +02:00
2026-08-11 04:04:06 +02:00
2026-08-11 04:04:06 +02:00
2026-08-19 01:13:40 +02:00
2026-08-15 04:45:32 +02:00
2026-08-15 04:45:32 +02:00
2026-08-09 21:06:58 +02:00
2026-08-09 17:43:42 +02:00
2026-08-09 17:43:42 +02:00
2026-08-19 01:13:40 +02:00
2026-08-09 03:18:04 +02:00
2026-08-09 03:18:04 +02:00
2026-06-12 18:01:43 +02:00
2026-08-08 09:28:23 +02:00
2026-08-11 04:20:10 +02:00
2026-08-08 00:50:05 +02:00
2026-08-15 06:38:19 +02:00
2026-08-15 07:20:18 +02:00
2026-08-13 23:41:12 +02:00
2026-07-21 02:26:40 +02:00
2026-08-15 05:28:59 +02:00
2026-08-15 17:13:52 +02:00
2026-08-09 21:06:58 +02:00
2026-08-18 05:01:27 +02:00
2026-08-14 04:01:38 +02:00
2026-08-14 03:50:43 +02:00
2026-08-15 04:45:32 +02:00
2026-08-15 04:09:30 +02:00
2026-08-15 03:40:35 +02:00
2026-08-08 09:28:23 +02:00
2026-08-11 04:04:06 +02:00
2026-08-13 23:24:59 +02:00
2026-08-09 17:43:42 +02:00
2026-08-11 04:20:10 +02:00
2026-08-15 01:37:05 +02:00
2026-08-15 05:31:55 +02:00
2026-08-15 05:28:59 +02:00
2026-06-19 11:18:20 +02:00
2026-08-19 21:14:49 +02:00
2026-07-27 22:10:03 +02:00
2026-08-19 21:14:49 +02:00
2026-08-11 04:04:06 +02:00
2026-08-19 21:14:49 +02:00
2026-08-19 21:14:49 +02:00
2026-07-21 02:26:40 +02:00
2026-08-11 04:04:06 +02:00
2026-08-14 00:49:09 +02:00
2026-08-18 15:49:49 +02:00
2026-08-20 02:13:49 +02:00
2026-08-19 03:07:25 +02:00
2026-08-15 00:35:22 +02:00
2026-08-15 01:37:05 +02:00
2026-08-20 00:47:09 +02:00
2026-08-09 03:18:04 +02:00
2026-08-17 21:43:14 +02:00
2026-08-11 04:04:06 +02:00
2026-08-09 03:18:04 +02:00
2026-08-19 21:35:52 +02:00
2026-08-20 05:12:33 +02:00
2026-08-20 03:26:19 +02:00
2026-07-13 02:28:06 +02:00
2026-07-19 01:25:32 +02:00
2026-08-20 03:26:19 +02:00
2026-08-11 03:29:08 +02:00
2026-08-18 05:01:27 +02:00
2026-08-18 05:01:27 +02:00
2026-07-18 19:11:38 +02:00
2026-08-09 17:43:42 +02:00
2026-08-08 00:50:05 +02:00
2026-08-17 21:43:14 +02:00
2026-08-17 21:43:14 +02:00
2026-07-21 02:26:40 +02:00
2026-07-21 22:29:39 +02:00
2026-08-19 05:41:52 +02:00
2026-08-19 05:41:52 +02:00
2026-08-09 03:18:04 +02:00
2026-08-11 04:04:06 +02:00
2026-08-20 02:13:49 +02:00
2026-08-20 00:47:09 +02:00
2026-08-20 05:16:06 +02:00
2026-08-20 03:26:19 +02:00
2026-08-09 17:43:42 +02:00
2026-08-17 20:41:13 +02:00
2026-08-19 06:10:48 +02:00
2026-08-17 20:21:29 +02:00
2026-08-12 00:06:21 +02:00
2026-08-13 03:20:01 +02:00
2026-08-09 17:43:42 +02:00
2026-08-15 01:01:03 +02:00
2026-08-16 08:05:18 +02:00
2026-08-16 19:02:02 +02:00
2026-08-16 18:30:48 +02:00
2026-08-17 22:18:07 +02:00
2026-08-17 22:18:07 +02:00
2026-08-20 00:47:09 +02:00
2026-08-20 05:16:06 +02:00
2026-08-20 05:16:06 +02:00
2026-08-19 06:10:48 +02:00
2026-07-27 22:10:03 +02:00
2026-08-11 02:20:52 +02:00
2026-08-11 04:04:06 +02:00
2026-08-09 01:03:53 +02:00
2026-08-19 01:32:26 +02:00
2026-08-19 01:32:26 +02:00
2026-08-09 03:18:04 +02:00
2026-08-20 03:52:11 +02:00
2026-08-19 21:35:52 +02:00
2026-08-17 22:18:07 +02:00
2026-08-17 21:31:22 +02:00
2026-08-14 22:58:42 +02:00
2026-08-14 22:58:42 +02:00
2026-08-18 03:02:34 +02:00
2026-08-11 04:04:06 +02:00
2026-08-11 04:04:06 +02:00
2026-08-20 00:47:09 +02:00
2026-08-11 02:20:52 +02:00
2026-08-14 00:10:13 +02:00
2026-08-14 00:10:13 +02:00
2026-08-15 01:04:59 +02:00
2026-08-09 17:43:43 +02:00
2026-08-09 17:46:13 +02:00
2026-08-15 01:37:05 +02:00
2026-08-09 17:43:42 +02:00
2026-08-09 03:18:04 +02:00
2026-08-11 02:20:52 +02:00
2026-07-21 02:26:40 +02:00
2026-08-16 19:02:02 +02:00
2026-08-16 18:30:48 +02:00
2026-06-19 11:18:20 +02:00
2026-08-20 03:52:11 +02:00
2026-08-11 04:04:06 +02:00
2026-08-08 01:38:06 +02:00
2026-07-27 22:40:11 +02:00
2026-08-19 01:32:26 +02:00
2026-08-11 04:04:06 +02:00
2026-08-11 04:04:06 +02:00
2026-07-27 22:10:03 +02:00