peter
b4bf71ea64
fix(clip): a clip is held to its owner's storage cap, and its limits and failures say the server's truth
...
- The cut file is measured against what its owner has left, for a YouTube range (whose fetch never
reads yt-dlp's size ceiling) and for a Plex clip (which fetches nothing), before the fetch and
again before it is placed; a refusal leaves the asset pending for a Retry.
- A silent Plex file is cut silent; a file the probe cannot read says so.
- A second job on a failed or renamed clip gets the same YouTube diagnosis and the fetched title.
- The "too long" refusal names the server's cap; a contract test holds the client's copies of the
clip limits to clip.py; the shipped player clients are pinned against the installed yt-dlp.
- One HDR transfer set and one rating_key lookup; job status words from JobStatus; the display-name
guard sees subscript writes and the clip route; stale comments and types follow the clip job.
2026-10-10 15:35:12 +02:00
..
2026-10-05 00:19:38 +02:00
2026-10-05 00:50:36 +02:00
2026-10-05 00:19:39 +02:00
2026-10-10 15:35:12 +02:00
2026-09-19 19:19:29 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:50 +02:00
2026-10-05 00:19:39 +02:00
2026-09-29 21:21:19 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-09-27 13:58:23 +02:00
2026-10-05 00:19:39 +02:00
2026-09-18 03:16:15 +02:00
2026-10-05 00:19:39 +02:00
2026-10-10 15:35:12 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 03:16:27 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 03:16:27 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-08-23 07:43:06 +02:00
2026-09-04 20:29:33 +02:00
2026-10-05 00:19:39 +02:00
2026-09-04 20:29:33 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 05:54:19 +02:00
2026-08-23 07:43:06 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-08-23 07:43:06 +02:00
2026-10-06 21:02:07 +02:00
2026-09-19 04:51:31 +02:00
2026-10-05 03:16:27 +02:00
2026-08-28 02:37:56 +02:00
2026-10-05 01:13:06 +02:00
2026-10-05 00:19:39 +02:00
2026-09-19 07:34:17 +02:00
2026-10-05 00:19:39 +02:00
2026-10-08 01:16:30 +02:00
2026-09-19 01:33:32 +02:00
2026-10-05 03:16:13 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-09-01 23:31:49 +02:00
2026-10-04 17:53:19 +02:00
2026-10-05 00:19:50 +02:00
2026-10-05 00:19:39 +02:00
2026-08-23 07:43:06 +02:00
2026-09-29 22:46:04 +02:00
2026-08-23 07:43:06 +02:00
2026-10-05 00:19:39 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-10-06 03:19:32 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-10 02:31:38 +02:00
2026-10-05 03:16:27 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-09-19 19:19:30 +02:00
2026-10-08 21:18:48 +02:00
2026-09-19 19:19:30 +02:00
2026-10-08 22:12:43 +02:00
2026-10-08 21:18:48 +02:00
2026-10-09 01:22:00 +02:00
2026-10-10 00:03:08 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-09-19 18:21:06 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-10 00:03:08 +02:00
2026-10-05 00:19:39 +02:00
2026-10-06 22:31:48 +02:00
2026-10-05 00:19:39 +02:00
2026-10-09 23:46:39 +02:00
2026-10-06 22:31:48 +02:00
2026-10-07 23:16:25 +02:00
2026-10-05 00:19:39 +02:00
2026-09-27 13:58:23 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-06 23:55:41 +02:00
2026-10-05 03:16:27 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-04 17:53:19 +02:00
2026-10-05 00:19:38 +02:00
2026-10-06 23:55:41 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:50 +02:00
2026-10-05 00:19:38 +02:00
2026-08-23 07:43:06 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:38 +02:00
2026-10-05 00:19:39 +02:00
2026-08-23 07:43:06 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 20:51:39 +02:00
2026-08-23 07:43:06 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-10-06 21:02:07 +02:00
2026-10-10 15:35:12 +02:00
2026-09-05 04:02:57 +02:00
2026-10-05 00:19:38 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-06 03:19:32 +02:00
2026-10-04 17:53:19 +02:00
2026-09-18 22:50:37 +02:00
2026-09-19 04:51:31 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00