01:49:20.836 [debug] QUERY OK source="settings" db=0.4ms queue=0.3ms idle=10.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:49:20.839 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.8ms idle=11.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:49:20.844 [info] Sent 200 in 31ms 01:49:47.307 [info] {"source":"oban","duration":1348,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:52.367 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VD6xJq8NguY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c0/3e/c03e7dc5f4fbdfb7593f43411133fffacf86500eeea7197d8be65f20cd507c71.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: Some SponsorBlock segments are from a video of different duration, maybe from an old version of this video 01:49:52.401 [debug] Running yt-dlp command for action: download_thumbnail 01:49:52.403 [debug] QUERY OK source="settings" db=0.4ms idle=1465.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:49:52.404 [debug] QUERY OK source="settings" db=0.3ms idle=719.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:49:52.406 [debug] QUERY OK source="settings" db=1.6ms idle=466.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:49:52.407 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VD6xJq8NguY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9062/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/e5/e7/e5e726f4892e7b19c61ba336173227e53b109e40b9d3af845b3c5133ab0214fa.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:49:57.876 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VD6xJq8NguY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9062/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/e5/e7/e5e726f4892e7b19c61ba336173227e53b109e40b9d3af845b3c5133ab0214fa.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:49:57.877 [debug] QUERY OK db=0.1ms idle=1939.1ms begin [] 01:49:57.881 [debug] QUERY OK source="media_items" db=2.8ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-12-12 06:49:52Z], "/downloads/Kurzgesagt/There Is Life Hiding Inside Earth.mp4", "/downloads/Kurzgesagt/There Is Life Hiding Inside Earth.info.json", "/downloads/Kurzgesagt/There Is Life Hiding Inside Earth.nfo", "/downloads/Kurzgesagt/There Is Life Hiding Inside Earth.mp4", "/downloads/Kurzgesagt/There Is Life Hiding Inside Earth-thumb.jpg", ~U[2025-12-12 06:49:57Z], 9062] 01:49:57.882 [debug] QUERY OK source="media_metadata" db=1.2ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9062/metadata.json.gz", "/config/metadata/media_items/9062/thumbnail.jpg", 9062, ~U[2025-12-12 06:49:57Z], ~U[2025-12-12 06:49:57Z]] 01:49:57.883 [debug] QUERY OK db=1.1ms commit [] 01:49:57.888 [debug] QUERY OK source="media_items" db=4.2ms idle=1945.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [248219005, ~U[2025-12-12 06:49:57Z], 9062] 01:49:57.888 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:49:57.890 [info] {"args":{"id":9062},"id":4115,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":73719060,"event":"job:stop","queue_time":104300167615,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:49:57.901 [info] {"args":{"id":9063},"id":4116,"meta":{},"system_time":1765522197901225022,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:49:57.903 [debug] QUERY OK source="media_items" db=0.9ms idle=182.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9063] 01:49:57.904 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:49:57.907 [debug] QUERY OK source="sources" db=1.8ms idle=21.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:49:57.908 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=19.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:49:57.909 [debug] QUERY OK source="media_items" db=0.6ms idle=18.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9063] 01:49:57.912 [debug] QUERY OK source="media_metadata" db=0.5ms idle=10.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9063] 01:49:57.912 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:49:57.913 [debug] QUERY OK source="settings" db=0.4ms idle=6.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:49:57.914 [debug] QUERY OK source="settings" db=0.6ms idle=5.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:49:57.918 [debug] Running yt-dlp command for action: get_downloadable_status 01:49:57.926 [debug] QUERY OK source="settings" db=0.5ms idle=16.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:49:57.926 [debug] QUERY OK source="settings" db=0.2ms idle=14.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:49:57.927 [debug] QUERY OK source="settings" db=0.2ms idle=14.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:49:57.927 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zETNKkECocg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c8/28/c828097cb299b2b92c4b154018a43a93a227fc136f0f5eeb9e12a3b5d296fb68.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:50:00.592 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:50:02.957 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=1nC6eA8yy8g --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b4/2e/b42e0962183f080466d98b292112fc873b7331dad8a588dbdf98392bab79cde5.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: Some SponsorBlock segments are from a video of different duration, maybe from an old version of this video 01:50:03.053 [debug] Running yt-dlp command for action: download_thumbnail 01:50:03.054 [debug] QUERY OK source="settings" db=0.6ms idle=1115.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:03.055 [debug] QUERY OK source="settings" db=0.2ms idle=276.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:03.055 [debug] QUERY OK source="settings" db=0.4ms idle=117.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:03.055 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=1nC6eA8yy8g --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9061/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ba/fe/bafe8347bc8ba6faa1ae0a3b1a1b94b23115350ac630fac8b8b8411495bb23df.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:50:03.761 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zETNKkECocg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c8/28/c828097cb299b2b92c4b154018a43a93a227fc136f0f5eeb9e12a3b5d296fb68.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:50:03.761 [debug] Running yt-dlp command for action: download 01:50:03.761 [debug] QUERY OK source="settings" db=0.3ms idle=823.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:03.762 [debug] QUERY OK source="settings" db=0.2ms idle=824.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:03.762 [debug] QUERY OK source="settings" db=0.2ms idle=707.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:03.763 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zETNKkECocg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/93/d9/93d9160556f05123cdb7f4fe5f036b359882948751cec806f03cadfdb1495215.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:50:09.264 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=1nC6eA8yy8g --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9061/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ba/fe/bafe8347bc8ba6faa1ae0a3b1a1b94b23115350ac630fac8b8b8411495bb23df.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:50:09.269 [debug] QUERY OK db=0.4ms queue=1.3ms idle=448.4ms begin [] 01:50:09.272 [debug] QUERY OK source="media_items" db=3.0ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-12-12 06:50:02Z], "/downloads/Epic History/Revolt Against the Tsar: The Decembrists.mp4", "/downloads/Epic History/Revolt Against the Tsar: The Decembrists.info.json", "/downloads/Epic History/Revolt Against the Tsar: The Decembrists.nfo", "/downloads/Epic History/Revolt Against the Tsar: The Decembrists.mp4", "/downloads/Epic History/Revolt Against the Tsar: The Decembrists-thumb.jpg", ~U[2025-12-12 06:50:09Z], 9061] 01:50:09.275 [debug] QUERY OK source="media_metadata" db=1.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9061/metadata.json.gz", "/config/metadata/media_items/9061/thumbnail.jpg", 9061, ~U[2025-12-12 06:50:09Z], ~U[2025-12-12 06:50:09Z]] 01:50:09.277 [debug] QUERY OK db=2.5ms commit [] 01:50:09.282 [debug] QUERY OK source="media_items" db=3.6ms idle=341.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [325252958, ~U[2025-12-12 06:50:09Z], 9061] 01:50:09.284 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:50:09.286 [info] {"args":{"id":9061},"id":4114,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":90240833,"event":"job:stop","queue_time":104296040685,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:50:09.295 [info] {"args":{"id":9064},"id":4117,"meta":{},"system_time":1765522209295403524,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:50:09.296 [debug] QUERY OK source="media_items" db=0.9ms idle=358.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9064] 01:50:09.297 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:50:09.297 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=19.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 01:50:09.298 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=15.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:50:09.300 [debug] QUERY OK source="media_items" db=0.9ms idle=12.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9064] 01:50:09.303 [debug] QUERY OK source="media_metadata" db=0.3ms queue=0.1ms idle=7.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9064] 01:50:09.303 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.2ms idle=6.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:50:09.304 [debug] QUERY OK source="settings" db=0.2ms idle=6.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:09.305 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=6.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:09.306 [debug] Running yt-dlp command for action: get_downloadable_status 01:50:09.314 [debug] QUERY OK source="settings" db=0.2ms idle=14.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:09.314 [debug] QUERY OK source="settings" db=0.2ms idle=11.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:09.315 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=11.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:09.316 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=oTx-GSF3cts --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/21/ba/21baf82d2c9de002e1f569cca67297d7c86c36a6164b909653996eaea38b1ec4.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:50:14.334 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=oTx-GSF3cts --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/21/ba/21baf82d2c9de002e1f569cca67297d7c86c36a6164b909653996eaea38b1ec4.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:50:14.334 [debug] Running yt-dlp command for action: download 01:50:14.335 [debug] QUERY OK source="settings" db=0.3ms idle=1397.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:14.335 [debug] QUERY OK source="settings" db=0.2ms idle=1397.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:14.336 [debug] QUERY OK source="settings" db=0.2ms idle=1398.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:14.336 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=oTx-GSF3cts --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ed/76/ed768684953035cfda7f0712a7d14cee2e2c68bd2b3066c2ecf2efd63c512268.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:50:17.312 [info] {"source":"oban","duration":4965,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:30.737 [info] GET /sources/22/media/35264 01:50:30.737 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "35264", "prevent_download" => "true", "source_id" => "22"} Pipelines: [:browser] 01:50:30.740 [debug] QUERY OK source="media_items" db=2.6ms idle=1799.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [35264] 01:50:30.742 [debug] QUERY OK source="sources" db=0.7ms idle=803.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 01:50:30.744 [debug] QUERY OK source="tasks" db=2.7ms idle=1797.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [35264] 01:50:30.746 [debug] QUERY OK source="oban_jobs" db=1.2ms idle=806.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [13114] 01:50:30.746 [debug] QUERY OK source="settings" db=0.3ms idle=796.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:30.747 [debug] QUERY OK source="settings" db=0.2ms idle=6.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:30.747 [debug] QUERY OK source="settings" db=0.5ms idle=4.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:30.749 [debug] QUERY OK source="media_profiles" db=0.4ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:50:30.750 [info] Sent 200 in 13ms 01:50:47.318 [info] {"source":"oban","duration":4897,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:59.216 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zETNKkECocg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/93/d9/93d9160556f05123cdb7f4fe5f036b359882948751cec806f03cadfdb1495215.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:50:59.256 [debug] Running yt-dlp command for action: download_thumbnail 01:50:59.258 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1319.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:59.259 [debug] QUERY OK source="settings" db=0.6ms idle=1319.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:59.259 [debug] QUERY OK source="settings" db=0.4ms idle=1168.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:59.259 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zETNKkECocg --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9063/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c4/5c/c45cc44e1e599ce7424589e7a5b8497b96c8c55e4977f5c188a560f19f936d43.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:51:00.593 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:51:02.295 [info] GET /sources/22/media/35675 01:51:02.296 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "35675", "prevent_download" => "true", "source_id" => "22"} Pipelines: [:browser] 01:51:02.302 [debug] QUERY OK source="media_items" db=4.9ms queue=0.6ms idle=1357.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [35675] 01:51:02.304 [debug] QUERY OK source="sources" db=1.0ms idle=1198.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 01:51:02.304 [debug] QUERY OK source="tasks" db=1.9ms idle=1364.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [35675] 01:51:02.305 [debug] QUERY OK source="settings" db=0.5ms idle=366.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:02.306 [debug] QUERY OK source="settings" db=0.4ms idle=195.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:02.307 [debug] QUERY OK source="settings" db=0.3ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:02.313 [debug] QUERY OK source="media_profiles" db=4.9ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:51:02.314 [info] Sent 200 in 18ms 01:51:05.236 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zETNKkECocg --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9063/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c4/5c/c45cc44e1e599ce7424589e7a5b8497b96c8c55e4977f5c188a560f19f936d43.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:51:05.238 [debug] QUERY OK db=0.3ms idle=1297.1ms begin [] 01:51:05.242 [debug] QUERY OK source="media_items" db=4.1ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-12-12 06:50:59Z], "/downloads/Epic History/Russia's First Revolutionaries: The Decembrists.mp4", "/downloads/Epic History/Russia's First Revolutionaries: The Decembrists.info.json", "/downloads/Epic History/Russia's First Revolutionaries: The Decembrists.nfo", "/downloads/Epic History/Russia's First Revolutionaries: The Decembrists.mp4", "/downloads/Epic History/Russia's First Revolutionaries: The Decembrists-thumb.jpg", ~U[2025-12-12 06:51:05Z], 9063] 01:51:05.248 [debug] QUERY OK source="media_metadata" db=5.7ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9063/metadata.json.gz", "/config/metadata/media_items/9063/thumbnail.jpg", 9063, ~U[2025-12-12 06:51:05Z], ~U[2025-12-12 06:51:05Z]] 01:51:05.253 [debug] QUERY OK db=4.6ms commit [] 01:51:05.258 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=1314.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [219103591, ~U[2025-12-12 06:51:05Z], 9063] 01:51:05.259 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:51:05.262 [info] {"args":{"id":9063},"id":4116,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":67358321,"event":"job:stop","queue_time":104371896798,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:51:05.273 [info] {"args":{"id":9065},"id":4118,"meta":{},"system_time":1765522265272891626,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:51:05.273 [debug] QUERY OK source="media_items" db=0.6ms idle=137.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9065] 01:51:05.274 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:51:05.275 [debug] QUERY OK source="sources" db=0.6ms idle=20.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:51:05.275 [debug] QUERY OK source="media_profiles" db=0.4ms idle=16.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:51:05.277 [debug] QUERY OK source="media_items" db=1.0ms idle=13.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9065] 01:51:05.279 [debug] QUERY OK source="media_metadata" db=0.4ms idle=6.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9065] 01:51:05.280 [debug] QUERY OK source="media_profiles" db=0.5ms idle=5.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:51:05.281 [debug] QUERY OK source="settings" db=0.7ms idle=5.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:05.281 [debug] QUERY OK source="settings" db=0.2ms idle=5.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:05.282 [debug] Running yt-dlp command for action: get_downloadable_status 01:51:05.290 [debug] QUERY OK source="settings" db=0.4ms idle=12.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:05.292 [debug] QUERY OK source="settings" db=1.4ms idle=11.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:05.293 [debug] QUERY OK source="settings" db=0.6ms queue=0.4ms idle=12.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:05.293 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4EP1FI8goDo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a3/62/a36297122c2e9256df2fbfca1a90ecd775e60ccaaa5fc4aaa591e3040675f9cd.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:51:08.044 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=oTx-GSF3cts --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ed/76/ed768684953035cfda7f0712a7d14cee2e2c68bd2b3066c2ecf2efd63c512268.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:51:08.071 [debug] Running yt-dlp command for action: download_thumbnail 01:51:08.078 [debug] QUERY OK source="settings" db=0.3ms idle=1137.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:08.079 [debug] QUERY OK source="settings" db=0.1ms idle=1137.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:08.079 [debug] QUERY OK source="settings" db=0.3ms idle=1138.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:08.079 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=oTx-GSF3cts --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9064/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/17/79/17791e9758861de4404ce298167f290e1e1e4175cda6ad85c995b926be4c0f93.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:51:10.401 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4EP1FI8goDo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a3/62/a36297122c2e9256df2fbfca1a90ecd775e60ccaaa5fc4aaa591e3040675f9cd.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:51:10.401 [debug] Running yt-dlp command for action: download 01:51:10.402 [debug] QUERY OK source="settings" db=0.5ms idle=1201.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:10.403 [debug] QUERY OK source="settings" db=0.3ms idle=462.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:10.403 [debug] QUERY OK source="settings" db=0.3ms idle=462.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:10.404 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4EP1FI8goDo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/04/8f/048f81c47fdc096ad4a6f9e2553393d11ff9098e31a1a69a90443718793ba782.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:51:13.262 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=oTx-GSF3cts --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9064/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/17/79/17791e9758861de4404ce298167f290e1e1e4175cda6ad85c995b926be4c0f93.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:51:13.264 [debug] QUERY OK db=0.2ms queue=0.4ms idle=1323.4ms begin [] 01:51:13.269 [debug] QUERY OK source="media_items" db=4.4ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [723, ~U[2025-12-12 06:51:08Z], "/downloads/Kurzgesagt/This Video Might Save 58 Lives Next Week.mp4", "/downloads/Kurzgesagt/This Video Might Save 58 Lives Next Week.info.json", "/downloads/Kurzgesagt/This Video Might Save 58 Lives Next Week.nfo", "/downloads/Kurzgesagt/This Video Might Save 58 Lives Next Week.mp4", "/downloads/Kurzgesagt/This Video Might Save 58 Lives Next Week-thumb.jpg", ~U[2025-12-12 06:51:13Z], 9064] 01:51:13.271 [debug] QUERY OK source="media_metadata" db=2.0ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9064/metadata.json.gz", "/config/metadata/media_items/9064/thumbnail.jpg", 9064, ~U[2025-12-12 06:51:13Z], ~U[2025-12-12 06:51:13Z]] 01:51:13.273 [debug] QUERY OK db=1.6ms commit [] 01:51:13.336 [debug] QUERY OK source="media_items" db=62.0ms idle=1333.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [184911878, ~U[2025-12-12 06:51:13Z], 9064] 01:51:13.336 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:51:13.343 [info] {"args":{"id":9064},"id":4117,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":64041157,"event":"job:stop","queue_time":104381293602,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:51:13.355 [info] {"args":{"id":9066},"id":4119,"meta":{},"system_time":1765522273352900182,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:51:13.356 [debug] QUERY OK source="media_items" db=1.2ms idle=138.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9066] 01:51:13.358 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:51:13.359 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=85.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 01:51:13.361 [debug] QUERY OK source="media_profiles" db=1.0ms idle=23.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:51:13.365 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=19.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9066] 01:51:13.369 [debug] QUERY OK source="media_metadata" db=0.5ms queue=0.1ms idle=15.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9066] 01:51:13.370 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.3ms idle=12.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:51:13.372 [debug] QUERY OK source="settings" db=0.5ms idle=12.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:13.373 [debug] QUERY OK source="settings" db=0.6ms idle=11.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:13.375 [debug] Running yt-dlp command for action: get_downloadable_status 01:51:13.379 [debug] QUERY OK source="settings" db=0.5ms idle=14.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:13.381 [debug] QUERY OK source="settings" db=0.7ms queue=0.5ms idle=10.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:13.383 [debug] QUERY OK source="settings" db=1.6ms idle=10.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:13.383 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=SbvAaDN1bpE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f5/22/f522c8b8768b67568926c2b720df35b8afb8ffbc5cf459390b6b6bff9b44d59e.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:51:17.330 [info] {"source":"oban","duration":10796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:18.480 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=SbvAaDN1bpE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f5/22/f522c8b8768b67568926c2b720df35b8afb8ffbc5cf459390b6b6bff9b44d59e.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:51:18.482 [debug] Running yt-dlp command for action: download 01:51:18.483 [debug] QUERY OK source="settings" db=0.6ms queue=0.4ms idle=1541.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:18.484 [debug] QUERY OK source="settings" db=0.3ms queue=0.4ms idle=1543.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:18.485 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1239.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:18.486 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=SbvAaDN1bpE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/47/29/4729cd5fb1841c2eeffbee974696d3d3aed1401c10319506c4695642e8b6b562.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:51:47.333 [info] {"source":"oban","duration":1590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:48.878 [info] GET /sources/24/media/36754 01:51:48.878 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "36754", "prevent_download" => "true", "source_id" => "24"} Pipelines: [:browser] 01:51:48.880 [debug] QUERY OK source="media_items" db=1.6ms idle=1546.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [36754] 01:51:48.881 [debug] QUERY OK source="sources" db=0.6ms idle=934.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [24] 01:51:48.883 [debug] QUERY OK source="tasks" db=2.3ms idle=1465.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [36754] 01:51:48.885 [debug] QUERY OK source="oban_jobs" db=1.3ms queue=0.1ms idle=937.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [14181] 01:51:48.888 [debug] QUERY OK source="settings" db=0.5ms queue=1.5ms idle=463.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:48.889 [debug] QUERY OK source="settings" db=0.3ms queue=0.4ms idle=7.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:48.891 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=8.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:51:48.897 [debug] QUERY OK source="media_profiles" db=1.9ms queue=0.7ms idle=10.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:51:48.903 [info] Sent 200 in 24ms 01:52:00.594 [info] {"source":"oban","duration":1198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:52:14.633 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=SbvAaDN1bpE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/47/29/4729cd5fb1841c2eeffbee974696d3d3aed1401c10319506c4695642e8b6b562.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:52:14.675 [debug] Running yt-dlp command for action: download_thumbnail 01:52:14.681 [debug] QUERY OK source="settings" db=2.1ms queue=0.3ms idle=731.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:14.682 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=734.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:14.682 [debug] QUERY OK source="settings" db=0.2ms idle=735.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:14.683 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=SbvAaDN1bpE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9066/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/be/89/be89bac2873c51b7b12ab6d77746004dbdbe5a873f8378a7588af1ea4fc59ea1.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:52:17.348 [info] {"source":"oban","duration":15257,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:19.875 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=SbvAaDN1bpE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9066/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/be/89/be89bac2873c51b7b12ab6d77746004dbdbe5a873f8378a7588af1ea4fc59ea1.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:52:19.876 [debug] QUERY OK db=0.4ms idle=1929.3ms begin [] 01:52:19.883 [debug] QUERY OK source="media_items" db=7.0ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [566, ~U[2025-12-12 06:52:14Z], "/downloads/Kurzgesagt/Why Scientists Are Puzzled By This Virus.mp4", "/downloads/Kurzgesagt/Why Scientists Are Puzzled By This Virus.info.json", "/downloads/Kurzgesagt/Why Scientists Are Puzzled By This Virus.nfo", "/downloads/Kurzgesagt/Why Scientists Are Puzzled By This Virus.mp4", "/downloads/Kurzgesagt/Why Scientists Are Puzzled By This Virus-thumb.jpg", ~U[2025-12-12 06:52:19Z], 9066] 01:52:19.887 [debug] QUERY OK source="media_metadata" db=3.0ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9066/metadata.json.gz", "/config/metadata/media_items/9066/thumbnail.jpg", 9066, ~U[2025-12-12 06:52:19Z], ~U[2025-12-12 06:52:19Z]] 01:52:19.888 [debug] QUERY OK db=1.3ms commit [] 01:52:19.892 [debug] QUERY OK source="media_items" db=3.1ms idle=1942.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [199661371, ~U[2025-12-12 06:52:19Z], 9066] 01:52:19.893 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:52:19.895 [info] {"args":{"id":9066},"id":4119,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":66540214,"event":"job:stop","queue_time":104442348814,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:52:19.902 [info] {"args":{"id":9067},"id":4120,"meta":{},"system_time":1765522339902243850,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:52:19.903 [debug] QUERY OK source="media_items" db=0.6ms idle=270.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9067] 01:52:19.903 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:52:19.904 [debug] QUERY OK source="sources" db=1.0ms idle=14.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:52:19.905 [debug] QUERY OK source="media_profiles" db=0.3ms idle=12.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:52:19.906 [debug] QUERY OK source="media_items" db=0.5ms idle=10.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9067] 01:52:19.906 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9067] 01:52:19.907 [debug] QUERY OK source="media_profiles" db=0.4ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:52:19.907 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:19.908 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:19.908 [debug] Running yt-dlp command for action: get_downloadable_status 01:52:19.909 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:19.909 [debug] QUERY OK source="settings" db=0.4ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:19.910 [debug] QUERY OK source="settings" db=0.3ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:19.910 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=lLvqZ1ufLwk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c0/ab/c0abccd5948f572acd30725f4088cedc7db847acf1f9ad1b81a90c5c8a491116.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:52:24.982 [info] GET /sources/22/media/35252 01:52:24.982 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "35252", "prevent_download" => "true", "source_id" => "22"} Pipelines: [:browser] 01:52:24.985 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=295.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [35252] 01:52:24.987 [debug] QUERY OK source="sources" db=0.5ms idle=38.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 01:52:24.987 [debug] QUERY OK source="tasks" db=1.0ms idle=37.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [35252] 01:52:24.989 [debug] QUERY OK source="oban_jobs" db=1.0ms idle=39.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [13102] 01:52:24.989 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=40.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:24.991 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:24.992 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:24.993 [debug] QUERY OK source="media_profiles" db=0.5ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:52:24.995 [info] Sent 200 in 13ms 01:52:26.140 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=lLvqZ1ufLwk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c0/ab/c0abccd5948f572acd30725f4088cedc7db847acf1f9ad1b81a90c5c8a491116.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:52:26.141 [debug] Running yt-dlp command for action: download 01:52:26.142 [debug] QUERY OK source="settings" db=0.4ms idle=1151.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:26.142 [debug] QUERY OK source="settings" db=0.4ms idle=1151.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:26.143 [debug] QUERY OK source="settings" db=0.9ms idle=1150.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:26.144 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=lLvqZ1ufLwk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/21/c3/21c30a8259d02553c8e580e3df8bb42279e7cdd0d4d4957e99f33f688c81fd54.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:52:47.351 [info] {"source":"oban","duration":1637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:54.634 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4EP1FI8goDo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/04/8f/048f81c47fdc096ad4a6f9e2553393d11ff9098e31a1a69a90443718793ba782.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:52:54.667 [debug] Running yt-dlp command for action: download_thumbnail 01:52:54.669 [debug] QUERY OK source="settings" db=0.2ms idle=1717.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:54.669 [debug] QUERY OK source="settings" db=0.2ms idle=1717.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:54.670 [debug] QUERY OK source="settings" db=0.1ms idle=800.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:54.670 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4EP1FI8goDo --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9065/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/b1/b6/b1b6f0a96c65e7626958bf30b17615a1375b232afa00e3dd2f0c18d5745d4d50.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:52:59.932 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4EP1FI8goDo --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9065/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/b1/b6/b1b6f0a96c65e7626958bf30b17615a1375b232afa00e3dd2f0c18d5745d4d50.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:52:59.932 [debug] QUERY OK db=0.0ms idle=1980.8ms begin [] 01:52:59.936 [debug] QUERY OK source="media_items" db=3.8ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-12-12 06:52:54Z], "/downloads/Epic History/Belisarius: The Last Battle (6⧸6).mp4", "/downloads/Epic History/Belisarius: The Last Battle (6⧸6).info.json", "/downloads/Epic History/Belisarius: The Last Battle (6⧸6).nfo", "/downloads/Epic History/Belisarius: The Last Battle (6⧸6).mp4", "/downloads/Epic History/Belisarius: The Last Battle (6⧸6)-thumb.jpg", ~U[2025-12-12 06:52:59Z], 9065] 01:52:59.938 [debug] QUERY OK source="media_metadata" db=1.7ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9065/metadata.json.gz", "/config/metadata/media_items/9065/thumbnail.jpg", 9065, ~U[2025-12-12 06:52:59Z], ~U[2025-12-12 06:52:59Z]] 01:52:59.940 [debug] QUERY OK db=1.3ms commit [] 01:52:59.945 [debug] QUERY OK source="media_items" db=3.8ms idle=1989.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [450296939, ~U[2025-12-12 06:52:59Z], 9065] 01:52:59.945 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:52:59.946 [info] {"args":{"id":9065},"id":4118,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":114672611,"event":"job:stop","queue_time":104437268626,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:52:59.954 [info] {"args":{"id":9068},"id":4121,"meta":{},"system_time":1765522379954707411,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:52:59.957 [debug] QUERY OK source="media_items" db=1.7ms idle=14.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9068] 01:52:59.957 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:52:59.958 [debug] QUERY OK source="sources" db=0.7ms idle=12.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 01:52:59.960 [debug] QUERY OK source="media_profiles" db=2.2ms idle=11.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:52:59.961 [debug] QUERY OK source="media_items" db=0.6ms idle=9.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9068] 01:52:59.962 [debug] QUERY OK source="media_metadata" db=0.1ms idle=7.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9068] 01:52:59.962 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:52:59.963 [debug] QUERY OK source="settings" db=0.1ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:59.963 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:59.963 [debug] Running yt-dlp command for action: get_downloadable_status 01:52:59.964 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:59.964 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:59.965 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:52:59.965 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vSSkDos2hzo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a1/d4/a1d4438a9d3db07068cc6aed3b2538edce38f11c16617705a364f7f62a0d783d.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:53:00.595 [info] {"source":"oban","duration":253,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:53:04.828 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vSSkDos2hzo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a1/d4/a1d4438a9d3db07068cc6aed3b2538edce38f11c16617705a364f7f62a0d783d.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:53:04.829 [debug] Running yt-dlp command for action: download 01:53:04.830 [debug] QUERY OK source="settings" db=0.4ms idle=882.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:04.830 [debug] QUERY OK source="settings" db=0.5ms idle=872.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:04.831 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=873.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:04.832 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vSSkDos2hzo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/43/2c/432ccbdd20f266522e6cb2b1c6671ea065ae5a3609f024d5743407c813c9cf5e.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:53:10.616 [info] GET /sources/21/edit 01:53:10.616 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "21"} Pipelines: [:browser] 01:53:10.617 [debug] QUERY OK source="sources" db=0.3ms idle=1639.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [21] 01:53:10.618 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.3ms idle=659.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 01:53:10.619 [debug] QUERY OK source="settings" db=1.3ms idle=661.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:10.620 [debug] QUERY OK source="settings" db=0.2ms idle=662.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:10.625 [debug] QUERY OK source="settings" db=3.9ms idle=634.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:10.630 [info] Sent 200 in 14ms 01:53:11.117 [info] GET /sources/10/edit 01:53:11.117 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "10"} Pipelines: [:browser] 01:53:11.120 [debug] QUERY OK source="sources" db=2.3ms idle=499.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:53:11.121 [debug] QUERY OK source="media_profiles" db=0.4ms idle=500.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 01:53:11.121 [debug] QUERY OK source="settings" db=0.1ms idle=500.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:11.122 [debug] QUERY OK source="settings" db=0.2ms idle=496.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:11.122 [debug] QUERY OK source="settings" db=0.1ms idle=128.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:11.125 [info] Sent 200 in 7ms 01:53:11.617 [info] GET /sources/15/edit 01:53:11.617 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "15"} Pipelines: [:browser] 01:53:11.620 [debug] QUERY OK source="sources" db=2.1ms queue=0.3ms idle=497.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [15] 01:53:11.622 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.7ms idle=499.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 01:53:11.623 [debug] QUERY OK source="settings" db=1.5ms idle=500.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:11.624 [debug] QUERY OK source="settings" db=0.3ms queue=0.4ms idle=501.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:11.626 [debug] QUERY OK source="settings" db=0.3ms queue=0.4ms idle=503.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:11.633 [info] Sent 200 in 16ms 01:53:12.118 [info] GET /sources/12/edit 01:53:12.118 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "12"} Pipelines: [:browser] 01:53:12.123 [debug] QUERY OK source="sources" db=3.9ms idle=496.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [12] 01:53:12.126 [debug] QUERY OK source="media_profiles" db=2.8ms queue=0.1ms idle=499.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 01:53:12.127 [debug] QUERY OK source="settings" db=0.8ms idle=501.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:12.128 [debug] QUERY OK source="settings" db=0.4ms idle=500.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:12.129 [debug] QUERY OK source="settings" db=0.8ms idle=130.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:12.134 [info] Sent 200 in 15ms 01:53:12.619 [info] GET /sources/24/edit 01:53:12.619 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "24"} Pipelines: [:browser] 01:53:12.620 [debug] QUERY OK source="sources" db=0.4ms idle=497.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [24] 01:53:12.621 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=494.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 01:53:12.621 [debug] QUERY OK source="settings" db=0.1ms idle=494.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:12.622 [debug] QUERY OK source="settings" db=0.2ms idle=493.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:12.624 [debug] QUERY OK source="settings" db=2.1ms idle=493.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:12.627 [info] Sent 200 in 7ms 01:53:13.120 [info] GET /sources/1/edit 01:53:13.121 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 01:53:13.122 [debug] QUERY OK source="sources" db=1.2ms idle=499.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 01:53:13.123 [debug] QUERY OK source="media_profiles" db=0.3ms idle=500.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 01:53:13.123 [debug] QUERY OK source="settings" db=0.1ms idle=500.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:13.123 [debug] QUERY OK source="settings" db=0.1ms idle=498.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:13.124 [debug] QUERY OK source="settings" db=0.1ms idle=120.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:13.126 [info] Sent 200 in 5ms 01:53:13.624 [info] GET /sources/1/sync_files_on_disk 01:53:13.625 [debug] QUERY OK source="settings" db=0.9ms idle=501.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:13.626 [debug] QUERY OK source="settings" db=0.5ms idle=502.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:13.626 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:53:13.627 [error] #PID<0.41977.0> running PinchflatWeb.Endpoint (connection #PID<0.41969.0>, stream id 8) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/1/sync_files_on_disk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44400}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.41977.0>, params: %{}, path_info: ["sources", "1", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.143"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/1/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBlQ0r1Wfpy_z8AKMKB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44400}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44400}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.41977.0>, params: %{}, path_info: ["sources", "1", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry. (truncated) 01:53:13.922 [info] GET /sources/5/force_metadata_refresh 01:53:13.923 [debug] QUERY OK source="settings" db=0.6ms idle=799.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:13.924 [debug] QUERY OK source="settings" db=0.7ms queue=0.4ms idle=800.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:13.925 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:53:13.927 [error] #PID<0.41978.0> running PinchflatWeb.Endpoint (connection #PID<0.41969.0>, stream id 9) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/5/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/force_metadata_refresh", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44400}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.41978.0>, params: %{}, path_info: ["sources", "5", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.143"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/5/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBlQ1zA3h16MPoAKMLB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/force_metadata_refresh", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44400}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/force_metadata_refresh", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44400}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.41978.0>, params: %{}, path_info: ["sources", "5", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Funct (truncated) 01:53:14.224 [info] GET /sources/6/force_metadata_refresh 01:53:14.225 [debug] QUERY OK source="settings" db=0.8ms idle=598.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:14.225 [debug] QUERY OK source="settings" db=0.4ms idle=599.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:14.226 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:53:14.226 [error] #PID<0.41979.0> running PinchflatWeb.Endpoint (connection #PID<0.41969.0>, stream id 10) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/6/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_metadata_refresh", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44400}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.41979.0>, params: %{}, path_info: ["sources", "6", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.143"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/6/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBlQ265FMMGq8IAKMMB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_metadata_refresh", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44400}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_metadata_refresh", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44400}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.41979.0>, params: %{}, path_info: ["sources", "6", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#F (truncated) 01:53:14.524 [info] GET /sources/5/force_index 01:53:14.525 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=601.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:14.526 [debug] QUERY OK source="settings" db=0.2ms idle=600.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:14.526 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:53:14.526 [error] #PID<0.41980.0> running PinchflatWeb.Endpoint (connection #PID<0.41969.0>, stream id 11) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/5/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/force_index", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44400}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.41980.0>, params: %{}, path_info: ["sources", "5", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.143"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/5/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBlQ4Cl3L8Bj2QAKMNB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/force_index", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44400}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/force_index", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44400}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.41980.0>, params: %{}, path_info: ["sources", "5", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.End (truncated) 01:53:14.829 [info] GET /sources/6/force_index 01:53:14.829 [debug] QUERY OK source="settings" db=0.2ms idle=817.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:14.830 [debug] QUERY OK source="settings" db=0.2ms idle=604.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:14.830 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:53:14.830 [error] #PID<0.41981.0> running PinchflatWeb.Endpoint (connection #PID<0.41969.0>, stream id 12) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/6/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_index", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44400}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.41981.0>, params: %{}, path_info: ["sources", "6", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.143"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/6/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBlQ5LKzUhFYHwAKMOB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_index", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44400}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_index", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44400}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.41981.0>, params: %{}, path_info: ["sources", "6", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.End (truncated) 01:53:15.126 [info] GET /sources/1/force_metadata_refresh 01:53:15.127 [debug] QUERY OK source="settings" db=0.4ms idle=600.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:15.127 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=601.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:15.127 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:53:15.128 [error] #PID<0.41982.0> running PinchflatWeb.Endpoint (connection #PID<0.41969.0>, stream id 13) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/1/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44400}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.41982.0>, params: %{}, path_info: ["sources", "1", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.143"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/1/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBlQ6R9vpkWCLkAKMPB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44400}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44400}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.41982.0>, params: %{}, path_info: ["sources", "1", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#F (truncated) 01:53:15.442 [info] GET /sources/1/force_index 01:53:15.443 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=613.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:15.443 [debug] QUERY OK source="settings" db=0.1ms idle=613.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:15.443 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:53:15.444 [error] #PID<0.41983.0> running PinchflatWeb.Endpoint (connection #PID<0.41969.0>, stream id 14) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/1/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44400}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.41983.0>, params: %{}, path_info: ["sources", "1", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.143"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/1/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBlQ7dXrNcP7e8AKMQB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44400}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44400}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb1hjT1c2N0hPVV9MU0FLbnh1blV5Wl83.ZTtZmQ-QZqTxpbXw2EjBGYSuqo6p8E3nYX2EcWLPlyU" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.41983.0>, params: %{}, path_info: ["sources", "1", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.End (truncated) 01:53:17.362 [info] {"source":"oban","duration":10168,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:18.006 [info] GET /sources/24/media/36760/force_download 01:53:18.008 [debug] QUERY OK source="settings" db=1.5ms idle=1049.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:18.009 [debug] QUERY OK source="settings" db=0.5ms queue=0.3ms idle=1050.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:18.009 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:53:18.012 [error] #PID<0.41984.0> running PinchflatWeb.Endpoint (connection #PID<0.41969.0>, stream id 15) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/24/media/36760/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/24/media/36760/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/24/media/36760/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44400}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTUJvaUJXb1p2U1lpdVQwaW0wM2xOMnhM.MaKSz8d760f6objuT8zDQr3_tGWhn0abA2XqjhMEPc8", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTUJvaUJXb1p2U1lpdVQwaW0wM2xOMnhM.MaKSz8d760f6objuT8zDQr3_tGWhn0abA2XqjhMEPc8" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.41984.0>, params: %{}, path_info: ["sources", "24", "media", "36760", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTUJvaUJXb1p2U1lpdVQwaW0wM2xOMnhM.MaKSz8d760f6objuT8zDQr3_tGWhn0abA2XqjhMEPc8" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTUJvaUJXb1p2U1lpdVQwaW0wM2xOMnhM.MaKSz8d760f6objuT8zDQr3_tGWhn0abA2XqjhMEPc8"}, {"from", "gptbot(at)openai.com"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.40"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "716824529"} ], request_path: "/sources/24/media/36760/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBlRFAnIqVBk0sAKMRB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/24/media/36760/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44400}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTUJvaUJXb1p2U1lpdVQwaW0wM2xOMnhM.MaKSz8d760f6objuT8zDQr3_tGWhn0abA2XqjhMEPc8", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/24/media/36760/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/24/media/36760/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44400}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTUJvaUJXb1p2U1lpdVQwaW0wM2xOMnhM.MaKSz8d760f6objuT8zDQr3_tGWhn0abA2XqjhMEPc8", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTUJvaUJXb1p2U1lpdVQwaW0wM2xOMnhM.MaKSz8d760f6objuT8zDQr3_tGWhn0abA2XqjhMEPc8" }, halted: false, host: "youtube.zakscode.com", (truncated) 01:53:40.924 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=lLvqZ1ufLwk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/21/c3/21c30a8259d02553c8e580e3df8bb42279e7cdd0d4d4957e99f33f688c81fd54.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:53:40.954 [debug] Running yt-dlp command for action: download_thumbnail 01:53:40.955 [debug] QUERY OK source="settings" db=0.1ms idle=1977.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:40.955 [debug] QUERY OK source="settings" db=0.2ms idle=1773.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:40.955 [debug] QUERY OK source="settings" db=0.0ms idle=978.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:40.956 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=lLvqZ1ufLwk --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9067/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/e4/fe/e4fe83bbb70d14dcc9fcdd984a323bbc9b8c0f44c49d59d7198733e656ef2536.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:53:46.507 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=lLvqZ1ufLwk --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9067/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/e4/fe/e4fe83bbb70d14dcc9fcdd984a323bbc9b8c0f44c49d59d7198733e656ef2536.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:53:46.508 [debug] QUERY OK db=0.5ms idle=530.3ms begin [] 01:53:46.513 [debug] QUERY OK source="media_items" db=4.6ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-12-12 06:53:40Z], "/downloads/Epic History/Suez Crisis (All Parts): Causes, Conflict and Global Repercussions.mp4", "/downloads/Epic History/Suez Crisis (All Parts): Causes, Conflict and Global Repercussions.info.json", "/downloads/Epic History/Suez Crisis (All Parts): Causes, Conflict and Global Repercussions.nfo", "/downloads/Epic History/Suez Crisis (All Parts): Causes, Conflict and Global Repercussions.mp4", "/downloads/Epic History/Suez Crisis (All Parts): Causes, Conflict and Global Repercussions-thumb.jpg", ~U[2025-12-12 06:53:46Z], 9067] 01:53:46.516 [debug] QUERY OK source="media_metadata" db=2.2ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9067/metadata.json.gz", "/config/metadata/media_items/9067/thumbnail.jpg", 9067, ~U[2025-12-12 06:53:46Z], ~U[2025-12-12 06:53:46Z]] 01:53:46.517 [debug] QUERY OK db=0.9ms commit [] 01:53:46.519 [debug] QUERY OK source="media_items" db=1.6ms idle=539.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [301624272, ~U[2025-12-12 06:53:46Z], 9067] 01:53:46.519 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:53:46.520 [info] {"args":{"id":9067},"id":4120,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":86617236,"event":"job:stop","queue_time":104508900577,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:53:46.531 [info] {"args":{"id":9069},"id":4122,"meta":{},"system_time":1765522426530985490,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:53:46.532 [debug] QUERY OK source="media_items" db=0.7ms idle=317.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9069] 01:53:46.532 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:53:46.533 [debug] QUERY OK source="sources" db=0.4ms idle=15.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:53:46.533 [debug] QUERY OK source="media_profiles" db=0.5ms idle=13.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:53:46.534 [debug] QUERY OK source="media_items" db=0.6ms idle=14.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9069] 01:53:46.539 [debug] QUERY OK source="media_metadata" db=0.8ms queue=0.3ms idle=7.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9069] 01:53:46.540 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.4ms idle=7.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:53:46.542 [debug] QUERY OK source="settings" db=1.0ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:46.542 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:46.543 [debug] Running yt-dlp command for action: get_downloadable_status 01:53:46.545 [debug] QUERY OK source="settings" db=0.1ms idle=10.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:46.545 [debug] QUERY OK source="settings" db=0.3ms idle=5.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:46.546 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=4.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:46.546 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=crxIVBxfg9Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/eb/ae/ebae55198a026e952cc5df0f9a3650caed2e98870a267f2d255bdff034d79c90.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:53:47.368 [info] {"source":"oban","duration":3080,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:51.381 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=crxIVBxfg9Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/eb/ae/ebae55198a026e952cc5df0f9a3650caed2e98870a267f2d255bdff034d79c90.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:53:51.381 [debug] Running yt-dlp command for action: download 01:53:51.382 [debug] QUERY OK source="settings" db=0.3ms idle=1403.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:51.382 [debug] QUERY OK source="settings" db=0.1ms idle=1404.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:51.382 [debug] QUERY OK source="settings" db=0.1ms idle=1133.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:51.383 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=crxIVBxfg9Q --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ea/f8/eaf8b3cde0c056100dd46743a77c4fbeb4a1048e169d4f3ea918cb770d792965.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:53:56.584 [info] GET /sources/22/media/35255 01:53:56.584 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "35255", "prevent_download" => "true", "source_id" => "22"} Pipelines: [:browser] 01:53:56.587 [debug] QUERY OK source="media_items" db=2.2ms idle=1604.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [35255] 01:53:56.588 [debug] QUERY OK source="sources" db=0.7ms idle=1606.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 01:53:56.588 [debug] QUERY OK source="tasks" db=0.9ms idle=1606.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [35255] 01:53:56.590 [debug] QUERY OK source="oban_jobs" db=1.4ms idle=1317.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [13105] 01:53:56.591 [debug] QUERY OK source="settings" db=0.5ms idle=313.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:56.592 [debug] QUERY OK source="settings" db=0.7ms queue=0.4ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:56.595 [debug] QUERY OK source="settings" db=0.6ms queue=1.2ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:53:56.598 [debug] QUERY OK source="media_profiles" db=1.8ms idle=7.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:53:56.600 [info] Sent 200 in 15ms 01:54:00.597 [info] {"source":"oban","duration":922,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:54:00.943 [info] GET /sources/4 01:54:00.943 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "4"} Pipelines: [:browser] 01:54:00.944 [debug] QUERY OK source="sources" db=0.7ms idle=963.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 01:54:00.945 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=964.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:54:00.950 [debug] QUERY OK source="tasks" db=5.0ms idle=964.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [4, "executing", "available", "scheduled", "retryable"] 01:54:00.951 [debug] QUERY OK source="oban_jobs" db=0.7ms idle=650.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [15767] 01:54:00.952 [debug] QUERY OK source="settings" db=0.4ms idle=354.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:00.953 [debug] QUERY OK source="settings" db=1.1ms idle=7.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:00.955 [debug] QUERY OK source="settings" db=1.3ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:00.957 [debug] QUERY OK source="sources" db=0.3ms idle=6.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 01:54:01.074 [debug] QUERY OK source="media_items" db=116.3ms idle=6.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [4] 01:54:01.081 [debug] QUERY OK source="media_items" db=5.6ms queue=1.2ms idle=122.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 01:54:01.083 [debug] QUERY OK source="sources" db=0.2ms idle=130.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 01:54:01.088 [debug] QUERY OK source="media_items" db=3.6ms queue=0.1ms idle=128.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [4] 01:54:01.094 [debug] QUERY OK source="media_items" db=6.1ms idle=130.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 01:54:01.097 [debug] QUERY OK source="sources" db=0.9ms idle=22.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 01:54:01.098 [debug] QUERY OK source="media_items" db=1.0ms idle=16.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [4] 01:54:01.104 [debug] QUERY OK source="media_items" db=5.0ms idle=15.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 01:54:01.106 [info] Sent 200 in 163ms 01:54:01.184 [info] GET /sources/12 01:54:01.184 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "12"} Pipelines: [:browser] 01:54:01.185 [debug] QUERY OK source="sources" db=0.6ms idle=96.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [12] 01:54:01.186 [debug] QUERY OK source="media_profiles" db=0.2ms idle=91.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:54:01.192 [debug] QUERY OK source="tasks" db=5.7ms idle=89.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [12, "executing", "available", "scheduled", "retryable"] 01:54:01.192 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=93.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [16613] 01:54:01.193 [debug] QUERY OK source="settings" db=0.5ms idle=89.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:01.193 [debug] QUERY OK source="settings" db=0.1ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:01.194 [debug] QUERY OK source="settings" db=0.1ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:01.196 [debug] QUERY OK source="sources" db=0.4ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [12] 01:54:01.278 [debug] QUERY OK source="media_items" db=80.6ms idle=4.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [12] 01:54:01.287 [debug] QUERY OK source="media_items" db=8.9ms queue=0.1ms idle=84.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [12, 10, 0] 01:54:01.290 [debug] QUERY OK source="sources" db=0.6ms idle=95.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [12] 01:54:01.294 [debug] QUERY OK source="media_items" db=3.7ms idle=95.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [12] 01:54:01.298 [debug] QUERY OK source="media_items" db=3.6ms idle=98.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [12, 10, 0] 01:54:01.299 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=20.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [12] 01:54:01.300 [debug] QUERY OK source="media_items" db=0.8ms idle=11.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [12] 01:54:01.312 [debug] QUERY OK source="media_items" db=11.4ms queue=0.1ms idle=11.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [12, 10, 0] 01:54:01.314 [info] Sent 200 in 129ms 01:54:01.482 [info] GET /sources/10 01:54:01.482 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "10"} Pipelines: [:browser] 01:54:01.483 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=184.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:54:01.483 [debug] QUERY OK source="media_profiles" db=0.4ms idle=184.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:54:01.487 [debug] QUERY OK source="tasks" db=2.4ms queue=0.8ms idle=184.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [10, "executing", "available", "scheduled", "retryable"] 01:54:01.488 [debug] QUERY OK source="oban_jobs" db=0.7ms idle=175.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [16611] 01:54:01.489 [debug] QUERY OK source="settings" db=0.7ms idle=176.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:01.490 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=6.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:01.491 [debug] QUERY OK source="settings" db=0.2ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:01.493 [debug] QUERY OK source="sources" db=0.9ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:54:01.538 [debug] QUERY OK source="media_items" db=43.9ms idle=5.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [10] 01:54:01.546 [debug] QUERY OK source="media_items" db=6.9ms queue=0.7ms idle=48.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 01:54:01.547 [debug] QUERY OK source="sources" db=0.5ms idle=57.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:54:01.550 [debug] QUERY OK source="media_items" db=2.3ms idle=56.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [10] 01:54:01.555 [debug] QUERY OK source="media_items" db=4.8ms queue=0.1ms idle=56.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 01:54:01.558 [debug] QUERY OK source="sources" db=0.4ms idle=19.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:54:01.560 [debug] QUERY OK source="media_items" db=1.3ms idle=12.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [10] 01:54:01.564 [debug] QUERY OK source="media_items" db=3.6ms idle=12.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 01:54:01.565 [info] Sent 200 in 83ms 01:54:01.784 [info] GET /sources/1/force_download_pending 01:54:01.786 [debug] QUERY OK source="settings" db=1.4ms idle=234.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:01.786 [debug] QUERY OK source="settings" db=0.3ms idle=230.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:01.786 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:54:01.787 [error] #PID<0.42005.0> running PinchflatWeb.Endpoint (connection #PID<0.41995.0>, stream id 5) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/1/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41995.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 57350}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm5maE90ek0wblMtTm5IX1A5aEdXejZq.Uoz7SAzRmB8nzOe3q0hSjTdqT6GBtNe1MablETUI1D0", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm5maE90ek0wblMtTm5IX1A5aEdXejZq.Uoz7SAzRmB8nzOe3q0hSjTdqT6GBtNe1MablETUI1D0" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42005.0>, params: %{}, path_info: ["sources", "1", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm5maE90ek0wblMtTm5IX1A5aEdXejZq.Uoz7SAzRmB8nzOe3q0hSjTdqT6GBtNe1MablETUI1D0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm5maE90ek0wblMtTm5IX1A5aEdXejZq.Uoz7SAzRmB8nzOe3q0hSjTdqT6GBtNe1MablETUI1D0"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.143"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/1/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBlToGGHlSFSg8AKMbB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41995.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 57350}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm5maE90ek0wblMtTm5IX1A5aEdXejZq.Uoz7SAzRmB8nzOe3q0hSjTdqT6GBtNe1MablETUI1D0", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41995.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 57350}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm5maE90ek0wblMtTm5IX1A5aEdXejZq.Uoz7SAzRmB8nzOe3q0hSjTdqT6GBtNe1MablETUI1D0", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm5maE90ek0wblMtTm5IX1A5aEdXejZq.Uoz7SAzRmB8nzOe3q0hSjTdqT6GBtNe1MablETUI1D0" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42005.0>, params: %{}, path_info: ["sources", "1", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Funct (truncated) 01:54:02.084 [info] GET /sources/8/edit 01:54:02.084 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "8"} Pipelines: [:browser] 01:54:02.085 [debug] QUERY OK source="sources" db=0.3ms idle=526.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 01:54:02.086 [debug] QUERY OK source="media_profiles" db=0.3ms idle=525.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 01:54:02.086 [debug] QUERY OK source="settings" db=0.0ms idle=521.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:02.086 [debug] QUERY OK source="settings" db=0.2ms idle=300.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:02.087 [debug] QUERY OK source="settings" db=0.1ms idle=300.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:02.089 [info] Sent 200 in 4ms 01:54:02.384 [info] GET /sources/17/edit 01:54:02.384 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "17"} Pipelines: [:browser] 01:54:02.385 [debug] QUERY OK source="sources" db=0.3ms idle=299.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [17] 01:54:02.386 [debug] QUERY OK source="media_profiles" db=0.3ms idle=299.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 01:54:02.386 [debug] QUERY OK source="settings" db=0.0ms idle=299.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:02.386 [debug] QUERY OK source="settings" db=0.1ms idle=299.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:02.387 [debug] QUERY OK source="settings" db=0.1ms idle=62.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:02.391 [info] Sent 200 in 6ms 01:54:02.687 [info] GET /sources/4/edit 01:54:02.687 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "4"} Pipelines: [:browser] 01:54:02.688 [debug] QUERY OK source="sources" db=0.7ms idle=302.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 01:54:02.689 [debug] QUERY OK source="media_profiles" db=0.4ms idle=303.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 01:54:02.690 [debug] QUERY OK source="settings" db=0.4ms idle=303.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:02.690 [debug] QUERY OK source="settings" db=0.3ms idle=303.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:02.692 [debug] QUERY OK source="settings" db=1.5ms idle=303.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:02.695 [info] Sent 200 in 8ms 01:54:02.985 [info] GET /sources/5/edit 01:54:02.985 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "5"} Pipelines: [:browser] 01:54:02.986 [debug] QUERY OK source="sources" db=0.3ms idle=297.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:54:02.987 [debug] QUERY OK source="media_profiles" db=0.2ms idle=297.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 01:54:02.987 [debug] QUERY OK source="settings" db=0.3ms idle=297.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:02.988 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=297.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:02.989 [debug] QUERY OK source="settings" db=0.4ms idle=296.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:02.992 [info] Sent 200 in 6ms 01:54:03.286 [info] GET /sources/6/edit 01:54:03.286 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "6"} Pipelines: [:browser] 01:54:03.290 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=300.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 01:54:03.292 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.9ms idle=303.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 01:54:03.293 [debug] QUERY OK source="settings" db=1.1ms idle=304.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:03.294 [debug] QUERY OK source="settings" db=0.4ms queue=0.4ms idle=305.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:03.296 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=306.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:03.301 [info] Sent 200 in 15ms 01:54:03.589 [info] GET /sources/25/edit 01:54:03.589 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "25"} Pipelines: [:browser] 01:54:03.590 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=298.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [25] 01:54:03.591 [debug] QUERY OK source="media_profiles" db=0.5ms idle=297.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 01:54:03.592 [debug] QUERY OK source="settings" db=0.2ms idle=297.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:03.592 [debug] QUERY OK source="settings" db=0.2ms idle=295.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:03.593 [debug] QUERY OK source="settings" db=0.1ms idle=261.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:03.595 [info] Sent 200 in 6ms 01:54:03.889 [info] GET /sources/5/sync_files_on_disk 01:54:03.891 [debug] QUERY OK source="settings" db=1.3ms queue=0.4ms idle=299.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:03.892 [debug] QUERY OK source="settings" db=0.4ms idle=300.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:03.892 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:54:03.894 [error] #PID<0.42012.0> running PinchflatWeb.Endpoint (connection #PID<0.41995.0>, stream id 12) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/5/sync_files_on_disk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41995.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/sync_files_on_disk", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 57350}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm5maE90ek0wblMtTm5IX1A5aEdXejZq.Uoz7SAzRmB8nzOe3q0hSjTdqT6GBtNe1MablETUI1D0", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm5maE90ek0wblMtTm5IX1A5aEdXejZq.Uoz7SAzRmB8nzOe3q0hSjTdqT6GBtNe1MablETUI1D0" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42012.0>, params: %{}, path_info: ["sources", "5", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm5maE90ek0wblMtTm5IX1A5aEdXejZq.Uoz7SAzRmB8nzOe3q0hSjTdqT6GBtNe1MablETUI1D0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm5maE90ek0wblMtTm5IX1A5aEdXejZq.Uoz7SAzRmB8nzOe3q0hSjTdqT6GBtNe1MablETUI1D0"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.143"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/5/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBlTv8Fj3LUiB8AKMjB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41995.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/sync_files_on_disk", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 57350}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm5maE90ek0wblMtTm5IX1A5aEdXejZq.Uoz7SAzRmB8nzOe3q0hSjTdqT6GBtNe1MablETUI1D0", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41995.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/sync_files_on_disk", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 57350}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm5maE90ek0wblMtTm5IX1A5aEdXejZq.Uoz7SAzRmB8nzOe3q0hSjTdqT6GBtNe1MablETUI1D0", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm5maE90ek0wblMtTm5IX1A5aEdXejZq.Uoz7SAzRmB8nzOe3q0hSjTdqT6GBtNe1MablETUI1D0" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42012.0>, params: %{}, path_info: ["sources", "5", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Teleme (truncated) 01:54:04.191 [info] GET /sources/6/sync_files_on_disk 01:54:04.192 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=599.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:04.192 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=599.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:04.193 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:54:04.193 [error] #PID<0.42013.0> running PinchflatWeb.Endpoint (connection #PID<0.41995.0>, stream id 13) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/6/sync_files_on_disk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41995.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/sync_files_on_disk", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 57350}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm5maE90ek0wblMtTm5IX1A5aEdXejZq.Uoz7SAzRmB8nzOe3q0hSjTdqT6GBtNe1MablETUI1D0", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm5maE90ek0wblMtTm5IX1A5aEdXejZq.Uoz7SAzRmB8nzOe3q0hSjTdqT6GBtNe1MablETUI1D0" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42013.0>, params: %{}, path_info: ["sources", "6", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm5maE90ek0wblMtTm5IX1A5aEdXejZq.Uoz7SAzRmB8nzOe3q0hSjTdqT6GBtNe1MablETUI1D0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm5maE90ek0wblMtTm5IX1A5aEdXejZq.Uoz7SAzRmB8nzOe3q0hSjTdqT6GBtNe1MablETUI1D0"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.143"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/6/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBlTxEAoByOUIEAKMkB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41995.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/sync_files_on_disk", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 57350}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm5maE90ek0wblMtTm5IX1A5aEdXejZq.Uoz7SAzRmB8nzOe3q0hSjTdqT6GBtNe1MablETUI1D0", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.41995.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/sync_files_on_disk", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 57350}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm5maE90ek0wblMtTm5IX1A5aEdXejZq.Uoz7SAzRmB8nzOe3q0hSjTdqT6GBtNe1MablETUI1D0", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm5maE90ek0wblMtTm5IX1A5aEdXejZq.Uoz7SAzRmB8nzOe3q0hSjTdqT6GBtNe1MablETUI1D0" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42013.0>, params: %{}, path_info: ["sources", "6", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Teleme (truncated) 01:54:04.500 [info] GET /sources/16/edit 01:54:04.500 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "16"} Pipelines: [:browser] 01:54:04.503 [debug] QUERY OK source="sources" db=1.5ms queue=1.6ms idle=608.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [16] 01:54:04.506 [debug] QUERY OK source="media_profiles" db=0.6ms queue=1.6ms idle=611.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 01:54:04.507 [debug] QUERY OK source="settings" db=0.7ms idle=314.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:04.508 [debug] QUERY OK source="settings" db=0.3ms queue=0.3ms idle=314.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:04.509 [debug] QUERY OK source="settings" db=0.6ms idle=173.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:04.517 [info] Sent 200 in 17ms 01:54:07.034 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vSSkDos2hzo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/43/2c/432ccbdd20f266522e6cb2b1c6671ea065ae5a3609f024d5743407c813c9cf5e.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:54:07.073 [debug] Running yt-dlp command for action: download_thumbnail 01:54:07.074 [debug] QUERY OK source="settings" db=0.2ms idle=1093.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:07.075 [debug] QUERY OK source="settings" db=0.1ms idle=1094.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:07.075 [debug] QUERY OK source="settings" db=0.1ms idle=1094.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:07.075 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vSSkDos2hzo --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9068/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ba/2b/ba2b20cc2a2ebc3b226a74eb5070e67e6caff4dbc53625cafc6a0e8a9be67026.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:54:12.362 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vSSkDos2hzo --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9068/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ba/2b/ba2b20cc2a2ebc3b226a74eb5070e67e6caff4dbc53625cafc6a0e8a9be67026.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:54:12.363 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1382.7ms begin [] 01:54:12.366 [debug] QUERY OK source="media_items" db=2.8ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [695, ~U[2025-12-12 06:54:07Z], "/downloads/Kurzgesagt/We Need to Rethink Exercise (Updated Version).mp4", "/downloads/Kurzgesagt/We Need to Rethink Exercise (Updated Version).info.json", "/downloads/Kurzgesagt/We Need to Rethink Exercise (Updated Version).nfo", "/downloads/Kurzgesagt/We Need to Rethink Exercise (Updated Version).mp4", "/downloads/Kurzgesagt/We Need to Rethink Exercise (Updated Version)-thumb.jpg", ~U[2025-12-12 06:54:12Z], 9068] 01:54:12.368 [debug] QUERY OK source="media_metadata" db=1.2ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9068/metadata.json.gz", "/config/metadata/media_items/9068/thumbnail.jpg", 9068, ~U[2025-12-12 06:54:12Z], ~U[2025-12-12 06:54:12Z]] 01:54:12.372 [debug] QUERY OK db=4.1ms commit [] 01:54:12.378 [debug] QUERY OK source="media_items" db=4.8ms queue=0.1ms idle=1392.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [228301110, ~U[2025-12-12 06:54:12Z], 9068] 01:54:12.378 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:54:12.380 [info] {"args":{"id":9068},"id":4121,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":72424206,"event":"job:stop","queue_time":104545953211,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:54:12.389 [info] {"args":{"id":9070},"id":4123,"meta":{},"system_time":1765522452389582501,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:54:12.399 [debug] QUERY OK source="media_items" db=9.2ms idle=17.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9070] 01:54:12.399 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:54:12.401 [debug] QUERY OK source="sources" db=1.1ms queue=0.3ms idle=21.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:54:12.403 [debug] QUERY OK source="media_profiles" db=1.2ms idle=21.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:54:12.404 [debug] QUERY OK source="media_items" db=0.9ms idle=14.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9070] 01:54:12.405 [debug] QUERY OK source="media_metadata" db=0.3ms idle=8.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9070] 01:54:12.406 [debug] QUERY OK source="media_profiles" db=0.3ms idle=6.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:54:12.407 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:12.408 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:12.408 [debug] Running yt-dlp command for action: get_downloadable_status 01:54:12.410 [debug] QUERY OK source="settings" db=0.4ms idle=5.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:12.410 [debug] QUERY OK source="settings" db=0.2ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:12.411 [debug] QUERY OK source="settings" db=0.1ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:12.411 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=j-tICpleWLI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/84/48/84483dc623aef0910a4e0dcf8716ac0f4dc36cb57495e69aeef43dec6f0de130.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:54:17.373 [info] {"source":"oban","duration":4669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:18.029 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=j-tICpleWLI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/84/48/84483dc623aef0910a4e0dcf8716ac0f4dc36cb57495e69aeef43dec6f0de130.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:54:18.029 [debug] Running yt-dlp command for action: download 01:54:18.030 [debug] QUERY OK source="settings" db=0.2ms idle=656.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:18.030 [debug] QUERY OK source="settings" db=0.1ms idle=601.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:18.030 [debug] QUERY OK source="settings" db=0.1ms idle=49.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:18.031 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=j-tICpleWLI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2a/02/2a024dd5f8527d3706a735656ac7b5fdd0e039edeb9d390b883dc8e4e80f91e0.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:54:20.842 [info] GET /sources/24 01:54:20.842 [info] GET /sources/25 01:54:20.842 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "24"} Pipelines: [:browser] 01:54:20.842 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "25"} Pipelines: [:browser] 01:54:20.843 [debug] QUERY OK source="sources" db=0.6ms idle=861.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [24] 01:54:20.843 [debug] QUERY OK source="sources" db=0.5ms idle=862.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [25] 01:54:20.843 [debug] QUERY OK source="media_profiles" db=0.1ms idle=862.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:54:20.844 [debug] QUERY OK source="media_profiles" db=0.5ms idle=862.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:54:20.850 [debug] QUERY OK source="tasks" db=6.1ms idle=395.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [25, "executing", "available", "scheduled", "retryable"] 01:54:20.850 [debug] QUERY OK source="tasks" db=6.3ms idle=0.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [24, "executing", "available", "scheduled", "retryable"] 01:54:20.851 [debug] QUERY OK source="oban_jobs" db=0.9ms queue=0.1ms idle=7.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [16629] 01:54:20.852 [debug] QUERY OK source="oban_jobs" db=0.7ms queue=0.4ms idle=7.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [16625] 01:54:20.852 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=7.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:20.853 [debug] QUERY OK source="settings" db=0.9ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:20.853 [debug] QUERY OK source="settings" db=0.3ms queue=0.3ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:20.854 [debug] QUERY OK source="settings" db=0.6ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:20.854 [debug] QUERY OK source="settings" db=0.2ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:20.854 [debug] QUERY OK source="settings" db=0.2ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:20.855 [debug] QUERY OK source="sources" db=0.3ms idle=2.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [25] 01:54:20.856 [debug] QUERY OK source="sources" db=0.5ms idle=1.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [24] 01:54:20.895 [debug] QUERY OK source="media_items" db=38.6ms idle=2.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [24] 01:54:20.899 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=40.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [24, 10, 0] 01:54:20.900 [debug] QUERY OK source="sources" db=0.2ms idle=44.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [24] 01:54:20.903 [debug] QUERY OK source="media_items" db=2.8ms idle=44.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [24] 01:54:20.903 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [24, 10, 0] 01:54:20.904 [debug] QUERY OK source="sources" db=0.1ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [24] 01:54:20.906 [debug] QUERY OK source="media_items" db=1.7ms idle=3.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [24] 01:54:20.906 [debug] QUERY OK source="media_items" db=50.6ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [25] 01:54:20.910 [debug] QUERY OK source="media_items" db=4.0ms queue=0.1ms idle=2.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [24, 10, 0] 01:54:20.912 [info] Sent 200 in 70ms 01:54:20.913 [debug] QUERY OK source="media_items" db=6.8ms queue=0.1ms idle=3.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [25, 10, 0] 01:54:20.915 [debug] QUERY OK source="sources" db=0.2ms idle=10.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [25] 01:54:20.918 [debug] QUERY OK source="media_items" db=3.2ms idle=9.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [25] 01:54:20.918 [debug] QUERY OK source="media_items" db=0.3ms idle=11.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [25, 10, 0] 01:54:20.919 [debug] QUERY OK source="sources" db=0.1ms idle=8.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [25] 01:54:20.920 [debug] QUERY OK source="media_items" db=0.6ms idle=5.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [25] 01:54:20.926 [debug] QUERY OK source="media_items" db=6.1ms idle=5.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [25, 10, 0] 01:54:20.928 [info] Sent 200 in 86ms 01:54:21.128 [info] GET /sources/6 01:54:21.128 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "6"} Pipelines: [:browser] 01:54:21.131 [debug] QUERY OK source="sources" db=2.0ms idle=211.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 01:54:21.132 [debug] QUERY OK source="media_profiles" db=0.4ms idle=212.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:54:21.137 [debug] QUERY OK source="tasks" db=4.5ms idle=213.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [6, "executing", "available", "scheduled", "retryable"] 01:54:21.137 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=217.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [15990] 01:54:21.139 [debug] QUERY OK source="settings" db=1.8ms idle=211.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:21.140 [debug] QUERY OK source="settings" db=0.3ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:21.143 [debug] QUERY OK source="settings" db=0.2ms queue=1.9ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:21.144 [debug] QUERY OK source="sources" db=0.3ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 01:54:21.258 [debug] QUERY OK source="media_items" db=113.4ms idle=7.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [6] 01:54:21.283 [debug] QUERY OK source="media_items" db=24.8ms idle=118.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 01:54:21.285 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=144.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 01:54:21.291 [debug] QUERY OK source="media_items" db=5.4ms idle=142.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 01:54:21.309 [debug] QUERY OK source="media_items" db=17.5ms idle=147.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 01:54:21.311 [debug] QUERY OK source="sources" db=0.3ms idle=52.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 01:54:21.313 [debug] QUERY OK source="media_items" db=1.1ms idle=28.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [6] 01:54:21.319 [debug] QUERY OK source="media_items" db=6.5ms idle=27.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 01:54:21.322 [info] Sent 200 in 193ms 01:54:21.431 [info] GET /sources/new 01:54:21.431 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 01:54:21.433 [debug] QUERY OK source="media_profiles" db=0.5ms idle=141.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 01:54:21.433 [debug] QUERY OK source="settings" db=0.2ms idle=124.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:21.434 [debug] QUERY OK source="settings" db=0.4ms idle=122.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:21.435 [debug] QUERY OK source="settings" db=1.0ms idle=121.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:21.436 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=115.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:21.436 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:21.439 [info] Sent 200 in 7ms 01:54:21.733 [info] GET /sources/1/media/2/edit 01:54:21.733 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2", "source_id" => "1"} Pipelines: [:browser] 01:54:21.734 [debug] QUERY OK source="media_items" db=0.7ms idle=299.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2] 01:54:21.736 [debug] QUERY OK source="settings" db=0.6ms queue=0.3ms idle=299.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:21.736 [debug] QUERY OK source="settings" db=0.2ms idle=300.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:21.737 [debug] QUERY OK source="settings" db=0.3ms idle=300.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:21.738 [info] Sent 200 in 5ms 01:54:22.032 [info] GET /sources/5/force_download_pending 01:54:22.033 [debug] QUERY OK source="settings" db=0.5ms idle=575.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:22.034 [debug] QUERY OK source="settings" db=0.6ms idle=298.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:22.034 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:54:22.034 [error] #PID<0.42030.0> running PinchflatWeb.Endpoint (connection #PID<0.42023.0>, stream id 5) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/5/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42023.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/force_download_pending", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44020}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYXzV6SmxGUjNqOTdVcWxMRFdtXzBiRnU3.ERBLYmh4XKEMh_MpKyPkk6-gDUDDldvbTC9yoUJkQYY", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYXzV6SmxGUjNqOTdVcWxMRFdtXzBiRnU3.ERBLYmh4XKEMh_MpKyPkk6-gDUDDldvbTC9yoUJkQYY" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42030.0>, params: %{}, path_info: ["sources", "5", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYXzV6SmxGUjNqOTdVcWxMRFdtXzBiRnU3.ERBLYmh4XKEMh_MpKyPkk6-gDUDDldvbTC9yoUJkQYY" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYXzV6SmxGUjNqOTdVcWxMRFdtXzBiRnU3.ERBLYmh4XKEMh_MpKyPkk6-gDUDDldvbTC9yoUJkQYY"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.143"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/5/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBlUzhko7E5fKIAKM4B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42023.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/force_download_pending", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44020}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYXzV6SmxGUjNqOTdVcWxMRFdtXzBiRnU3.ERBLYmh4XKEMh_MpKyPkk6-gDUDDldvbTC9yoUJkQYY", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42023.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/force_download_pending", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44020}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYXzV6SmxGUjNqOTdVcWxMRFdtXzBiRnU3.ERBLYmh4XKEMh_MpKyPkk6-gDUDDldvbTC9yoUJkQYY", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYXzV6SmxGUjNqOTdVcWxMRFdtXzBiRnU3.ERBLYmh4XKEMh_MpKyPkk6-gDUDDldvbTC9yoUJkQYY" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42030.0>, params: %{}, path_info: ["sources", "5", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Funct (truncated) 01:54:22.334 [info] GET /sources/6/force_download_pending 01:54:22.335 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=598.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:22.335 [debug] QUERY OK source="settings" db=0.1ms idle=598.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:22.335 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:54:22.337 [error] #PID<0.42031.0> running PinchflatWeb.Endpoint (connection #PID<0.42023.0>, stream id 6) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/6/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42023.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_download_pending", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44020}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYXzV6SmxGUjNqOTdVcWxMRFdtXzBiRnU3.ERBLYmh4XKEMh_MpKyPkk6-gDUDDldvbTC9yoUJkQYY", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYXzV6SmxGUjNqOTdVcWxMRFdtXzBiRnU3.ERBLYmh4XKEMh_MpKyPkk6-gDUDDldvbTC9yoUJkQYY" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42031.0>, params: %{}, path_info: ["sources", "6", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYXzV6SmxGUjNqOTdVcWxMRFdtXzBiRnU3.ERBLYmh4XKEMh_MpKyPkk6-gDUDDldvbTC9yoUJkQYY" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYXzV6SmxGUjNqOTdVcWxMRFdtXzBiRnU3.ERBLYmh4XKEMh_MpKyPkk6-gDUDDldvbTC9yoUJkQYY"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.143"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/6/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBlU0pn-p7PNLYAKM5B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42023.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_download_pending", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44020}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYXzV6SmxGUjNqOTdVcWxMRFdtXzBiRnU3.ERBLYmh4XKEMh_MpKyPkk6-gDUDDldvbTC9yoUJkQYY", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42023.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_download_pending", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44020}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYXzV6SmxGUjNqOTdVcWxMRFdtXzBiRnU3.ERBLYmh4XKEMh_MpKyPkk6-gDUDDldvbTC9yoUJkQYY", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYXzV6SmxGUjNqOTdVcWxMRFdtXzBiRnU3.ERBLYmh4XKEMh_MpKyPkk6-gDUDDldvbTC9yoUJkQYY" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42031.0>, params: %{}, path_info: ["sources", "6", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Funct (truncated) 01:54:22.637 [info] GET /sources/16 01:54:22.637 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "16"} Pipelines: [:browser] 01:54:22.638 [debug] QUERY OK source="sources" db=0.4ms idle=604.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [16] 01:54:22.638 [debug] QUERY OK source="media_profiles" db=0.1ms idle=604.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:54:22.640 [debug] QUERY OK source="tasks" db=1.8ms idle=303.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [16, "executing", "available", "scheduled", "retryable"] 01:54:22.641 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=305.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [16616] 01:54:22.641 [debug] QUERY OK source="settings" db=0.1ms idle=179.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:22.641 [debug] QUERY OK source="settings" db=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:22.642 [debug] QUERY OK source="settings" db=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:22.643 [debug] QUERY OK source="sources" db=0.2ms idle=2.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [16] 01:54:22.827 [debug] QUERY OK source="media_items" db=184.0ms idle=2.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [16] 01:54:22.852 [debug] QUERY OK source="media_items" db=24.6ms idle=186.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [16, 10, 0] 01:54:22.854 [debug] QUERY OK source="sources" db=0.2ms idle=212.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [16] 01:54:22.860 [debug] QUERY OK source="media_items" db=5.6ms idle=211.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [16] 01:54:22.877 [debug] QUERY OK source="media_items" db=16.5ms queue=0.1ms idle=216.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [16, 10, 0] 01:54:22.879 [debug] QUERY OK source="sources" db=1.1ms idle=50.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [16] 01:54:22.883 [debug] QUERY OK source="media_items" db=3.8ms idle=26.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [16] 01:54:22.900 [debug] QUERY OK source="media_items" db=16.4ms idle=29.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [16, 10, 0] 01:54:22.902 [info] Sent 200 in 265ms 01:54:27.644 [info] GET /sources/17 01:54:27.645 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "17"} Pipelines: [:browser] 01:54:27.645 [debug] QUERY OK source="sources" db=0.3ms idle=1664.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [17] 01:54:27.646 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1665.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:54:27.651 [debug] QUERY OK source="tasks" db=5.0ms idle=1665.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [17, "executing", "available", "scheduled", "retryable"] 01:54:27.653 [debug] QUERY OK source="oban_jobs" db=0.7ms idle=1166.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [16617] 01:54:27.655 [debug] QUERY OK source="settings" db=0.8ms queue=0.8ms idle=162.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:27.656 [debug] QUERY OK source="settings" db=0.8ms idle=9.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:27.657 [debug] QUERY OK source="settings" db=1.1ms idle=10.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:27.661 [debug] QUERY OK source="sources" db=1.0ms idle=8.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [17] 01:54:27.731 [debug] QUERY OK source="media_items" db=69.6ms idle=8.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [17] 01:54:27.740 [debug] QUERY OK source="media_items" db=9.2ms queue=0.1ms idle=75.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [17, 10, 0] 01:54:27.742 [debug] QUERY OK source="sources" db=0.2ms idle=85.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [17] 01:54:27.743 [debug] QUERY OK source="media_items" db=1.3ms idle=84.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [17] 01:54:27.754 [debug] QUERY OK source="media_items" db=10.3ms idle=82.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [17, 10, 0] 01:54:27.755 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=23.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [17] 01:54:27.756 [debug] QUERY OK source="media_items" db=1.3ms idle=14.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [17] 01:54:27.765 [debug] QUERY OK source="media_items" db=8.8ms idle=14.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [17, 10, 0] 01:54:27.767 [info] Sent 200 in 122ms 01:54:32.634 [info] GET /sources/15 01:54:32.634 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "15"} Pipelines: [:browser] 01:54:32.635 [debug] QUERY OK source="sources" db=0.2ms idle=1653.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [15] 01:54:32.635 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1654.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:54:32.637 [debug] QUERY OK source="tasks" db=2.1ms idle=1654.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [15, "executing", "available", "scheduled", "retryable"] 01:54:32.638 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1117.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [16615] 01:54:32.638 [debug] QUERY OK source="settings" db=0.1ms idle=110.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:32.638 [debug] QUERY OK source="settings" db=0.0ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:32.638 [debug] QUERY OK source="settings" db=0.0ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:32.640 [debug] QUERY OK source="sources" db=0.2ms idle=2.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [15] 01:54:32.654 [debug] QUERY OK source="media_items" db=13.7ms idle=2.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [15] 01:54:32.658 [debug] QUERY OK source="media_items" db=4.0ms queue=0.2ms idle=16.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [15, 10, 0] 01:54:32.660 [debug] QUERY OK source="sources" db=0.1ms idle=21.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [15] 01:54:32.662 [debug] QUERY OK source="media_items" db=2.5ms idle=21.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [15] 01:54:32.665 [debug] QUERY OK source="media_items" db=2.2ms idle=22.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [15, 10, 0] 01:54:32.665 [debug] QUERY OK source="sources" db=0.1ms idle=11.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [15] 01:54:32.666 [debug] QUERY OK source="media_items" db=0.4ms idle=7.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [15] 01:54:32.669 [debug] QUERY OK source="media_items" db=2.1ms idle=6.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [15, 10, 0] 01:54:32.679 [info] Sent 200 in 44ms 01:54:33.087 [info] GET /sources/new 01:54:33.091 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "5"} Pipelines: [:browser] 01:54:33.098 [debug] QUERY OK source="sources" db=3.4ms queue=0.1ms idle=429.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:54:33.103 [debug] QUERY OK source="media_profiles" db=2.8ms queue=0.9ms idle=434.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 01:54:33.105 [debug] QUERY OK source="settings" db=1.2ms queue=0.3ms idle=437.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:33.107 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=439.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:33.107 [debug] QUERY OK source="settings" db=0.5ms idle=438.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:33.108 [debug] QUERY OK source="settings" db=0.4ms idle=12.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:33.109 [debug] QUERY OK source="settings" db=0.7ms idle=5.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:33.114 [info] Sent 200 in 26ms 01:54:37.638 [info] GET /sources/8 01:54:37.638 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "8"} Pipelines: [:browser] 01:54:37.639 [debug] QUERY OK source="sources" db=0.2ms idle=657.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 01:54:37.639 [debug] QUERY OK source="media_profiles" db=0.2ms idle=657.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:54:37.641 [debug] QUERY OK source="tasks" db=1.4ms idle=658.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [8, "executing", "available", "scheduled", "retryable"] 01:54:37.641 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=660.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [16605] 01:54:37.642 [debug] QUERY OK source="settings" db=0.5ms idle=97.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:37.642 [debug] QUERY OK source="settings" db=0.1ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:37.644 [debug] QUERY OK source="settings" db=0.3ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:37.646 [debug] QUERY OK source="sources" db=0.2ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 01:54:37.655 [debug] QUERY OK source="media_items" db=8.0ms idle=5.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [8] 01:54:37.657 [debug] QUERY OK source="media_items" db=1.7ms idle=13.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [8, 10, 0] 01:54:37.659 [debug] QUERY OK source="sources" db=0.3ms idle=16.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 01:54:37.660 [debug] QUERY OK source="media_items" db=0.8ms idle=15.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [8] 01:54:37.661 [debug] QUERY OK source="media_items" db=0.8ms idle=13.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [8, 10, 0] 01:54:37.662 [debug] QUERY OK source="sources" db=0.1ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 01:54:37.662 [debug] QUERY OK source="media_items" db=0.2ms idle=5.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [8] 01:54:37.663 [debug] QUERY OK source="media_items" db=0.8ms idle=3.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [8, 10, 0] 01:54:37.664 [info] Sent 200 in 26ms 01:54:37.968 [info] GET /sources/1/media/14/edit 01:54:37.969 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "14", "source_id" => "1"} Pipelines: [:browser] 01:54:37.971 [debug] QUERY OK source="media_items" db=1.5ms idle=309.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14] 01:54:37.974 [debug] QUERY OK source="settings" db=0.7ms queue=1.2ms idle=310.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:37.975 [debug] QUERY OK source="settings" db=0.3ms queue=0.4ms idle=312.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:37.977 [debug] QUERY OK source="settings" db=0.7ms idle=313.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:37.979 [info] Sent 200 in 10ms 01:54:42.970 [info] GET /sources/1/media/3/edit 01:54:42.970 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3", "source_id" => "1"} Pipelines: [:browser] 01:54:42.971 [debug] QUERY OK source="media_items" db=0.2ms idle=1989.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3] 01:54:42.971 [debug] QUERY OK source="settings" db=0.1ms idle=1990.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:42.971 [debug] QUERY OK source="settings" db=0.1ms idle=1990.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:42.972 [debug] QUERY OK source="settings" db=0.1ms idle=1397.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:42.973 [info] Sent 200 in 3ms 01:54:47.375 [info] {"source":"oban","duration":1609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:47.972 [info] GET /sources/1/media/16/edit 01:54:47.972 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "16", "source_id" => "1"} Pipelines: [:browser] 01:54:47.973 [debug] QUERY OK source="media_items" db=0.7ms idle=1991.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16] 01:54:47.973 [debug] QUERY OK source="settings" db=0.2ms idle=1992.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:47.974 [debug] QUERY OK source="settings" db=0.3ms idle=1374.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:47.975 [debug] QUERY OK source="settings" db=0.5ms idle=599.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:47.976 [info] Sent 200 in 4ms 01:54:49.373 [info] GET /sources/1/media/8/edit 01:54:49.373 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "8", "source_id" => "1"} Pipelines: [:browser] 01:54:49.375 [debug] QUERY OK source="media_items" db=1.1ms idle=761.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [8] 01:54:49.376 [debug] QUERY OK source="settings" db=0.7ms idle=395.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:49.377 [debug] QUERY OK source="settings" db=0.4ms idle=395.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:49.377 [debug] QUERY OK source="settings" db=0.2ms idle=396.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:49.378 [info] Sent 200 in 4ms 01:54:52.973 [info] GET /sources/1/media/13/edit 01:54:52.973 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "13", "source_id" => "1"} Pipelines: [:browser] 01:54:52.974 [debug] QUERY OK source="media_items" db=0.9ms idle=1992.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13] 01:54:52.980 [debug] QUERY OK source="settings" db=0.8ms queue=4.6ms idle=1994.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:52.981 [debug] QUERY OK source="settings" db=0.5ms queue=0.6ms idle=1999.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:52.987 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=345.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:52.992 [info] Sent 200 in 18ms 01:54:54.185 [info] GET /sources/1/media/5 01:54:54.185 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "5", "source_id" => "1"} Pipelines: [:browser] 01:54:54.189 [debug] QUERY OK source="media_items" db=1.4ms queue=2.1ms idle=1204.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5] 01:54:54.192 [debug] QUERY OK source="sources" db=1.7ms idle=1202.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 01:54:54.195 [debug] QUERY OK source="tasks" db=5.0ms idle=1208.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [5] 01:54:54.198 [debug] QUERY OK source="oban_jobs" db=1.4ms idle=550.8ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [9] 01:54:54.203 [debug] QUERY OK source="settings" db=2.4ms queue=1.6ms idle=217.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:54.205 [debug] QUERY OK source="settings" db=1.7ms queue=0.1ms idle=13.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:54.207 [debug] QUERY OK source="settings" db=1.9ms idle=13.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:54.210 [debug] QUERY OK source="media_profiles" db=1.5ms idle=12.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:54:54.214 [info] Sent 200 in 28ms 01:54:54.705 [info] GET /sources/22/media/35263 01:54:54.705 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "35263", "prevent_download" => "true", "source_id" => "22"} Pipelines: [:browser] 01:54:54.708 [debug] QUERY OK source="media_items" db=2.5ms idle=502.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [35263] 01:54:54.710 [debug] QUERY OK source="tasks" db=1.1ms idle=503.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [35263] 01:54:54.710 [debug] QUERY OK source="sources" db=1.5ms idle=500.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 01:54:54.716 [debug] QUERY OK source="oban_jobs" db=5.2ms idle=501.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [13113] 01:54:54.717 [debug] QUERY OK source="settings" db=0.1ms idle=66.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:54.717 [debug] QUERY OK source="settings" db=0.1ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:54.717 [debug] QUERY OK source="settings" db=0.1ms idle=7.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:54.719 [debug] QUERY OK source="media_profiles" db=1.1ms idle=8.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:54:54.724 [info] Sent 200 in 18ms 01:54:57.981 [info] GET /sources/1 01:54:57.981 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "1"} Pipelines: [:browser] 01:54:57.983 [debug] QUERY OK source="sources" db=1.3ms idle=1998.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 01:54:57.984 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=1001.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:54:57.985 [debug] QUERY OK source="tasks" db=1.0ms idle=318.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 01:54:57.985 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=2.8ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [15291] 01:54:57.986 [debug] QUERY OK source="settings" db=0.4ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:57.987 [debug] QUERY OK source="settings" db=0.2ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:57.988 [debug] QUERY OK source="settings" db=0.6ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:57.989 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 01:54:58.009 [debug] QUERY OK source="media_items" db=19.7ms idle=3.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 01:54:58.013 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=23.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 01:54:58.017 [debug] QUERY OK source="sources" db=2.0ms idle=27.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 01:54:58.021 [debug] QUERY OK source="media_items" db=3.3ms queue=0.8ms idle=29.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 01:54:58.036 [debug] QUERY OK source="media_items" db=14.3ms idle=32.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 01:54:58.039 [debug] QUERY OK source="sources" db=0.5ms idle=29.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 01:54:58.040 [debug] QUERY OK source="media_items" db=0.9ms idle=26.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 01:54:58.045 [debug] QUERY OK source="media_items" db=3.9ms idle=24.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 01:54:58.046 [info] Sent 200 in 64ms 01:54:59.189 [info] GET /sources/1/media/6 01:54:59.189 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6", "source_id" => "1"} Pipelines: [:browser] 01:54:59.190 [debug] QUERY OK source="media_items" db=1.0ms idle=1153.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [6] 01:54:59.192 [debug] QUERY OK source="sources" db=1.2ms idle=1150.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 01:54:59.193 [debug] QUERY OK source="tasks" db=2.1ms idle=1151.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6] 01:54:59.197 [debug] QUERY OK source="oban_jobs" db=1.8ms idle=1150.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [10] 01:54:59.199 [debug] QUERY OK source="settings" db=0.5ms queue=0.7ms idle=527.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:59.199 [debug] QUERY OK source="settings" db=0.4ms idle=8.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:59.201 [debug] QUERY OK source="settings" db=0.4ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:54:59.203 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=9.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:54:59.209 [info] Sent 200 in 20ms 01:55:00.601 [info] {"source":"oban","duration":445,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:55:04.189 [info] GET /sources/1/media/4 01:55:04.189 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4", "source_id" => "1"} Pipelines: [:browser] 01:55:04.191 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=1207.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4] 01:55:04.192 [debug] QUERY OK source="tasks" db=0.4ms idle=1208.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [4] 01:55:04.192 [debug] QUERY OK source="sources" db=0.5ms idle=1208.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 01:55:04.192 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=488.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [8] 01:55:04.193 [debug] QUERY OK source="settings" db=0.3ms idle=210.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:04.194 [debug] QUERY OK source="settings" db=0.7ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:04.195 [debug] QUERY OK source="settings" db=0.7ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:04.196 [debug] QUERY OK source="media_profiles" db=0.4ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:55:04.199 [info] Sent 200 in 9ms 01:55:09.205 [info] GET /sources/1/media/11 01:55:09.205 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "11", "source_id" => "1"} Pipelines: [:browser] 01:55:09.207 [debug] QUERY OK source="media_items" db=1.0ms idle=1223.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11] 01:55:09.210 [debug] QUERY OK source="sources" db=0.7ms idle=1226.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 01:55:09.210 [debug] QUERY OK source="tasks" db=1.4ms idle=1226.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [11] 01:55:09.213 [debug] QUERY OK source="oban_jobs" db=2.1ms idle=1228.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [15] 01:55:09.213 [debug] QUERY OK source="settings" db=0.2ms idle=462.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:09.214 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=6.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:09.215 [debug] QUERY OK source="settings" db=0.5ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:09.215 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:55:09.217 [info] Sent 200 in 11ms 01:55:14.190 [info] GET /sources/1/media/7/edit 01:55:14.190 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "7", "source_id" => "1"} Pipelines: [:browser] 01:55:14.192 [debug] QUERY OK source="media_items" db=1.3ms idle=1207.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [7] 01:55:14.193 [debug] QUERY OK source="settings" db=0.7ms idle=1209.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:14.193 [debug] QUERY OK source="settings" db=0.2ms idle=1210.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:14.194 [debug] QUERY OK source="settings" db=0.5ms idle=1211.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:14.195 [info] Sent 200 in 5ms 01:55:16.184 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=crxIVBxfg9Q --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ea/f8/eaf8b3cde0c056100dd46743a77c4fbeb4a1048e169d4f3ea918cb770d792965.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:55:16.213 [debug] Running yt-dlp command for action: download_thumbnail 01:55:16.217 [debug] QUERY OK source="settings" db=0.2ms idle=424.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:16.217 [debug] QUERY OK source="settings" db=0.2ms idle=233.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:16.217 [debug] QUERY OK source="settings" db=0.2ms idle=234.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:16.218 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=crxIVBxfg9Q --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9069/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/58/8c/588c730a1218b79948c6a8b5dca05048b95ab3499082ecce40dc2748169347c4.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:55:17.382 [info] {"source":"oban","duration":6206,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:19.192 [info] GET /sources/1/media/12 01:55:19.192 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12", "source_id" => "1"} Pipelines: [:browser] 01:55:19.193 [debug] QUERY OK source="media_items" db=0.3ms idle=1210.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12] 01:55:19.194 [debug] QUERY OK source="tasks" db=0.2ms idle=1210.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [12] 01:55:19.194 [debug] QUERY OK source="sources" db=0.4ms idle=1210.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 01:55:19.194 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=382.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [16] 01:55:19.195 [debug] QUERY OK source="settings" db=0.1ms idle=212.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:19.196 [debug] QUERY OK source="settings" db=1.4ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:19.197 [debug] QUERY OK source="settings" db=0.2ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:19.198 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:55:19.201 [info] Sent 200 in 8ms 01:55:23.445 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=j-tICpleWLI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2a/02/2a024dd5f8527d3706a735656ac7b5fdd0e039edeb9d390b883dc8e4e80f91e0.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:55:23.459 [debug] Running yt-dlp command for action: download_thumbnail 01:55:23.463 [debug] QUERY OK source="settings" db=0.2ms idle=626.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:23.463 [debug] QUERY OK source="settings" db=0.3ms idle=476.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:23.464 [debug] QUERY OK source="settings" db=0.1ms idle=477.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:23.464 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=j-tICpleWLI --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9070/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/9f/e3/9fe32daec54829a81b7aea7e8a52236b63763582d6d4f353148bb25b1f422a61.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:55:24.193 [info] GET /sources/1/media/10 01:55:24.193 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "10", "source_id" => "1"} Pipelines: [:browser] 01:55:24.196 [debug] QUERY OK source="media_items" db=0.3ms queue=0.3ms idle=1208.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [10] 01:55:24.197 [debug] QUERY OK source="tasks" db=0.8ms idle=733.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [10] 01:55:24.197 [debug] QUERY OK source="sources" db=0.9ms idle=732.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 01:55:24.198 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=733.8ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [14] 01:55:24.198 [debug] QUERY OK source="settings" db=0.1ms idle=353.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:24.198 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:24.199 [debug] QUERY OK source="settings" db=0.2ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:24.200 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:55:24.201 [info] Sent 200 in 8ms 01:55:24.262 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=crxIVBxfg9Q --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9069/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/58/8c/588c730a1218b79948c6a8b5dca05048b95ab3499082ecce40dc2748169347c4.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:55:24.263 [debug] QUERY OK db=0.2ms idle=65.2ms begin [] 01:55:24.267 [debug] QUERY OK source="media_items" db=3.9ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-12-12 06:55:16Z], "/downloads/Epic History/Belisarius: War with the Sassanids (5⧸6).mp4", "/downloads/Epic History/Belisarius: War with the Sassanids (5⧸6).info.json", "/downloads/Epic History/Belisarius: War with the Sassanids (5⧸6).nfo", "/downloads/Epic History/Belisarius: War with the Sassanids (5⧸6).mp4", "/downloads/Epic History/Belisarius: War with the Sassanids (5⧸6)-thumb.jpg", ~U[2025-12-12 06:55:24Z], 9069] 01:55:24.269 [debug] QUERY OK source="media_metadata" db=0.9ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9069/metadata.json.gz", "/config/metadata/media_items/9069/thumbnail.jpg", 9069, ~U[2025-12-12 06:55:24Z], ~U[2025-12-12 06:55:24Z]] 01:55:24.270 [debug] QUERY OK db=1.0ms commit [] 01:55:24.289 [debug] QUERY OK source="media_items" db=19.2ms idle=71.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [359287289, ~U[2025-12-12 06:55:24Z], 9069] 01:55:24.290 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:55:24.292 [info] {"args":{"id":9069},"id":4122,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":97759252,"event":"job:stop","queue_time":104592525590,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:55:24.304 [info] {"args":{"id":9071},"id":4124,"meta":{},"system_time":1765522524303795737,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:55:24.307 [debug] QUERY OK source="media_items" db=1.8ms idle=104.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9071] 01:55:24.307 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:55:24.309 [debug] QUERY OK source="sources" db=1.5ms idle=37.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 01:55:24.309 [debug] QUERY OK source="media_profiles" db=0.3ms idle=19.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:55:24.312 [debug] QUERY OK source="media_items" db=1.7ms idle=18.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9071] 01:55:24.316 [debug] QUERY OK source="media_metadata" db=0.4ms idle=12.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9071] 01:55:24.317 [debug] QUERY OK source="media_profiles" db=0.5ms idle=9.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:55:24.318 [debug] QUERY OK source="settings" db=0.7ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:24.318 [debug] QUERY OK source="settings" db=0.2ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:24.319 [debug] Running yt-dlp command for action: get_downloadable_status 01:55:24.320 [debug] QUERY OK source="settings" db=0.1ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:24.320 [debug] QUERY OK source="settings" db=0.1ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:24.321 [debug] QUERY OK source="settings" db=0.3ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:24.321 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=dBxxi5XAm3U --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/11/fd/11fdb2702a345a665398989328fa70187fbbfae3380440ac4c2cb0c7a55dce8d.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:55:29.196 [info] GET /sources/new 01:55:29.196 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "6"} Pipelines: [:browser] 01:55:29.198 [debug] QUERY OK source="sources" db=1.7ms idle=1209.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 01:55:29.199 [debug] QUERY OK source="media_profiles" db=0.6ms idle=1210.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 01:55:29.200 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=1212.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:29.202 [debug] QUERY OK source="settings" db=0.2ms queue=1.3ms idle=1213.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:29.204 [debug] QUERY OK source="settings" db=0.6ms queue=0.4ms idle=293.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:29.205 [debug] QUERY OK source="settings" db=0.6ms idle=6.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:29.207 [debug] QUERY OK source="settings" db=1.0ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:29.209 [info] Sent 200 in 13ms 01:55:30.376 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=dBxxi5XAm3U --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/11/fd/11fdb2702a345a665398989328fa70187fbbfae3380440ac4c2cb0c7a55dce8d.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:55:30.377 [debug] Running yt-dlp command for action: download 01:55:30.382 [debug] QUERY OK source="settings" db=4.7ms queue=0.1ms idle=1174.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:30.383 [debug] QUERY OK source="settings" db=0.9ms idle=1178.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:30.384 [debug] QUERY OK source="settings" db=0.5ms idle=1177.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:30.386 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=dBxxi5XAm3U --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f2/39/f239e88abf0a706c3afeee186192a3c913d084959290cfb7d50e8f70e9c10578.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:55:30.558 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=j-tICpleWLI --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9070/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/9f/e3/9fe32daec54829a81b7aea7e8a52236b63763582d6d4f353148bb25b1f422a61.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:55:30.560 [debug] QUERY OK db=0.2ms queue=0.4ms idle=1352.2ms begin [] 01:55:30.564 [debug] QUERY OK source="media_items" db=3.0ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [794, ~U[2025-12-12 06:55:23Z], "/downloads/Epic History/Days That Shook The World: Russia's Two Revolutions of 1917.mp4", "/downloads/Epic History/Days That Shook The World: Russia's Two Revolutions of 1917.info.json", "/downloads/Epic History/Days That Shook The World: Russia's Two Revolutions of 1917.nfo", "/downloads/Epic History/Days That Shook The World: Russia's Two Revolutions of 1917.mp4", "/downloads/Epic History/Days That Shook The World: Russia's Two Revolutions of 1917-thumb.jpg", ~U[2025-12-12 06:55:30Z], 9070] 01:55:30.565 [debug] QUERY OK source="media_metadata" db=0.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9070/metadata.json.gz", "/config/metadata/media_items/9070/thumbnail.jpg", 9070, ~U[2025-12-12 06:55:30Z], ~U[2025-12-12 06:55:30Z]] 01:55:30.566 [debug] QUERY OK db=0.9ms commit [] 01:55:30.568 [debug] QUERY OK source="media_items" db=1.8ms idle=648.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [252213828, ~U[2025-12-12 06:55:30Z], 9070] 01:55:30.568 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:55:30.570 [info] {"args":{"id":9070},"id":4123,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":78179015,"event":"job:stop","queue_time":104616385575,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:55:30.577 [info] {"args":{"id":9072},"id":4125,"meta":{},"system_time":1765522530577562176,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:55:30.579 [debug] QUERY OK source="media_items" db=1.3ms idle=193.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9072] 01:55:30.579 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:55:30.580 [debug] QUERY OK source="sources" db=0.3ms idle=13.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 01:55:30.580 [debug] QUERY OK source="media_profiles" db=0.4ms idle=12.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:55:30.581 [debug] QUERY OK source="media_items" db=0.7ms idle=10.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9072] 01:55:30.589 [debug] QUERY OK source="media_metadata" db=0.4ms idle=11.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9072] 01:55:30.590 [debug] QUERY OK source="media_profiles" db=0.3ms idle=10.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:55:30.591 [debug] QUERY OK source="settings" db=0.2ms idle=10.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:30.591 [debug] QUERY OK source="settings" db=0.2ms idle=10.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:30.592 [debug] Running yt-dlp command for action: get_downloadable_status 01:55:30.600 [debug] QUERY OK source="settings" db=1.1ms idle=17.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:30.601 [debug] QUERY OK source="settings" db=0.8ms idle=11.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:30.602 [debug] QUERY OK source="settings" db=0.4ms idle=11.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:30.602 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cRZOUcpiOxY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f2/0e/f20e641480a6d0afa81440877fd68661d52fb58151539465886c381d5d66eae8.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:55:34.583 [info] GET /sources/5/media/4603 01:55:34.583 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4603", "source_id" => "5"} Pipelines: [:browser] 01:55:34.583 [debug] QUERY OK source="media_items" db=0.3ms idle=640.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4603] 01:55:34.584 [debug] QUERY OK source="tasks" db=0.2ms idle=593.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [4603] 01:55:34.584 [debug] QUERY OK source="sources" db=0.3ms idle=593.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:55:34.584 [debug] QUERY OK source="settings" db=0.1ms idle=594.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:34.585 [debug] QUERY OK source="settings" db=0.0ms idle=594.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:34.585 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:34.586 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:55:34.586 [info] Sent 200 in 3ms 01:55:35.509 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cRZOUcpiOxY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f2/0e/f20e641480a6d0afa81440877fd68661d52fb58151539465886c381d5d66eae8.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:55:35.512 [debug] Running yt-dlp command for action: download 01:55:35.513 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=927.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:35.513 [debug] QUERY OK source="settings" db=0.1ms idle=928.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:35.513 [debug] QUERY OK source="settings" db=0.1ms idle=928.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:35.514 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cRZOUcpiOxY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/03/8c/038ce35152d69142b2ca239b44a322a751d7a226e4684d36f1430ef85c27c8fd.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:55:39.475 [info] GET /sources/5/media/3790/edit 01:55:39.475 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3790", "source_id" => "5"} Pipelines: [:browser] 01:55:39.481 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=1486.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3790] 01:55:39.482 [debug] QUERY OK source="settings" db=1.3ms idle=504.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:39.483 [debug] QUERY OK source="settings" db=0.1ms idle=492.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:39.483 [debug] QUERY OK source="settings" db=0.4ms idle=492.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:39.484 [info] Sent 200 in 9ms 01:55:44.476 [info] GET /sources/5/media/4606/edit 01:55:44.476 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4606", "source_id" => "5"} Pipelines: [:browser] 01:55:44.477 [debug] QUERY OK source="media_items" db=0.6ms idle=1485.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4606] 01:55:44.477 [debug] QUERY OK source="settings" db=0.1ms idle=1486.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:44.478 [debug] QUERY OK source="settings" db=0.8ms idle=1486.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:44.481 [debug] QUERY OK source="settings" db=1.3ms idle=1485.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:44.485 [info] Sent 200 in 9ms 01:55:47.391 [info] {"source":"oban","duration":7618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:48.210 [info] GET /sources/22/media/35257 01:55:48.210 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "35257", "prevent_download" => "true", "source_id" => "22"} Pipelines: [:browser] 01:55:48.211 [debug] QUERY OK source="media_items" db=0.7ms idle=819.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [35257] 01:55:48.213 [debug] QUERY OK source="sources" db=0.4ms idle=220.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 01:55:48.213 [debug] QUERY OK source="tasks" db=1.1ms idle=220.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [35257] 01:55:48.214 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=222.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [13107] 01:55:48.215 [debug] QUERY OK source="settings" db=0.2ms idle=192.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:48.216 [debug] QUERY OK source="settings" db=0.0ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:48.216 [debug] QUERY OK source="settings" db=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:48.217 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:55:48.221 [info] Sent 200 in 10ms 01:55:49.480 [info] GET /sources/6/media/4597/edit 01:55:49.480 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4597", "source_id" => "6"} Pipelines: [:browser] 01:55:49.480 [debug] QUERY OK source="media_items" db=0.2ms idle=1264.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4597] 01:55:49.481 [debug] QUERY OK source="settings" db=0.1ms idle=1264.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:49.481 [debug] QUERY OK source="settings" db=0.0ms idle=1264.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:49.481 [debug] QUERY OK source="settings" db=0.0ms idle=1264.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:49.482 [info] Sent 200 in 2ms 01:55:54.477 [info] GET /sources/5/media/4598/edit 01:55:54.477 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4598", "source_id" => "5"} Pipelines: [:browser] 01:55:54.478 [debug] QUERY OK source="media_items" db=0.4ms idle=1486.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4598] 01:55:54.478 [debug] QUERY OK source="settings" db=0.1ms idle=1486.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:54.478 [debug] QUERY OK source="settings" db=0.0ms idle=1487.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:54.479 [debug] QUERY OK source="settings" db=0.1ms idle=1443.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:54.480 [info] Sent 200 in 2ms 01:55:59.490 [info] GET /sources/1/force_redownload 01:55:59.490 [debug] QUERY OK source="settings" db=0.1ms idle=1498.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:59.490 [debug] QUERY OK source="settings" db=0.1ms idle=1499.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:59.490 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:55:59.491 [error] #PID<0.42112.0> running PinchflatWeb.Endpoint (connection #PID<0.42111.0>, stream id 1) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/1/force_redownload ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42111.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 47882}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGJvODBOQmJYdGdFQWNYMVFpNm9ETXlf.d3Gv2qEEwmrjQXogGV4i9JG2MhqYMeVYtInTZeoG_0E", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGJvODBOQmJYdGdFQWNYMVFpNm9ETXlf.d3Gv2qEEwmrjQXogGV4i9JG2MhqYMeVYtInTZeoG_0E" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42112.0>, params: %{}, path_info: ["sources", "1", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGJvODBOQmJYdGdFQWNYMVFpNm9ETXlf.d3Gv2qEEwmrjQXogGV4i9JG2MhqYMeVYtInTZeoG_0E" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGJvODBOQmJYdGdFQWNYMVFpNm9ETXlf.d3Gv2qEEwmrjQXogGV4i9JG2MhqYMeVYtInTZeoG_0E"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.143"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/1/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBlaelYzdcNetIAKNkB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42111.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 47882}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGJvODBOQmJYdGdFQWNYMVFpNm9ETXlf.d3Gv2qEEwmrjQXogGV4i9JG2MhqYMeVYtInTZeoG_0E", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42111.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 47882}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGJvODBOQmJYdGdFQWNYMVFpNm9ETXlf.d3Gv2qEEwmrjQXogGV4i9JG2MhqYMeVYtInTZeoG_0E", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGJvODBOQmJYdGdFQWNYMVFpNm9ETXlf.d3Gv2qEEwmrjQXogGV4i9JG2MhqYMeVYtInTZeoG_0E" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42112.0>, params: %{}, path_info: ["sources", "1", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 01:56:00.602 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:56:02.226 [info] GET /sources/6/media/2870 01:56:02.226 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2870", "source_id" => "6"} Pipelines: [:browser] 01:56:02.227 [debug] QUERY OK source="media_items" db=0.4ms idle=1171.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2870] 01:56:02.227 [debug] QUERY OK source="sources" db=0.4ms idle=235.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 01:56:02.227 [debug] QUERY OK source="tasks" db=0.5ms idle=235.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2870] 01:56:02.228 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=236.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [1616, 15770] 01:56:02.228 [debug] QUERY OK source="settings" db=0.0ms idle=171.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:02.229 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:02.229 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:02.230 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:56:02.231 [info] Sent 200 in 5ms 01:56:07.002 [info] GET /sources/5/media/4596/edit 01:56:07.002 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4596", "source_id" => "5"} Pipelines: [:browser] 01:56:07.003 [debug] QUERY OK source="media_items" db=0.2ms idle=1011.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4596] 01:56:07.003 [debug] QUERY OK source="settings" db=0.1ms idle=1011.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:07.003 [debug] QUERY OK source="settings" db=0.0ms idle=1012.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:07.004 [debug] QUERY OK source="settings" db=0.1ms idle=1012.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:07.005 [info] Sent 200 in 2ms 01:56:12.001 [info] GET /sources/6/media/2891 01:56:12.001 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2891", "source_id" => "6"} Pipelines: [:browser] 01:56:12.002 [debug] QUERY OK source="media_items" db=0.3ms idle=1010.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2891] 01:56:12.002 [debug] QUERY OK source="tasks" db=0.2ms idle=1010.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2891] 01:56:12.003 [debug] QUERY OK source="sources" db=0.5ms idle=1010.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 01:56:12.005 [debug] QUERY OK source="oban_jobs" db=2.1ms idle=1011.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [1637, 15775] 01:56:12.006 [debug] QUERY OK source="settings" db=0.1ms idle=924.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:12.006 [debug] QUERY OK source="settings" db=0.1ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:12.006 [debug] QUERY OK source="settings" db=0.1ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:12.007 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:56:12.008 [info] Sent 200 in 7ms 01:56:16.572 [info] GET /sources/5/media/1857 01:56:16.572 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1857", "source_id" => "5"} Pipelines: [:browser] 01:56:16.573 [debug] QUERY OK source="media_items" db=0.3ms idle=581.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1857] 01:56:16.574 [debug] QUERY OK source="tasks" db=0.3ms idle=582.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1857] 01:56:16.574 [debug] QUERY OK source="sources" db=0.2ms idle=582.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:56:16.574 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=582.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [1026] 01:56:16.574 [debug] QUERY OK source="settings" db=0.0ms idle=476.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:16.574 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:16.575 [debug] QUERY OK source="settings" db=0.1ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:16.575 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:56:16.576 [info] Sent 200 in 4ms 01:56:17.004 [info] GET /sources/6/media/2887 01:56:17.004 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2887", "source_id" => "6"} Pipelines: [:browser] 01:56:17.005 [debug] QUERY OK source="media_items" db=0.5ms idle=430.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2887] 01:56:17.006 [debug] QUERY OK source="tasks" db=0.4ms idle=431.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2887] 01:56:17.006 [debug] QUERY OK source="sources" db=0.3ms idle=430.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 01:56:17.006 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=431.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [1633, 15774] 01:56:17.007 [debug] QUERY OK source="settings" db=0.1ms idle=430.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:17.007 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:17.007 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:17.007 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:56:17.009 [info] Sent 200 in 4ms 01:56:17.395 [info] {"source":"oban","duration":3307,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:21.491 [info] GET /sources/6/media/4595/edit 01:56:21.491 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4595", "source_id" => "6"} Pipelines: [:browser] 01:56:21.492 [debug] QUERY OK source="media_items" db=0.3ms idle=500.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4595] 01:56:21.492 [debug] QUERY OK source="settings" db=0.1ms idle=501.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:21.493 [debug] QUERY OK source="settings" db=0.0ms idle=501.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:21.493 [debug] QUERY OK source="settings" db=0.1ms idle=501.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:21.494 [info] Sent 200 in 2ms 01:56:22.114 [info] GET /sources/6/media/2878 01:56:22.114 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2878", "source_id" => "6"} Pipelines: [:browser] 01:56:22.115 [debug] QUERY OK source="media_items" db=0.2ms idle=622.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2878] 01:56:22.115 [debug] QUERY OK source="tasks" db=0.2ms idle=622.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2878] 01:56:22.115 [debug] QUERY OK source="sources" db=0.2ms idle=622.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 01:56:22.116 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=622.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [1624, 15772] 01:56:22.116 [debug] QUERY OK source="settings" db=0.0ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:22.116 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:22.117 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:22.117 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:56:22.119 [info] Sent 200 in 4ms 01:56:22.155 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=dBxxi5XAm3U --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f2/39/f239e88abf0a706c3afeee186192a3c913d084959290cfb7d50e8f70e9c10578.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] dBxxi5XAm3U: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] dBxxi5XAm3U: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 01:56:22.172 [debug] Running yt-dlp command for action: download_thumbnail 01:56:22.173 [debug] QUERY OK source="settings" db=0.1ms idle=56.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:22.173 [debug] QUERY OK source="settings" db=0.0ms idle=56.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:22.173 [debug] QUERY OK source="settings" db=0.0ms idle=56.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:22.173 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=dBxxi5XAm3U --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9071/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ad/29/ad29f2e8deefa50b9bf067ffc22a2522f4912863eb9a1ae9e513271aa22b2922.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:56:26.394 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=dBxxi5XAm3U --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9071/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ad/29/ad29f2e8deefa50b9bf067ffc22a2522f4912863eb9a1ae9e513271aa22b2922.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:56:26.394 [debug] QUERY OK db=0.0ms idle=403.1ms begin [] 01:56:26.396 [debug] QUERY OK source="media_items" db=1.5ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [587, ~U[2025-12-12 06:56:22Z], "/downloads/Kurzgesagt/We Traveled Back in Time. Now Physicists Are Angry..mp4", "/downloads/Kurzgesagt/We Traveled Back in Time. Now Physicists Are Angry..info.json", "/downloads/Kurzgesagt/We Traveled Back in Time. Now Physicists Are Angry..nfo", "/downloads/Kurzgesagt/We Traveled Back in Time. Now Physicists Are Angry..mp4", "/downloads/Kurzgesagt/We Traveled Back in Time. Now Physicists Are Angry.-thumb.jpg", ~U[2025-12-12 06:56:26Z], 9071] 01:56:26.397 [debug] QUERY OK source="media_metadata" db=0.9ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9071/metadata.json.gz", "/config/metadata/media_items/9071/thumbnail.jpg", 9071, ~U[2025-12-12 06:56:26Z], ~U[2025-12-12 06:56:26Z]] 01:56:26.398 [debug] QUERY OK db=0.6ms commit [] 01:56:26.400 [debug] QUERY OK source="media_items" db=2.1ms idle=406.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [209842442, ~U[2025-12-12 06:56:26Z], 9071] 01:56:26.400 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:56:26.401 [info] {"args":{"id":9071},"id":4124,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":62097171,"event":"job:stop","queue_time":104687297511,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:56:26.408 [info] {"args":{"id":9073},"id":4126,"meta":{},"system_time":1765522586408769137,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:56:26.409 [debug] QUERY OK source="media_items" db=0.4ms idle=286.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9073] 01:56:26.409 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:56:26.410 [debug] QUERY OK source="sources" db=0.3ms idle=11.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:56:26.410 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:56:26.411 [debug] QUERY OK source="media_items" db=0.3ms idle=9.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9073] 01:56:26.417 [debug] QUERY OK source="media_metadata" db=0.1ms idle=8.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9073] 01:56:26.417 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:56:26.418 [debug] QUERY OK source="settings" db=0.1ms idle=7.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:26.418 [debug] QUERY OK source="settings" db=0.1ms idle=7.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:26.418 [debug] Running yt-dlp command for action: get_downloadable_status 01:56:26.419 [debug] QUERY OK source="settings" db=0.1ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:26.419 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:26.419 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:26.420 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fRz_05kWYao --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/14/f2/14f22bdd68b021ce14c99df993268d5f0db6ae0a9bf3969d89e886c8d96012ef.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:56:26.492 [info] GET /sources/1/media/2 01:56:26.492 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 01:56:26.493 [debug] QUERY OK source="media_items" db=0.3ms idle=74.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2] 01:56:26.493 [debug] QUERY OK source="sources" db=0.2ms idle=73.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 01:56:26.493 [debug] QUERY OK source="tasks" db=0.3ms idle=75.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2] 01:56:26.494 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=74.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [6] 01:56:26.494 [debug] QUERY OK source="settings" db=0.0ms idle=74.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:26.494 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:26.495 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:26.495 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:56:26.497 [info] Sent 200 in 4ms 01:56:27.243 [info] GET /sources/5/media/1859 01:56:27.243 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1859", "source_id" => "5"} Pipelines: [:browser] 01:56:27.244 [debug] QUERY OK source="media_items" db=0.4ms idle=749.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1859] 01:56:27.245 [debug] QUERY OK source="tasks" db=0.3ms idle=749.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1859] 01:56:27.245 [debug] QUERY OK source="sources" db=0.2ms idle=749.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:56:27.245 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=749.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [1028, 15993] 01:56:27.246 [debug] QUERY OK source="settings" db=0.1ms idle=111.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:27.246 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:27.246 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:27.247 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:56:27.249 [info] Sent 200 in 5ms 01:56:30.890 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fRz_05kWYao --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/14/f2/14f22bdd68b021ce14c99df993268d5f0db6ae0a9bf3969d89e886c8d96012ef.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:56:30.891 [debug] Running yt-dlp command for action: download 01:56:30.891 [debug] QUERY OK source="settings" db=0.2ms idle=1899.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:30.891 [debug] QUERY OK source="settings" db=0.1ms idle=1899.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:30.892 [debug] QUERY OK source="settings" db=0.2ms idle=1900.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:30.892 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fRz_05kWYao --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/83/de/83ded7c8601f8427e054c83ead0761175e0cc760652e0d8e198629c58aa1bdf2.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:56:31.494 [info] GET /sources/6/media/2895/edit 01:56:31.494 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2895", "source_id" => "6"} Pipelines: [:browser] 01:56:31.495 [debug] QUERY OK source="media_items" db=0.4ms idle=603.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2895] 01:56:31.496 [debug] QUERY OK source="settings" db=0.1ms idle=604.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:31.496 [debug] QUERY OK source="settings" db=0.0ms idle=603.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:31.496 [debug] QUERY OK source="settings" db=0.1ms idle=504.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:31.497 [info] Sent 200 in 2ms 01:56:32.012 [info] GET /sources/5/force_redownload 01:56:32.013 [debug] QUERY OK source="settings" db=0.2ms idle=865.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:32.013 [debug] QUERY OK source="settings" db=0.2ms idle=517.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:32.013 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:56:32.014 [error] #PID<0.42155.0> running PinchflatWeb.Endpoint (connection #PID<0.42111.0>, stream id 12) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/5/force_redownload ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42111.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/force_redownload", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 47882}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYMDNyNzRzSHFNZHZfVV9rM25KY0VobGJZ.hBqs69ocIedd1G0RqmQTeURza7etsRB1BYp-0dcoRzg", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYMDNyNzRzSHFNZHZfVV9rM25KY0VobGJZ.hBqs69ocIedd1G0RqmQTeURza7etsRB1BYp-0dcoRzg" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42155.0>, params: %{}, path_info: ["sources", "5", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYMDNyNzRzSHFNZHZfVV9rM25KY0VobGJZ.hBqs69ocIedd1G0RqmQTeURza7etsRB1BYp-0dcoRzg" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYMDNyNzRzSHFNZHZfVV9rM25KY0VobGJZ.hBqs69ocIedd1G0RqmQTeURza7etsRB1BYp-0dcoRzg"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.143"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/5/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBlcXvWf_Ab2T0AKN2B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42111.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/force_redownload", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 47882}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYMDNyNzRzSHFNZHZfVV9rM25KY0VobGJZ.hBqs69ocIedd1G0RqmQTeURza7etsRB1BYp-0dcoRzg", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42111.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/force_redownload", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 47882}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYMDNyNzRzSHFNZHZfVV9rM25KY0VobGJZ.hBqs69ocIedd1G0RqmQTeURza7etsRB1BYp-0dcoRzg", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYMDNyNzRzSHFNZHZfVV9rM25KY0VobGJZ.hBqs69ocIedd1G0RqmQTeURza7etsRB1BYp-0dcoRzg" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42155.0>, params: %{}, path_info: ["sources", "5", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 01:56:32.307 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cRZOUcpiOxY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/03/8c/038ce35152d69142b2ca239b44a322a751d7a226e4684d36f1430ef85c27c8fd.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:56:32.326 [debug] Running yt-dlp command for action: download_thumbnail 01:56:32.327 [debug] QUERY OK source="settings" db=0.2ms idle=830.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:32.327 [debug] QUERY OK source="settings" db=0.1ms idle=830.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:32.327 [debug] QUERY OK source="settings" db=0.0ms idle=314.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:32.327 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cRZOUcpiOxY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9072/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/d4/d1/d4d11fe454e8673c3bd4172f0cdaed56ff2a05e9d3c700988f1d7683ae3e4c31.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:56:36.272 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cRZOUcpiOxY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9072/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/d4/d1/d4d11fe454e8673c3bd4172f0cdaed56ff2a05e9d3c700988f1d7683ae3e4c31.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:56:36.273 [debug] QUERY OK db=0.0ms idle=281.7ms begin [] 01:56:36.274 [debug] QUERY OK source="media_items" db=1.2ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [595, ~U[2025-12-12 06:56:32Z], "/downloads/Kurzgesagt/Fever Feels Horrible, but is Actually Awesome!.mp4", "/downloads/Kurzgesagt/Fever Feels Horrible, but is Actually Awesome!.info.json", "/downloads/Kurzgesagt/Fever Feels Horrible, but is Actually Awesome!.nfo", "/downloads/Kurzgesagt/Fever Feels Horrible, but is Actually Awesome!.mp4", "/downloads/Kurzgesagt/Fever Feels Horrible, but is Actually Awesome!-thumb.jpg", ~U[2025-12-12 06:56:36Z], 9072] 01:56:36.275 [debug] QUERY OK source="media_metadata" db=0.6ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9072/metadata.json.gz", "/config/metadata/media_items/9072/thumbnail.jpg", 9072, ~U[2025-12-12 06:56:36Z], ~U[2025-12-12 06:56:36Z]] 01:56:36.276 [debug] QUERY OK db=0.7ms commit [] 01:56:36.278 [debug] QUERY OK source="media_items" db=1.7ms idle=284.9ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [211217231, ~U[2025-12-12 06:56:36Z], 9072] 01:56:36.278 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:56:36.278 [info] {"args":{"id":9072},"id":4125,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":65700910,"event":"job:stop","queue_time":104691575636,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:56:36.285 [info] {"args":{"id":9074},"id":4127,"meta":{},"system_time":1765522596285578033,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:56:36.286 [debug] QUERY OK source="media_items" db=0.3ms idle=120.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9074] 01:56:36.286 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:56:36.286 [debug] QUERY OK source="sources" db=0.3ms idle=9.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:56:36.287 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:56:36.287 [debug] QUERY OK source="media_items" db=0.3ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9074] 01:56:36.288 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9074] 01:56:36.288 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:56:36.288 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:36.289 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:36.289 [debug] Running yt-dlp command for action: get_downloadable_status 01:56:36.295 [debug] QUERY OK source="settings" db=0.2ms idle=7.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:36.296 [debug] QUERY OK source="settings" db=0.1ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:36.296 [debug] QUERY OK source="settings" db=0.0ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:36.296 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-7wwfGJXEZg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8e/34/8e34b7fde6bb7e900f02780ce69d0ca139075c165e714344f3ea722e9fc2f98e.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:56:36.496 [info] GET /sources/d6d8cdbd-3371-42c3-a06c-9d585d0cc6ee/feed.xml 01:56:36.496 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.rss_feed/2 Parameters: %{"uuid" => "d6d8cdbd-3371-42c3-a06c-9d585d0cc6ee"} Pipelines: [:maybe_basic_auth] 01:56:36.497 [debug] QUERY OK source="sources" db=0.3ms idle=207.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."uuid" = ?) ["d6d8cdbd-3371-42c3-a06c-9d585d0cc6ee"] 01:56:36.571 [debug] QUERY OK source="media_items" db=73.4ms idle=208.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? [5, 2000] 01:56:36.621 [debug] QUERY OK source="source_metadata" db=0.2ms idle=324.8ms SELECT s0."id", s0."metadata_filepath", s0."fanart_filepath", s0."poster_filepath", s0."banner_filepath", s0."source_id", s0."inserted_at", s0."updated_at", s0."source_id" FROM "source_metadata" AS s0 WHERE (s0."source_id" = ?) [5] 01:56:36.621 [debug] QUERY OK source="media_metadata" db=0.2ms idle=325.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3670] 01:56:36.626 [info] Sent 200 in 129ms 01:56:37.037 [info] GET /sources/6/force_redownload 01:56:37.038 [debug] QUERY OK source="settings" db=0.2ms idle=741.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:37.039 [debug] QUERY OK source="settings" db=0.7ms idle=541.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:37.039 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:56:37.039 [error] #PID<0.42164.0> running PinchflatWeb.Endpoint (connection #PID<0.42111.0>, stream id 14) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/6/force_redownload ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42111.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_redownload", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 47882}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYMDNyNzRzSHFNZHZfVV9rM25KY0VobGJZ.hBqs69ocIedd1G0RqmQTeURza7etsRB1BYp-0dcoRzg", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYMDNyNzRzSHFNZHZfVV9rM25KY0VobGJZ.hBqs69ocIedd1G0RqmQTeURza7etsRB1BYp-0dcoRzg" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42164.0>, params: %{}, path_info: ["sources", "6", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYMDNyNzRzSHFNZHZfVV9rM25KY0VobGJZ.hBqs69ocIedd1G0RqmQTeURza7etsRB1BYp-0dcoRzg" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYMDNyNzRzSHFNZHZfVV9rM25KY0VobGJZ.hBqs69ocIedd1G0RqmQTeURza7etsRB1BYp-0dcoRzg"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.143"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/6/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBlcqdeELGAQdoAAHqE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42111.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_redownload", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 47882}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYMDNyNzRzSHFNZHZfVV9rM25KY0VobGJZ.hBqs69ocIedd1G0RqmQTeURza7etsRB1BYp-0dcoRzg", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42111.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_redownload", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 47882}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYMDNyNzRzSHFNZHZfVV9rM25KY0VobGJZ.hBqs69ocIedd1G0RqmQTeURza7etsRB1BYp-0dcoRzg", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYMDNyNzRzSHFNZHZfVV9rM25KY0VobGJZ.hBqs69ocIedd1G0RqmQTeURza7etsRB1BYp-0dcoRzg" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42164.0>, params: %{}, path_info: ["sources", "6", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 01:56:39.598 [info] GET /sources/22/media/35259 01:56:39.598 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "35259", "prevent_download" => "true", "source_id" => "22"} Pipelines: [:browser] 01:56:39.601 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=1607.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [35259] 01:56:39.601 [debug] QUERY OK source="sources" db=0.2ms idle=609.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 01:56:39.601 [debug] QUERY OK source="tasks" db=0.4ms idle=1427.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [35259] 01:56:39.602 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=610.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [13109] 01:56:39.602 [debug] QUERY OK source="settings" db=0.1ms idle=424.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:39.602 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:39.603 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:39.604 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:56:39.605 [info] Sent 200 in 6ms 01:56:40.312 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-7wwfGJXEZg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8e/34/8e34b7fde6bb7e900f02780ce69d0ca139075c165e714344f3ea722e9fc2f98e.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:56:40.313 [debug] Running yt-dlp command for action: download 01:56:40.313 [debug] QUERY OK source="settings" db=0.2ms idle=710.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:40.313 [debug] QUERY OK source="settings" db=0.1ms idle=710.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:40.314 [debug] QUERY OK source="settings" db=0.1ms idle=710.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:40.314 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-7wwfGJXEZg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ab/f9/abf95382946e677611b2e34ae738e3ac1a481dc6a254e03e5f07f486c58dc57f.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:56:41.496 [info] GET /sources/1/media/3 01:56:41.496 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 01:56:41.496 [debug] QUERY OK source="media_items" db=0.2ms idle=1182.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3] 01:56:41.497 [debug] QUERY OK source="tasks" db=0.3ms idle=1183.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3] 01:56:41.497 [debug] QUERY OK source="sources" db=0.5ms idle=1183.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 01:56:41.498 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=506.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7] 01:56:41.498 [debug] QUERY OK source="settings" db=0.0ms idle=314.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:41.498 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:41.498 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:41.499 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:56:41.501 [info] Sent 200 in 4ms 01:56:47.399 [info] {"source":"oban","duration":3289,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:49.134 [info] GET /sources/6/media/2867 01:56:49.134 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2867", "source_id" => "6"} Pipelines: [:browser] 01:56:49.134 [debug] QUERY OK source="media_items" db=0.1ms idle=932.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2867] 01:56:49.135 [debug] QUERY OK source="sources" db=0.2ms idle=143.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 01:56:49.135 [debug] QUERY OK source="tasks" db=0.4ms idle=143.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2867] 01:56:49.135 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=143.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [1613, 15769] 01:56:49.136 [debug] QUERY OK source="settings" db=0.1ms idle=144.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:49.136 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:49.136 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:49.137 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:56:49.138 [info] Sent 200 in 4ms 01:56:52.845 [info] GET /sources/5/media/1862/edit 01:56:52.845 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1862", "source_id" => "5"} Pipelines: [:browser] 01:56:52.846 [debug] QUERY OK source="media_items" db=0.2ms idle=1854.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1862] 01:56:52.846 [debug] QUERY OK source="settings" db=0.1ms idle=1854.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:52.846 [debug] QUERY OK source="settings" db=0.0ms idle=1854.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:52.847 [debug] QUERY OK source="settings" db=0.1ms idle=1636.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:52.847 [info] Sent 200 in 2ms 01:56:57.844 [info] GET /sources/6/media/2874 01:56:57.844 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2874", "source_id" => "6"} Pipelines: [:browser] 01:56:57.845 [debug] QUERY OK source="media_items" db=0.4ms idle=1853.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2874] 01:56:57.845 [debug] QUERY OK source="tasks" db=0.3ms idle=1853.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2874] 01:56:57.845 [debug] QUERY OK source="sources" db=0.3ms idle=1853.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 01:56:57.846 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1625.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [1620, 15771] 01:56:57.846 [debug] QUERY OK source="settings" db=0.1ms idle=624.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:57.846 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:57.847 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:56:57.847 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:56:57.849 [info] Sent 200 in 4ms 01:57:00.346 [info] GET /sources/5/media/1861 01:57:00.346 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1861", "source_id" => "5"} Pipelines: [:browser] 01:57:00.347 [debug] QUERY OK source="media_items" db=0.4ms idle=1355.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1861] 01:57:00.347 [debug] QUERY OK source="sources" db=0.1ms idle=1355.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:57:00.348 [debug] QUERY OK source="tasks" db=0.9ms idle=1355.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1861] 01:57:00.349 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=1121.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [1030, 15994] 01:57:00.349 [debug] QUERY OK source="settings" db=0.1ms idle=119.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:00.349 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:00.349 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:00.350 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:57:00.351 [info] Sent 200 in 4ms 01:57:00.603 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:57:02.850 [info] GET /sources/6/media/4597 01:57:02.851 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4597", "source_id" => "6"} Pipelines: [:browser] 01:57:02.851 [debug] QUERY OK source="media_items" db=0.3ms idle=859.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4597] 01:57:02.852 [debug] QUERY OK source="sources" db=0.3ms idle=860.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 01:57:02.852 [debug] QUERY OK source="tasks" db=0.3ms idle=860.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [4597] 01:57:02.852 [debug] QUERY OK source="settings" db=0.1ms idle=860.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:02.853 [debug] QUERY OK source="settings" db=0.1ms idle=618.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:02.853 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:02.854 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:57:02.854 [info] Sent 200 in 3ms 01:57:05.283 [info] GET /sources/5/media/1859/edit 01:57:05.283 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1859", "source_id" => "5"} Pipelines: [:browser] 01:57:05.284 [debug] QUERY OK source="media_items" db=0.4ms idle=1291.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1859] 01:57:05.284 [debug] QUERY OK source="settings" db=0.1ms idle=1292.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:05.284 [debug] QUERY OK source="settings" db=0.0ms idle=1292.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:05.285 [debug] QUERY OK source="settings" db=0.0ms idle=1045.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:05.286 [info] Sent 200 in 2ms 01:57:07.848 [info] GET /sources/6/media/4588 01:57:07.848 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4588", "source_id" => "6"} Pipelines: [:browser] 01:57:07.848 [debug] QUERY OK source="media_items" db=0.3ms idle=856.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4588] 01:57:07.849 [debug] QUERY OK source="sources" db=0.1ms idle=857.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 01:57:07.849 [debug] QUERY OK source="tasks" db=0.3ms idle=857.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [4588] 01:57:07.850 [debug] QUERY OK source="settings" db=0.1ms idle=858.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:07.850 [debug] QUERY OK source="settings" db=0.0ms idle=601.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:07.850 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:07.851 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:57:07.851 [info] Sent 200 in 3ms 01:57:10.274 [info] GET /sources/5/media/4590 01:57:10.274 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4590", "source_id" => "5"} Pipelines: [:browser] 01:57:10.275 [debug] QUERY OK source="media_items" db=0.2ms idle=1282.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4590] 01:57:10.275 [debug] QUERY OK source="tasks" db=0.2ms idle=1283.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [4590] 01:57:10.275 [debug] QUERY OK source="sources" db=0.2ms idle=1283.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:57:10.275 [debug] QUERY OK source="settings" db=0.1ms idle=1023.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:10.276 [debug] QUERY OK source="settings" db=0.0ms idle=21.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:10.276 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:10.277 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:57:10.278 [info] Sent 200 in 3ms 01:57:12.848 [info] GET /sources/5/media/4601/edit 01:57:12.848 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4601", "source_id" => "5"} Pipelines: [:browser] 01:57:12.849 [debug] QUERY OK source="media_items" db=0.3ms idle=857.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4601] 01:57:12.849 [debug] QUERY OK source="settings" db=0.1ms idle=857.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:12.850 [debug] QUERY OK source="settings" db=0.1ms idle=858.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:12.850 [debug] QUERY OK source="settings" db=0.1ms idle=859.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:12.851 [info] Sent 200 in 2ms 01:57:15.274 [info] GET /sources/6/media/2882/edit 01:57:15.274 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2882", "source_id" => "6"} Pipelines: [:browser] 01:57:15.275 [debug] QUERY OK source="media_items" db=0.4ms idle=1282.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2882] 01:57:15.275 [debug] QUERY OK source="settings" db=0.1ms idle=1283.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:15.275 [debug] QUERY OK source="settings" db=0.0ms idle=1283.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:15.276 [debug] QUERY OK source="settings" db=0.1ms idle=1011.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:15.276 [info] Sent 200 in 2ms 01:57:17.288 [info] GET /sources/6/media/4589 01:57:17.288 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4589", "source_id" => "6"} Pipelines: [:browser] 01:57:17.288 [debug] QUERY OK source="media_items" db=0.2ms idle=296.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4589] 01:57:17.289 [debug] QUERY OK source="tasks" db=0.1ms idle=297.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [4589] 01:57:17.289 [debug] QUERY OK source="sources" db=0.3ms idle=297.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 01:57:17.289 [debug] QUERY OK source="settings" db=0.1ms idle=297.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:17.289 [debug] QUERY OK source="settings" db=0.0ms idle=18.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:17.290 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:17.290 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:57:17.291 [info] Sent 200 in 3ms 01:57:17.404 [info] {"source":"oban","duration":3870,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:20.285 [info] GET /sources/6/media/4588/edit 01:57:20.286 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4588", "source_id" => "6"} Pipelines: [:browser] 01:57:20.286 [debug] QUERY OK source="media_items" db=0.1ms idle=1294.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4588] 01:57:20.286 [debug] QUERY OK source="settings" db=0.1ms idle=1294.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:20.286 [debug] QUERY OK source="settings" db=0.0ms idle=1295.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:20.287 [debug] QUERY OK source="settings" db=0.0ms idle=1010.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:20.288 [info] Sent 200 in 2ms 01:57:21.988 [info] GET /sources/6/media/4595 01:57:21.988 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4595", "source_id" => "6"} Pipelines: [:browser] 01:57:21.988 [debug] QUERY OK source="media_items" db=0.3ms idle=1702.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4595] 01:57:21.989 [debug] QUERY OK source="tasks" db=0.2ms idle=1702.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [4595] 01:57:21.989 [debug] QUERY OK source="sources" db=0.4ms idle=1702.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 01:57:21.990 [debug] QUERY OK source="settings" db=0.1ms idle=1702.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:21.990 [debug] QUERY OK source="settings" db=0.0ms idle=707.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:21.990 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:21.991 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:57:21.993 [info] Sent 200 in 4ms 01:57:25.277 [info] GET /sources/6/media/4587 01:57:25.277 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4587", "source_id" => "6"} Pipelines: [:browser] 01:57:25.280 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=1287.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4587] 01:57:25.280 [debug] QUERY OK source="sources" db=0.2ms idle=288.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 01:57:25.280 [debug] QUERY OK source="tasks" db=0.3ms idle=991.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [4587] 01:57:25.282 [debug] QUERY OK source="settings" db=0.3ms idle=289.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:25.284 [debug] QUERY OK source="settings" db=2.0ms idle=289.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:25.285 [debug] QUERY OK source="settings" db=0.1ms idle=5.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:25.286 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:57:25.287 [info] Sent 200 in 10ms 01:57:26.986 [info] GET /sources/6/media/4602 01:57:26.987 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4602", "source_id" => "6"} Pipelines: [:browser] 01:57:26.987 [debug] QUERY OK source="media_items" db=0.3ms idle=1702.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4602] 01:57:26.988 [debug] QUERY OK source="tasks" db=0.2ms idle=1702.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [4602] 01:57:26.988 [debug] QUERY OK source="sources" db=0.6ms idle=1701.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 01:57:26.989 [debug] QUERY OK source="settings" db=0.2ms idle=1694.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:26.989 [debug] QUERY OK source="settings" db=0.5ms idle=689.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:26.990 [debug] QUERY OK source="settings" db=0.7ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:26.992 [debug] QUERY OK source="media_profiles" db=1.2ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:57:26.995 [info] Sent 200 in 8ms 01:57:29.930 [info] GET /sources/5/media/1873/edit 01:57:29.930 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1873", "source_id" => "5"} Pipelines: [:browser] 01:57:29.932 [debug] QUERY OK source="media_items" db=1.9ms idle=1939.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1873] 01:57:29.933 [debug] QUERY OK source="settings" db=0.2ms idle=1941.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:29.934 [debug] QUERY OK source="settings" db=0.1ms idle=1622.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:29.935 [debug] QUERY OK source="settings" db=0.2ms idle=942.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:29.936 [info] Sent 200 in 5ms 01:57:31.997 [info] GET /sources/6/media/2878/edit 01:57:31.997 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2878", "source_id" => "6"} Pipelines: [:browser] 01:57:32.002 [debug] QUERY OK source="media_items" db=3.8ms idle=1006.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2878] 01:57:32.002 [debug] QUERY OK source="settings" db=0.2ms idle=1010.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:32.003 [debug] QUERY OK source="settings" db=0.1ms idle=1011.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:32.005 [debug] QUERY OK source="settings" db=1.9ms idle=1011.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:32.006 [info] Sent 200 in 9ms 01:57:36.352 [info] GET /sources/6/media/2895 01:57:36.353 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2895", "source_id" => "6"} Pipelines: [:browser] 01:57:36.354 [debug] QUERY OK source="media_items" db=0.5ms idle=360.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2895] 01:57:36.356 [debug] QUERY OK source="tasks" db=0.3ms idle=361.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2895] 01:57:36.356 [debug] QUERY OK source="sources" db=0.5ms idle=361.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 01:57:36.359 [debug] QUERY OK source="oban_jobs" db=2.9ms idle=362.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [1641, 15776] 01:57:36.361 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=17.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:36.363 [debug] QUERY OK source="settings" db=0.3ms queue=1.7ms idle=6.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:36.364 [debug] QUERY OK source="settings" db=0.2ms idle=8.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:36.366 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.2ms idle=9.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:57:36.367 [info] Sent 200 in 15ms 01:57:37.012 [info] GET /sources/6/media/2867/edit 01:57:37.012 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2867", "source_id" => "6"} Pipelines: [:browser] 01:57:37.013 [debug] QUERY OK source="media_items" db=0.6ms idle=653.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2867] 01:57:37.013 [debug] QUERY OK source="settings" db=0.2ms idle=652.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:37.014 [debug] QUERY OK source="settings" db=0.1ms idle=650.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:37.015 [debug] QUERY OK source="settings" db=0.5ms idle=650.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:37.017 [info] Sent 200 in 5ms 01:57:39.749 [info] GET /sources/22/media/35266 01:57:39.749 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "35266", "prevent_download" => "true", "source_id" => "22"} Pipelines: [:browser] 01:57:39.752 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=756.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [35266] 01:57:39.754 [debug] QUERY OK source="tasks" db=0.8ms idle=759.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [35266] 01:57:39.754 [debug] QUERY OK source="sources" db=0.9ms idle=759.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 01:57:39.755 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=761.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [13116] 01:57:39.756 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=394.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:39.756 [debug] QUERY OK source="settings" db=0.1ms queue=0.2ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:39.758 [debug] QUERY OK source="settings" db=1.2ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:39.760 [debug] QUERY OK source="media_profiles" db=1.3ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:57:39.762 [info] Sent 200 in 12ms 01:57:41.759 [info] GET /sources/6/media/4589/edit 01:57:41.760 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4589", "source_id" => "6"} Pipelines: [:browser] 01:57:41.761 [debug] QUERY OK source="media_items" db=0.4ms idle=766.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4589] 01:57:41.761 [debug] QUERY OK source="settings" db=0.1ms idle=767.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:41.761 [debug] QUERY OK source="settings" db=0.0ms idle=768.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:41.762 [debug] QUERY OK source="settings" db=0.1ms idle=768.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:41.763 [info] Sent 200 in 4ms 01:57:44.058 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fRz_05kWYao --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/83/de/83ded7c8601f8427e054c83ead0761175e0cc760652e0d8e198629c58aa1bdf2.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:57:44.084 [debug] Running yt-dlp command for action: download_thumbnail 01:57:44.085 [debug] QUERY OK source="settings" db=0.1ms idle=1091.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:44.085 [debug] QUERY OK source="settings" db=0.1ms idle=1091.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:44.085 [debug] QUERY OK source="settings" db=0.1ms idle=1092.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:44.086 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fRz_05kWYao --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9073/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c4/f1/c4f1b1cb18ac92cea71fcfa1a1b48d4a68de68846b8b2f6036a2c37030e14a88.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:57:46.678 [info] GET /sources/6/media/4591 01:57:46.679 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4591", "source_id" => "6"} Pipelines: [:browser] 01:57:46.680 [debug] QUERY OK source="media_items" db=0.7ms idle=1298.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4591] 01:57:46.681 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=687.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 01:57:46.681 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=686.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [4591] 01:57:46.682 [debug] QUERY OK source="settings" db=0.3ms idle=688.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:46.683 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=298.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:46.684 [debug] QUERY OK source="settings" db=0.8ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:46.685 [debug] QUERY OK source="media_profiles" db=0.7ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:57:46.688 [info] Sent 200 in 10ms 01:57:47.417 [info] {"source":"oban","duration":8572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:49.223 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fRz_05kWYao --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9073/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c4/f1/c4f1b1cb18ac92cea71fcfa1a1b48d4a68de68846b8b2f6036a2c37030e14a88.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] fRz_05kWYao: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] fRz_05kWYao: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 01:57:49.224 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1230.6ms begin [] 01:57:49.229 [debug] QUERY OK source="media_items" db=4.2ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-12-12 06:57:44Z], "/downloads/Epic History/Belisarius: Conquest of Italy (4⧸6).mp4", "/downloads/Epic History/Belisarius: Conquest of Italy (4⧸6).info.json", "/downloads/Epic History/Belisarius: Conquest of Italy (4⧸6).nfo", "/downloads/Epic History/Belisarius: Conquest of Italy (4⧸6).mp4", "/downloads/Epic History/Belisarius: Conquest of Italy (4⧸6)-thumb.jpg", ~U[2025-12-12 06:57:49Z], 9073] 01:57:49.230 [debug] QUERY OK source="media_metadata" db=1.0ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9073/metadata.json.gz", "/config/metadata/media_items/9073/thumbnail.jpg", 9073, ~U[2025-12-12 06:57:49Z], ~U[2025-12-12 06:57:49Z]] 01:57:49.231 [debug] QUERY OK db=1.0ms commit [] 01:57:49.238 [debug] QUERY OK source="media_items" db=5.4ms idle=1238.6ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [298086181, ~U[2025-12-12 06:57:49Z], 9073] 01:57:49.238 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:57:49.241 [info] {"args":{"id":9073},"id":4126,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":82829840,"event":"job:stop","queue_time":104747407597,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:57:49.251 [info] {"args":{"id":9075},"id":4128,"meta":{},"system_time":1765522669251347914,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:57:49.257 [debug] QUERY OK source="media_items" db=4.8ms queue=0.1ms idle=258.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9075] 01:57:49.258 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:57:49.259 [debug] QUERY OK source="sources" db=0.9ms idle=26.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 01:57:49.260 [debug] QUERY OK source="media_profiles" db=0.3ms idle=22.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:57:49.261 [debug] QUERY OK source="media_items" db=0.6ms idle=19.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9075] 01:57:49.266 [debug] QUERY OK source="media_metadata" db=0.4ms idle=14.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9075] 01:57:49.266 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:57:49.267 [debug] QUERY OK source="settings" db=0.3ms idle=7.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:49.267 [debug] QUERY OK source="settings" db=0.2ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:49.268 [debug] Running yt-dlp command for action: get_downloadable_status 01:57:49.268 [debug] QUERY OK source="settings" db=0.1ms idle=7.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:49.269 [debug] QUERY OK source="settings" db=0.3ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:49.269 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:49.269 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fa8k8IQ1_X0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/43/6b/436bd33ade7d8a30881a6f657cac53cf11beef0fdd4505fdfa66d8b158eef3f2.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:57:51.678 [info] GET /sources/5/media/4596 01:57:51.679 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4596", "source_id" => "5"} Pipelines: [:browser] 01:57:51.679 [debug] QUERY OK source="media_items" db=0.3ms idle=685.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4596] 01:57:51.680 [debug] QUERY OK source="tasks" db=0.2ms idle=685.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [4596] 01:57:51.680 [debug] QUERY OK source="sources" db=0.2ms idle=685.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:57:51.680 [debug] QUERY OK source="settings" db=0.0ms idle=686.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:51.680 [debug] QUERY OK source="settings" db=0.1ms idle=267.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:51.681 [debug] QUERY OK source="settings" db=0.1ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:51.681 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:57:51.682 [info] Sent 200 in 3ms 01:57:53.560 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fa8k8IQ1_X0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/43/6b/436bd33ade7d8a30881a6f657cac53cf11beef0fdd4505fdfa66d8b158eef3f2.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:57:53.560 [debug] Running yt-dlp command for action: download 01:57:53.561 [debug] QUERY OK source="settings" db=0.2ms idle=567.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:53.561 [debug] QUERY OK source="settings" db=0.1ms idle=567.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:53.561 [debug] QUERY OK source="settings" db=0.0ms idle=567.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:53.561 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fa8k8IQ1_X0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a1/6b/a16baf324400ec5db5f59d8d32610757d451e1fa88785350aba164d4492e0a6c.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:57:56.687 [info] GET /sources/5/media/1875/edit 01:57:56.687 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1875", "source_id" => "5"} Pipelines: [:browser] 01:57:56.689 [debug] QUERY OK source="media_items" db=1.0ms idle=1694.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1875] 01:57:56.689 [debug] QUERY OK source="settings" db=0.1ms idle=1695.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:56.690 [debug] QUERY OK source="settings" db=0.1ms idle=1696.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:56.690 [debug] QUERY OK source="settings" db=0.1ms idle=1253.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:57:56.691 [info] Sent 200 in 4ms 01:58:00.605 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:58:01.682 [info] GET /sources/6/media/2863/edit 01:58:01.683 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2863", "source_id" => "6"} Pipelines: [:browser] 01:58:01.684 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=1689.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2863] 01:58:01.685 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1691.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:01.686 [debug] QUERY OK source="settings" db=0.3ms idle=1214.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:01.686 [debug] QUERY OK source="settings" db=0.3ms idle=1081.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:01.687 [info] Sent 200 in 5ms 01:58:06.686 [info] GET /sources/6/media/4602/edit 01:58:06.686 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4602", "source_id" => "6"} Pipelines: [:browser] 01:58:06.687 [debug] QUERY OK source="media_items" db=0.4ms idle=1693.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4602] 01:58:06.688 [debug] QUERY OK source="settings" db=0.1ms idle=1694.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:06.688 [debug] QUERY OK source="settings" db=0.0ms idle=1694.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:06.688 [debug] QUERY OK source="settings" db=0.0ms idle=1190.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:06.689 [info] Sent 200 in 2ms 01:58:11.977 [info] GET /media_profiles/1 01:58:11.977 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 01:58:11.979 [debug] QUERY OK source="media_profiles" db=1.2ms idle=1984.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:58:11.983 [debug] QUERY OK source="sources" db=2.3ms queue=0.4ms idle=1986.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 01:58:11.985 [debug] QUERY OK source="settings" db=0.4ms idle=1990.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:11.985 [debug] QUERY OK source="settings" db=0.6ms idle=1472.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:11.987 [debug] QUERY OK source="settings" db=0.4ms idle=470.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:11.990 [info] Sent 200 in 12ms 01:58:13.286 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-7wwfGJXEZg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ab/f9/abf95382946e677611b2e34ae738e3ac1a481dc6a254e03e5f07f486c58dc57f.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:58:13.317 [debug] Running yt-dlp command for action: download_thumbnail 01:58:13.325 [debug] QUERY OK source="settings" db=0.2ms idle=801.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:13.326 [debug] QUERY OK source="settings" db=0.2ms idle=332.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:13.326 [debug] QUERY OK source="settings" db=0.3ms idle=332.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:13.327 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-7wwfGJXEZg --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9074/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/92/0d/920dc5f04e383fdbb65e42d15a29f96c75dce396311c16ec1f79cddd811577d1.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:58:16.737 [info] GET /media/116307ef-7262-4478-acbd-710b98d1a5f0/stream 01:58:16.738 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "116307ef-7262-4478-acbd-710b98d1a5f0"} Pipelines: [:maybe_basic_auth] 01:58:16.740 [debug] QUERY OK source="media_items" db=2.2ms idle=1744.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["116307ef-7262-4478-acbd-710b98d1a5f0"] 01:58:16.741 [debug] Invalid range request for media item: 116307ef-7262-4478-acbd-710b98d1a5f0 - serving full file 01:58:16.741 [info] Sent 200 in 3ms 01:58:17.424 [info] {"source":"oban","duration":5579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:19.184 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-7wwfGJXEZg --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9074/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/92/0d/920dc5f04e383fdbb65e42d15a29f96c75dce396311c16ec1f79cddd811577d1.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:58:19.186 [debug] QUERY OK db=0.4ms idle=2084.0ms begin [] 01:58:19.189 [debug] QUERY OK source="media_items" db=3.1ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-12-12 06:58:13Z], "/downloads/Epic History/Belisarius: The Battle of Rome (3⧸6).mp4", "/downloads/Epic History/Belisarius: The Battle of Rome (3⧸6).info.json", "/downloads/Epic History/Belisarius: The Battle of Rome (3⧸6).nfo", "/downloads/Epic History/Belisarius: The Battle of Rome (3⧸6).mp4", "/downloads/Epic History/Belisarius: The Battle of Rome (3⧸6)-thumb.jpg", ~U[2025-12-12 06:58:19Z], 9074] 01:58:19.193 [debug] QUERY OK source="media_metadata" db=2.9ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9074/metadata.json.gz", "/config/metadata/media_items/9074/thumbnail.jpg", 9074, ~U[2025-12-12 06:58:19Z], ~U[2025-12-12 06:58:19Z]] 01:58:19.194 [debug] QUERY OK db=1.1ms commit [] 01:58:19.200 [debug] QUERY OK source="media_items" db=4.9ms queue=0.1ms idle=2093.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [387498034, ~U[2025-12-12 06:58:19Z], 9074] 01:58:19.200 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:58:19.203 [info] {"args":{"id":9074},"id":4127,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":102915444,"event":"job:stop","queue_time":104754284562,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:58:19.212 [info] {"args":{"id":9076},"id":4129,"meta":{},"system_time":1765522699212064269,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:58:19.215 [debug] QUERY OK source="media_items" db=2.5ms idle=326.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9076] 01:58:19.215 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:58:19.217 [debug] QUERY OK source="sources" db=1.6ms queue=0.4ms idle=21.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:58:19.219 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.4ms idle=17.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:58:19.220 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=16.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9076] 01:58:19.223 [debug] QUERY OK source="media_metadata" db=0.4ms queue=0.1ms idle=10.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9076] 01:58:19.224 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.2ms idle=8.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:58:19.225 [debug] QUERY OK source="settings" db=0.5ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:19.226 [debug] QUERY OK source="settings" db=0.8ms idle=6.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:19.227 [debug] Running yt-dlp command for action: get_downloadable_status 01:58:19.233 [debug] QUERY OK source="settings" db=0.3ms idle=12.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:19.234 [debug] QUERY OK source="settings" db=0.4ms idle=10.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:19.235 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=10.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:19.235 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jiakD6Pm9eE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ff/18/ff180b0be82dd9869e58d11b21783b95a5b488b215f40011994bc421671d4754.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:58:24.397 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jiakD6Pm9eE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ff/18/ff180b0be82dd9869e58d11b21783b95a5b488b215f40011994bc421671d4754.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] jiakD6Pm9eE: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] jiakD6Pm9eE: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 01:58:24.397 [debug] Running yt-dlp command for action: download 01:58:24.398 [debug] QUERY OK source="settings" db=1.2ms idle=4496.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:24.402 [debug] QUERY OK source="settings" db=3.2ms idle=3491.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:24.405 [debug] QUERY OK source="settings" db=0.4ms queue=2.3ms idle=2489.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:24.405 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jiakD6Pm9eE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/21/bf/21bf95c1e6ba36f87d4f4df2197d563eeb457ceae8bab019d08592efcac8a687.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:58:26.702 [info] GET /sources/24/media/36779/force_download 01:58:26.703 [debug] QUERY OK source="settings" db=0.6ms idle=2303.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:26.703 [debug] QUERY OK source="settings" db=0.1ms idle=2300.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:26.703 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:58:26.703 [error] #PID<0.42269.0> running PinchflatWeb.Endpoint (connection #PID<0.42268.0>, stream id 1) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/24/media/36779/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/24/media/36779/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42268.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/24/media/36779/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 57732}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmpwc2ZSMEp4R0RHUzlqY0VSdTl5YXpY.FyLc53AEybMsjSvToIneteqjLatrEcJURKQM0I0wXQc", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmpwc2ZSMEp4R0RHUzlqY0VSdTl5YXpY.FyLc53AEybMsjSvToIneteqjLatrEcJURKQM0I0wXQc" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42269.0>, params: %{}, path_info: ["sources", "24", "media", "36779", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmpwc2ZSMEp4R0RHUzlqY0VSdTl5YXpY.FyLc53AEybMsjSvToIneteqjLatrEcJURKQM0I0wXQc" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmpwc2ZSMEp4R0RHUzlqY0VSdTl5YXpY.FyLc53AEybMsjSvToIneteqjLatrEcJURKQM0I0wXQc"}, {"from", "gptbot(at)openai.com"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.40"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "716824529"} ], request_path: "/sources/24/media/36779/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBljC_bXwL9TT0AKOhB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42268.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/24/media/36779/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 57732}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmpwc2ZSMEp4R0RHUzlqY0VSdTl5YXpY.FyLc53AEybMsjSvToIneteqjLatrEcJURKQM0I0wXQc", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/24/media/36779/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42268.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/24/media/36779/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 57732}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmpwc2ZSMEp4R0RHUzlqY0VSdTl5YXpY.FyLc53AEybMsjSvToIneteqjLatrEcJURKQM0I0wXQc", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmpwc2ZSMEp4R0RHUzlqY0VSdTl5YXpY.FyLc53AEybMsjSvToIneteqjLatrEcJURKQM0I0wXQc" }, halted: false, host: "youtube.zakscode.com", (truncated) 01:58:32.946 [info] GET /sources/5/media/4606 01:58:32.946 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4606", "source_id" => "5"} Pipelines: [:browser] 01:58:32.948 [debug] QUERY OK source="media_items" db=1.4ms idle=5011.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4606] 01:58:32.956 [debug] QUERY OK source="tasks" db=6.1ms queue=0.2ms idle=3007.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [4606] 01:58:32.958 [debug] QUERY OK source="sources" db=8.2ms idle=2005.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:58:32.962 [debug] QUERY OK source="settings" db=0.6ms idle=1014.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:32.966 [debug] QUERY OK source="settings" db=1.9ms queue=2.1ms idle=13.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:32.969 [debug] QUERY OK source="settings" db=2.9ms idle=10.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:32.972 [debug] QUERY OK source="media_profiles" db=1.4ms idle=12.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:58:32.974 [info] Sent 200 in 27ms 01:58:37.713 [info] GET /sources/5/media/4593/edit 01:58:37.713 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4593", "source_id" => "5"} Pipelines: [:browser] 01:58:37.714 [debug] QUERY OK source="media_items" db=0.4ms idle=1019.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4593] 01:58:37.714 [debug] QUERY OK source="settings" db=0.1ms idle=1020.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:37.714 [debug] QUERY OK source="settings" db=0.0ms idle=1020.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:37.715 [debug] QUERY OK source="settings" db=0.1ms idle=1021.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:37.715 [info] Sent 200 in 2ms 01:58:42.715 [info] GET /sources/5/media/4607/edit 01:58:42.715 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4607", "source_id" => "5"} Pipelines: [:browser] 01:58:42.717 [debug] QUERY OK source="media_items" db=0.9ms idle=1022.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4607] 01:58:42.718 [debug] QUERY OK source="settings" db=0.2ms idle=1023.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:42.718 [debug] QUERY OK source="settings" db=0.4ms idle=1024.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:42.719 [debug] QUERY OK source="settings" db=0.9ms idle=1025.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:42.720 [info] Sent 200 in 5ms 01:58:45.595 [info] GET /media_profiles/new 01:58:45.596 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 01:58:45.596 [debug] QUERY OK source="settings" db=0.3ms idle=901.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:45.597 [debug] QUERY OK source="settings" db=0.1ms idle=902.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:45.597 [debug] QUERY OK source="settings" db=0.1ms idle=902.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:45.598 [debug] QUERY OK source="settings" db=0.1ms idle=903.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:45.599 [debug] QUERY OK source="settings" db=0.9ms idle=580.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:45.605 [info] Sent 200 in 9ms 01:58:47.716 [info] GET /sources/1/media/16 01:58:47.716 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "16", "source_id" => "1"} Pipelines: [:browser] 01:58:47.717 [debug] QUERY OK source="media_items" db=0.4ms idle=1021.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16] 01:58:47.718 [debug] QUERY OK source="tasks" db=0.2ms idle=1021.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [16] 01:58:47.718 [debug] QUERY OK source="sources" db=0.3ms idle=1022.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 01:58:47.718 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=1022.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [22] 01:58:47.719 [debug] QUERY OK source="settings" db=0.1ms idle=689.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:47.719 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:47.719 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:47.720 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:58:47.722 [info] Sent 200 in 6ms 01:58:48.861 [info] {"source":"oban","duration":7322,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:52.719 [info] GET /sources/1/media/14 01:58:52.719 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "14", "source_id" => "1"} Pipelines: [:browser] 01:58:52.722 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=1024.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14] 01:58:52.724 [debug] QUERY OK source="tasks" db=0.9ms idle=1027.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [14] 01:58:52.724 [debug] QUERY OK source="sources" db=1.0ms idle=1027.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 01:58:52.727 [debug] QUERY OK source="oban_jobs" db=1.1ms idle=668.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [20] 01:58:52.730 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=33.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:52.731 [debug] QUERY OK source="settings" db=0.5ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:52.733 [debug] QUERY OK source="settings" db=0.5ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:52.736 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=11.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:58:52.738 [info] Sent 200 in 18ms 01:58:57.721 [info] GET /sources/1/media/13 01:58:57.722 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "13", "source_id" => "1"} Pipelines: [:browser] 01:58:57.723 [debug] QUERY OK source="media_items" db=0.9ms idle=1026.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13] 01:58:57.724 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=1028.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [13] 01:58:57.725 [debug] QUERY OK source="sources" db=0.4ms idle=1028.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 01:58:57.730 [debug] QUERY OK source="oban_jobs" db=2.1ms queue=0.1ms idle=1031.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [17] 01:58:57.738 [debug] QUERY OK source="settings" db=2.6ms queue=4.7ms idle=651.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:57.739 [debug] QUERY OK source="settings" db=1.2ms idle=14.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:57.742 [debug] QUERY OK source="settings" db=0.6ms idle=17.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:58:57.743 [debug] QUERY OK source="media_profiles" db=0.3ms idle=18.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:58:57.745 [info] Sent 200 in 23ms 01:59:00.606 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:59:02.726 [info] GET /sources/6/media/2891/edit 01:59:02.726 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2891", "source_id" => "6"} Pipelines: [:browser] 01:59:02.728 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=1031.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2891] 01:59:02.729 [debug] QUERY OK source="settings" db=0.3ms idle=1033.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:02.729 [debug] QUERY OK source="settings" db=0.0ms idle=1033.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:02.730 [debug] QUERY OK source="settings" db=0.1ms idle=1034.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:02.731 [info] Sent 200 in 5ms 01:59:07.729 [info] GET /sources/1/media/15 01:59:07.729 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "15", "source_id" => "1"} Pipelines: [:browser] 01:59:07.731 [debug] QUERY OK source="media_items" db=1.5ms idle=1034.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [15] 01:59:07.732 [debug] QUERY OK source="sources" db=0.2ms idle=1036.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 01:59:07.732 [debug] QUERY OK source="tasks" db=0.7ms idle=1036.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [15] 01:59:07.733 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=1037.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [21] 01:59:07.734 [debug] QUERY OK source="settings" db=1.3ms idle=602.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:07.735 [debug] QUERY OK source="settings" db=0.1ms queue=0.4ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:07.737 [debug] QUERY OK source="settings" db=1.4ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:07.741 [debug] QUERY OK source="media_profiles" db=3.2ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:59:07.746 [info] Sent 200 in 17ms 01:59:09.197 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fa8k8IQ1_X0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a1/6b/a16baf324400ec5db5f59d8d32610757d451e1fa88785350aba164d4492e0a6c.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:59:09.233 [debug] Running yt-dlp command for action: download_thumbnail 01:59:09.238 [debug] QUERY OK source="settings" db=0.3ms idle=1502.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:09.238 [debug] QUERY OK source="settings" db=0.2ms idle=1501.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:09.239 [debug] QUERY OK source="settings" db=0.7ms idle=1497.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:09.239 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fa8k8IQ1_X0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9075/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/25/13/2513683ec0dc0e4abd83828f8f7a5a3285d04fe098696b340df62993f777212d.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:59:12.724 [info] GET /sources/1/media/9/edit 01:59:12.724 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "9", "source_id" => "1"} Pipelines: [:browser] 01:59:12.725 [debug] QUERY OK source="media_items" db=0.9ms idle=1027.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9] 01:59:12.726 [debug] QUERY OK source="settings" db=0.7ms idle=562.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:12.726 [debug] QUERY OK source="settings" db=0.1ms idle=30.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:12.727 [debug] QUERY OK source="settings" db=0.1ms idle=30.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:12.728 [info] Sent 200 in 4ms 01:59:14.185 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fa8k8IQ1_X0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9075/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/25/13/2513683ec0dc0e4abd83828f8f7a5a3285d04fe098696b340df62993f777212d.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:59:14.185 [debug] QUERY OK db=0.1ms idle=1459.0ms begin [] 01:59:14.188 [debug] QUERY OK source="media_items" db=2.7ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [908, ~U[2025-12-12 06:59:09Z], "/downloads/Kurzgesagt/A.I. ‐ Humanity's Final Invention?.mp4", "/downloads/Kurzgesagt/A.I. ‐ Humanity's Final Invention?.info.json", "/downloads/Kurzgesagt/A.I. ‐ Humanity's Final Invention?.nfo", "/downloads/Kurzgesagt/A.I. ‐ Humanity's Final Invention?.mp4", "/downloads/Kurzgesagt/A.I. ‐ Humanity's Final Invention?-thumb.jpg", ~U[2025-12-12 06:59:14Z], 9075] 01:59:14.191 [debug] QUERY OK source="media_metadata" db=2.3ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9075/metadata.json.gz", "/config/metadata/media_items/9075/thumbnail.jpg", 9075, ~U[2025-12-12 06:59:14Z], ~U[2025-12-12 06:59:14Z]] 01:59:14.193 [debug] QUERY OK db=1.5ms commit [] 01:59:14.197 [debug] QUERY OK source="media_items" db=3.1ms idle=1466.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [286647079, ~U[2025-12-12 06:59:14Z], 9075] 01:59:14.197 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:59:14.198 [info] {"args":{"id":9075},"id":4128,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":84946306,"event":"job:stop","queue_time":104826247670,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:59:14.206 [info] {"args":{"id":9077},"id":4130,"meta":{},"system_time":1765522754206825182,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:59:14.209 [debug] QUERY OK source="media_items" db=2.2ms idle=34.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9077] 01:59:14.209 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:59:14.210 [debug] QUERY OK source="sources" db=0.6ms idle=16.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 01:59:14.211 [debug] QUERY OK source="media_profiles" db=0.4ms idle=14.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:59:14.213 [debug] QUERY OK source="media_items" db=1.2ms idle=12.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9077] 01:59:14.217 [debug] QUERY OK source="media_metadata" db=0.6ms queue=0.3ms idle=9.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9077] 01:59:14.218 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.2ms idle=7.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:59:14.219 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:14.220 [debug] QUERY OK source="settings" db=0.4ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:14.223 [debug] Running yt-dlp command for action: get_downloadable_status 01:59:14.230 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=16.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:14.231 [debug] QUERY OK source="settings" db=0.3ms queue=0.3ms idle=13.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:14.231 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=13.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:14.231 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GFLb5h2O2Ww --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/dd/b4/ddb4d234c004da6306bb4d1a7708ad694ba488f46badc2d344e8714cdea890b5.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:59:17.724 [info] GET /sources/1/media/9 01:59:17.724 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "9", "source_id" => "1"} Pipelines: [:browser] 01:59:17.725 [debug] QUERY OK source="media_items" db=0.3ms idle=504.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9] 01:59:17.725 [debug] QUERY OK source="tasks" db=0.2ms idle=28.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [9] 01:59:17.725 [debug] QUERY OK source="sources" db=0.1ms idle=28.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 01:59:17.725 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=29.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [13] 01:59:17.726 [debug] QUERY OK source="settings" db=0.1ms idle=29.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:17.726 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:17.727 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:17.727 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:59:17.729 [info] Sent 200 in 5ms 01:59:18.867 [info] {"source":"oban","duration":5667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:19.099 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GFLb5h2O2Ww --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/dd/b4/ddb4d234c004da6306bb4d1a7708ad694ba488f46badc2d344e8714cdea890b5.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:59:19.099 [debug] Running yt-dlp command for action: download 01:59:19.100 [debug] QUERY OK source="settings" db=0.2ms idle=1373.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:19.100 [debug] QUERY OK source="settings" db=0.1ms idle=1373.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:19.100 [debug] QUERY OK source="settings" db=0.1ms idle=1372.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:19.100 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GFLb5h2O2Ww --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2b/6c/2b6ce4c56e49b0eeb52c46b43587a927466f9c934bd79503bcf59fe0cacea2ba.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:59:22.693 [info] GET /sources/22/media/35264/force_download 01:59:22.694 [debug] QUERY OK source="settings" db=0.4ms idle=1996.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:22.695 [debug] QUERY OK source="settings" db=0.1ms queue=1.6ms idle=1997.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:22.696 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:59:22.697 [error] #PID<0.42312.0> running PinchflatWeb.Endpoint (connection #PID<0.42273.0>, stream id 12) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/22/media/35264/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/22/media/35264/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42273.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/35264/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 53042}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmpwc2ZSMEp4R0RHUzlqY0VSdTl5YXpY.FyLc53AEybMsjSvToIneteqjLatrEcJURKQM0I0wXQc", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmpwc2ZSMEp4R0RHUzlqY0VSdTl5YXpY.FyLc53AEybMsjSvToIneteqjLatrEcJURKQM0I0wXQc" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42312.0>, params: %{}, path_info: ["sources", "22", "media", "35264", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmpwc2ZSMEp4R0RHUzlqY0VSdTl5YXpY.FyLc53AEybMsjSvToIneteqjLatrEcJURKQM0I0wXQc" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmpwc2ZSMEp4R0RHUzlqY0VSdTl5YXpY.FyLc53AEybMsjSvToIneteqjLatrEcJURKQM0I0wXQc"}, {"from", "gptbot(at)openai.com"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.40"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "716824529"} ], request_path: "/sources/22/media/35264/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBlmTkwwf0XAi4AKOzB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42273.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/35264/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 53042}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmpwc2ZSMEp4R0RHUzlqY0VSdTl5YXpY.FyLc53AEybMsjSvToIneteqjLatrEcJURKQM0I0wXQc", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/22/media/35264/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42273.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/35264/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 53042}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmpwc2ZSMEp4R0RHUzlqY0VSdTl5YXpY.FyLc53AEybMsjSvToIneteqjLatrEcJURKQM0I0wXQc", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmpwc2ZSMEp4R0RHUzlqY0VSdTl5YXpY.FyLc53AEybMsjSvToIneteqjLatrEcJURKQM0I0wXQc" }, halted: false, host: "youtube.zakscode.com", (truncated) 01:59:22.726 [info] GET /sources/1/media/8 01:59:22.727 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "8", "source_id" => "1"} Pipelines: [:browser] 01:59:22.729 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=487.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [8] 01:59:22.730 [debug] QUERY OK source="tasks" db=0.5ms idle=36.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [8] 01:59:22.730 [debug] QUERY OK source="sources" db=0.5ms idle=34.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 01:59:22.733 [debug] QUERY OK source="oban_jobs" db=0.8ms idle=33.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [12] 01:59:22.734 [debug] QUERY OK source="settings" db=0.2ms queue=0.5ms idle=34.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:22.734 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:22.735 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:22.736 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.2ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:59:22.738 [info] Sent 200 in 12ms 01:59:27.728 [info] GET /sources/1/media/7 01:59:27.728 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "7", "source_id" => "1"} Pipelines: [:browser] 01:59:27.735 [debug] QUERY OK source="media_items" db=6.1ms idle=1030.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [7] 01:59:27.737 [debug] QUERY OK source="tasks" db=1.5ms idle=1037.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [7] 01:59:27.739 [debug] QUERY OK source="sources" db=3.4ms idle=1037.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 01:59:27.741 [debug] QUERY OK source="oban_jobs" db=1.7ms idle=1041.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [11] 01:59:27.742 [debug] QUERY OK source="settings" db=0.1ms idle=478.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:27.742 [debug] QUERY OK source="settings" db=0.1ms idle=7.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:27.744 [debug] QUERY OK source="settings" db=1.0ms queue=0.2ms idle=5.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:27.745 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:59:27.747 [info] Sent 200 in 18ms 01:59:48.871 [info] {"source":"oban","duration":3747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:53.624 [info] GET /sources/22/media/35675/force_download 01:59:53.629 [debug] QUERY OK source="settings" db=4.4ms idle=1925.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:53.630 [debug] QUERY OK source="settings" db=0.6ms idle=1929.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:53.630 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:59:53.631 [error] #PID<0.42325.0> running PinchflatWeb.Endpoint (connection #PID<0.42324.0>, stream id 1) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/22/media/35675/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/22/media/35675/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42324.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/35675/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 47410}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmpwc2ZSMEp4R0RHUzlqY0VSdTl5YXpY.FyLc53AEybMsjSvToIneteqjLatrEcJURKQM0I0wXQc", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmpwc2ZSMEp4R0RHUzlqY0VSdTl5YXpY.FyLc53AEybMsjSvToIneteqjLatrEcJURKQM0I0wXQc" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42325.0>, params: %{}, path_info: ["sources", "22", "media", "35675", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmpwc2ZSMEp4R0RHUzlqY0VSdTl5YXpY.FyLc53AEybMsjSvToIneteqjLatrEcJURKQM0I0wXQc" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmpwc2ZSMEp4R0RHUzlqY0VSdTl5YXpY.FyLc53AEybMsjSvToIneteqjLatrEcJURKQM0I0wXQc"}, {"from", "gptbot(at)openai.com"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.40"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "716824529"} ], request_path: "/sources/22/media/35675/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBloGzVzqRqhpYAKO4B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42324.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/35675/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 47410}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmpwc2ZSMEp4R0RHUzlqY0VSdTl5YXpY.FyLc53AEybMsjSvToIneteqjLatrEcJURKQM0I0wXQc", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/22/media/35675/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42324.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/35675/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 47410}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmpwc2ZSMEp4R0RHUzlqY0VSdTl5YXpY.FyLc53AEybMsjSvToIneteqjLatrEcJURKQM0I0wXQc", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmpwc2ZSMEp4R0RHUzlqY0VSdTl5YXpY.FyLc53AEybMsjSvToIneteqjLatrEcJURKQM0I0wXQc" }, halted: false, host: "youtube.zakscode.com", (truncated) 01:59:57.907 [info] GET /sources/5/media/3789/force_download 01:59:57.910 [debug] QUERY OK source="settings" db=1.9ms idle=1208.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:57.911 [debug] QUERY OK source="settings" db=0.5ms queue=0.6ms idle=1210.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:59:57.911 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:59:57.913 [error] #PID<0.42326.0> running PinchflatWeb.Endpoint (connection #PID<0.42324.0>, stream id 2) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/5/media/3789/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/3789/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42324.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/3789/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 47410}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42326.0>, params: %{}, path_info: ["sources", "5", "media", "3789", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.143"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/5/media/3789/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBloWwlHVRoyIwAKO5B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42324.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/3789/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 47410}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/3789/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42324.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/3789/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 47410}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42326.0>, params: %{}, path_info: ["sources", "5", "media", "3789", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.143"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/5/media/3789/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, privat (truncated) 02:00:00.607 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:00:09.695 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GFLb5h2O2Ww --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2b/6c/2b6ce4c56e49b0eeb52c46b43587a927466f9c934bd79503bcf59fe0cacea2ba.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:00:09.730 [debug] Running yt-dlp command for action: download_thumbnail 02:00:09.736 [debug] QUERY OK source="settings" db=0.2ms idle=234.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:09.737 [debug] QUERY OK source="settings" db=0.2ms idle=36.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:09.737 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=36.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:09.738 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GFLb5h2O2Ww --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9077/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/66/4d/664dfe88fd28daa1be48b36d7e0bfd7eeacb50093310a7afbce94163e87f8b9b.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:00:15.048 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GFLb5h2O2Ww --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9077/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/66/4d/664dfe88fd28daa1be48b36d7e0bfd7eeacb50093310a7afbce94163e87f8b9b.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:00:15.048 [debug] QUERY OK db=0.2ms idle=1347.8ms begin [] 02:00:15.051 [debug] QUERY OK source="media_items" db=2.1ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-12-12 07:00:09Z], "/downloads/Kurzgesagt/This Disease is Deadlier Than The Plague.mp4", "/downloads/Kurzgesagt/This Disease is Deadlier Than The Plague.info.json", "/downloads/Kurzgesagt/This Disease is Deadlier Than The Plague.nfo", "/downloads/Kurzgesagt/This Disease is Deadlier Than The Plague.mp4", "/downloads/Kurzgesagt/This Disease is Deadlier Than The Plague-thumb.jpg", ~U[2025-12-12 07:00:15Z], 9077] 02:00:15.057 [debug] QUERY OK source="media_metadata" db=6.1ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9077/metadata.json.gz", "/config/metadata/media_items/9077/thumbnail.jpg", 9077, ~U[2025-12-12 07:00:15Z], ~U[2025-12-12 07:00:15Z]] 02:00:15.063 [debug] QUERY OK db=6.2ms commit [] 02:00:15.070 [debug] QUERY OK source="media_items" db=5.5ms idle=1364.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [169392534, ~U[2025-12-12 07:00:15Z], 9077] 02:00:15.072 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:00:15.075 [info] {"args":{"id":9077},"id":4130,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":60865599,"event":"job:stop","queue_time":104908204712,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:00:15.086 [info] {"args":{"id":9078},"id":4131,"meta":{},"system_time":1765522815085549347,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:00:15.088 [debug] QUERY OK source="media_items" db=2.4ms queue=0.2ms idle=552.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9078] 02:00:15.091 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:00:15.093 [debug] QUERY OK source="sources" db=1.2ms queue=0.5ms idle=27.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 02:00:15.094 [debug] QUERY OK source="media_profiles" db=0.5ms idle=22.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:00:15.095 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=19.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9078] 02:00:15.099 [debug] QUERY OK source="media_metadata" db=0.5ms queue=0.3ms idle=12.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9078] 02:00:15.100 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.2ms idle=10.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:00:15.101 [debug] QUERY OK source="settings" db=0.4ms idle=7.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:15.102 [debug] QUERY OK source="settings" db=0.5ms idle=7.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:15.103 [debug] Running yt-dlp command for action: get_downloadable_status 02:00:15.104 [debug] QUERY OK source="settings" db=0.3ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:15.105 [debug] QUERY OK source="settings" db=0.4ms idle=5.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:15.105 [debug] QUERY OK source="settings" db=0.2ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:15.106 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-YDnzWFgS-4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/76/71/76716947924c2cdcd6fc48ba06e83528260f2f35896d2f1b364d99e28f3103ef.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:00:18.877 [info] {"source":"oban","duration":4372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:00:20.516 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-YDnzWFgS-4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/76/71/76716947924c2cdcd6fc48ba06e83528260f2f35896d2f1b364d99e28f3103ef.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:00:20.516 [debug] Running yt-dlp command for action: download 02:00:20.517 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=1815.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:20.517 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1816.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:20.518 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=1816.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:20.518 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-YDnzWFgS-4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9d/ce/9dce1bfdc85f94da70b279f90fdbabd463d164e3cc55cf0cc5b04ac2ca9ba0dd.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:00:42.607 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jiakD6Pm9eE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/21/bf/21bf95c1e6ba36f87d4f4df2197d563eeb457ceae8bab019d08592efcac8a687.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:00:42.623 [debug] Running yt-dlp command for action: download_thumbnail 02:00:42.624 [debug] QUERY OK source="settings" db=0.2ms idle=922.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:42.625 [debug] QUERY OK source="settings" db=0.1ms idle=923.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:42.625 [debug] QUERY OK source="settings" db=0.1ms idle=923.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:42.625 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jiakD6Pm9eE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9076/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ff/48/ff483ab5083c802bbbbeb8d8c3609021522723192e087dedf6ada6d65098f947.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:00:47.966 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jiakD6Pm9eE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9076/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ff/48/ff483ab5083c802bbbbeb8d8c3609021522723192e087dedf6ada6d65098f947.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:00:47.982 [debug] QUERY OK db=0.1ms queue=2.7ms idle=278.2ms begin [] 02:00:47.986 [debug] QUERY OK source="media_items" db=3.1ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-12-12 07:00:42Z], "/downloads/Epic History/The First Crusade (All Parts).mp4", "/downloads/Epic History/The First Crusade (All Parts).info.json", "/downloads/Epic History/The First Crusade (All Parts).nfo", "/downloads/Epic History/The First Crusade (All Parts).mp4", "/downloads/Epic History/The First Crusade (All Parts)-thumb.jpg", ~U[2025-12-12 07:00:47Z], 9076] 02:00:47.990 [debug] QUERY OK source="media_metadata" db=3.5ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9076/metadata.json.gz", "/config/metadata/media_items/9076/thumbnail.jpg", 9076, ~U[2025-12-12 07:00:47Z], ~U[2025-12-12 07:00:47Z]] 02:00:47.991 [debug] QUERY OK db=1.7ms commit [] 02:00:47.995 [debug] QUERY OK source="media_items" db=3.4ms idle=290.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [576506963, ~U[2025-12-12 07:00:47Z], 9076] 02:00:47.996 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:00:47.997 [info] {"args":{"id":9076},"id":4129,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":148784589,"event":"job:stop","queue_time":104854209878,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:00:48.006 [info] {"args":{"id":9079},"id":4132,"meta":{},"system_time":1765522848005770363,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:00:48.008 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=216.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9079] 02:00:48.008 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:00:48.010 [debug] QUERY OK source="sources" db=1.6ms queue=0.3ms idle=16.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 02:00:48.011 [debug] QUERY OK source="media_profiles" db=0.4ms idle=14.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:00:48.012 [debug] QUERY OK source="media_items" db=1.2ms idle=14.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9079] 02:00:48.015 [debug] QUERY OK source="media_metadata" db=0.5ms idle=9.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9079] 02:00:48.016 [debug] QUERY OK source="media_profiles" db=0.9ms idle=7.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:00:48.018 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:48.019 [debug] QUERY OK source="settings" db=0.3ms idle=7.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:48.020 [debug] Running yt-dlp command for action: get_downloadable_status 02:00:48.021 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:48.022 [debug] QUERY OK source="settings" db=0.3ms idle=6.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:48.022 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=5.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:48.023 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=UebSfjmQNvs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/62/50/6250ec36f6002fc8a60a8326a2cb978c536509770e73d36d3faac199b9fef7f7.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:00:48.892 [info] {"source":"oban","duration":14565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:00:52.750 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=UebSfjmQNvs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/62/50/6250ec36f6002fc8a60a8326a2cb978c536509770e73d36d3faac199b9fef7f7.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:00:52.751 [debug] Running yt-dlp command for action: download 02:00:52.752 [debug] QUERY OK source="settings" db=1.0ms idle=1049.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:52.754 [debug] QUERY OK source="settings" db=1.7ms queue=0.2ms idle=1050.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:52.757 [debug] QUERY OK source="settings" db=1.5ms queue=1.6ms idle=1052.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:52.759 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=UebSfjmQNvs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/40/5f/405ff20a647cc17391138f6cbd6ec57a25e39fc94faaa1ab6e6751ddf49ee3df.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:01:00.610 [info] {"source":"oban","duration":839,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:01:18.775 [info] GET /sources/24/media/36754/force_download 02:01:18.776 [debug] QUERY OK source="settings" db=0.2ms idle=1069.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:01:18.776 [debug] QUERY OK source="settings" db=0.1ms idle=1069.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:01:18.777 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:01:18.777 [error] #PID<0.42350.0> running PinchflatWeb.Endpoint (connection #PID<0.42349.0>, stream id 1) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/24/media/36754/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/24/media/36754/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42349.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/24/media/36754/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 33866}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42350.0>, params: %{}, path_info: ["sources", "24", "media", "36754", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.40"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "716824529"} ], request_path: "/sources/24/media/36754/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBltEBAkK4rNAIAKO8B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42349.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/24/media/36754/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 33866}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/24/media/36754/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42349.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/24/media/36754/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 33866}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42350.0>, params: %{}, path_info: ["sources", "24", "media", "36754", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +h (truncated) 02:01:18.894 [info] {"source":"oban","duration":2188,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:48.902 [info] {"source":"oban","duration":6729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:54.701 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=UebSfjmQNvs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/40/5f/405ff20a647cc17391138f6cbd6ec57a25e39fc94faaa1ab6e6751ddf49ee3df.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:01:54.740 [debug] Running yt-dlp command for action: download_thumbnail 02:01:54.750 [debug] QUERY OK source="settings" db=0.6ms queue=0.3ms idle=582.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:01:54.751 [debug] QUERY OK source="settings" db=0.4ms idle=42.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:01:54.752 [debug] QUERY OK source="settings" db=0.4ms idle=42.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:01:54.753 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=UebSfjmQNvs --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9079/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/de/0b/de0b90dd67385844596e5eb58f12052b1af0a3cf76d7fdbf1c33af4ce164b36c.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:01:56.327 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-YDnzWFgS-4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9d/ce/9dce1bfdc85f94da70b279f90fdbabd463d164e3cc55cf0cc5b04ac2ca9ba0dd.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:01:56.374 [debug] Running yt-dlp command for action: download_thumbnail 02:01:56.385 [debug] QUERY OK source="settings" db=0.7ms queue=0.3ms idle=1634.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:01:56.387 [debug] QUERY OK source="settings" db=0.6ms idle=1635.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:01:56.388 [debug] QUERY OK source="settings" db=0.5ms idle=1635.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:01:56.388 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-YDnzWFgS-4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9078/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/36/a8/36a8ae1489a3f7bb9fc5f644a92c288601af0f47870affd47da520fb1c114383.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:01:59.754 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=UebSfjmQNvs --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9079/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/de/0b/de0b90dd67385844596e5eb58f12052b1af0a3cf76d7fdbf1c33af4ce164b36c.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:01:59.755 [debug] QUERY OK db=0.0ms queue=0.2ms idle=1046.3ms begin [] 02:01:59.760 [debug] QUERY OK source="media_items" db=4.9ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [649, ~U[2025-12-12 07:01:54Z], "/downloads/Kurzgesagt/Do You Have a Free Will?.mp4", "/downloads/Kurzgesagt/Do You Have a Free Will?.info.json", "/downloads/Kurzgesagt/Do You Have a Free Will?.nfo", "/downloads/Kurzgesagt/Do You Have a Free Will?.mp4", "/downloads/Kurzgesagt/Do You Have a Free Will?-thumb.jpg", ~U[2025-12-12 07:01:59Z], 9079] 02:01:59.766 [debug] QUERY OK source="media_metadata" db=4.6ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9079/metadata.json.gz", "/config/metadata/media_items/9079/thumbnail.jpg", 9079, ~U[2025-12-12 07:01:59Z], ~U[2025-12-12 07:01:59Z]] 02:01:59.768 [debug] QUERY OK db=1.5ms commit [] 02:01:59.773 [debug] QUERY OK source="media_items" db=4.1ms idle=576.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [200613124, ~U[2025-12-12 07:01:59Z], 9079] 02:01:59.773 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:01:59.774 [info] {"args":{"id":9079},"id":4132,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":71767881,"event":"job:stop","queue_time":104998003702,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:01:59.782 [info] {"args":{"id":9080},"id":4133,"meta":{},"system_time":1765522919782392567,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:01:59.784 [debug] QUERY OK source="media_items" db=1.9ms idle=73.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9080] 02:01:59.785 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:01:59.787 [debug] QUERY OK source="sources" db=0.7ms queue=0.5ms idle=17.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 02:01:59.788 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.3ms idle=14.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:01:59.790 [debug] QUERY OK source="media_items" db=1.3ms idle=14.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9080] 02:01:59.791 [debug] QUERY OK source="media_metadata" db=0.3ms idle=9.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9080] 02:01:59.792 [debug] QUERY OK source="media_profiles" db=0.5ms idle=7.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:01:59.793 [debug] QUERY OK source="settings" db=0.2ms idle=5.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:01:59.794 [debug] QUERY OK source="settings" db=0.4ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:01:59.795 [debug] Running yt-dlp command for action: get_downloadable_status 02:01:59.799 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:01:59.800 [debug] QUERY OK source="settings" db=0.7ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:01:59.800 [debug] QUERY OK source="settings" db=0.4ms queue=0.3ms idle=7.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:01:59.802 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QOBH7hMh2Xs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b0/53/b053fa7cb43185fb06ede3a6c100c546b597642755a7827c4a0178505b817c48.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:02:00.611 [info] {"source":"oban","duration":326,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:02:02.640 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-YDnzWFgS-4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9078/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/36/a8/36a8ae1489a3f7bb9fc5f644a92c288601af0f47870affd47da520fb1c114383.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:02:02.641 [debug] QUERY OK db=0.0ms idle=932.5ms begin [] 02:02:02.644 [debug] QUERY OK source="media_items" db=3.1ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-12-12 07:01:56Z], "/downloads/Epic History/Belisarius: Conquest of the Vandals (2⧸6).mp4", "/downloads/Epic History/Belisarius: Conquest of the Vandals (2⧸6).info.json", "/downloads/Epic History/Belisarius: Conquest of the Vandals (2⧸6).nfo", "/downloads/Epic History/Belisarius: Conquest of the Vandals (2⧸6).mp4", "/downloads/Epic History/Belisarius: Conquest of the Vandals (2⧸6)-thumb.jpg", ~U[2025-12-12 07:02:02Z], 9078] 02:02:02.648 [debug] QUERY OK source="media_metadata" db=3.4ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9078/metadata.json.gz", "/config/metadata/media_items/9078/thumbnail.jpg", 9078, ~U[2025-12-12 07:02:02Z], ~U[2025-12-12 07:02:02Z]] 02:02:02.650 [debug] QUERY OK db=1.2ms commit [] 02:02:02.653 [debug] QUERY OK source="media_items" db=2.7ms idle=941.6ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [404622070, ~U[2025-12-12 07:02:02Z], 9078] 02:02:02.654 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:02:02.656 [info] {"args":{"id":9078},"id":4131,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":107568579,"event":"job:stop","queue_time":104966081655,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:02:02.664 [info] {"args":{"id":9081},"id":4134,"meta":{},"system_time":1765522922663987541,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:02:02.664 [debug] QUERY OK source="media_items" db=0.4ms idle=437.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9081] 02:02:02.665 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:02:02.665 [debug] QUERY OK source="sources" db=0.3ms idle=15.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 02:02:02.666 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:02:02.666 [debug] QUERY OK source="media_items" db=0.3ms idle=9.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9081] 02:02:02.668 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9081] 02:02:02.668 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:02:02.669 [debug] QUERY OK source="settings" db=0.2ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:02.669 [debug] QUERY OK source="settings" db=0.0ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:02.669 [debug] Running yt-dlp command for action: get_downloadable_status 02:02:02.671 [debug] QUERY OK source="settings" db=0.2ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:02.671 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:02.671 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:02.672 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3DFE8gZe9bA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b5/a1/b5a191b8502838056b5a058cd00029ecd17d545f02f6e6456bc7ebb2ab2feee4.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:02:05.013 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QOBH7hMh2Xs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b0/53/b053fa7cb43185fb06ede3a6c100c546b597642755a7827c4a0178505b817c48.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:02:05.014 [debug] Running yt-dlp command for action: download 02:02:05.015 [debug] QUERY OK source="settings" db=0.6ms queue=0.3ms idle=1305.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:05.016 [debug] QUERY OK source="settings" db=0.5ms idle=1306.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:05.017 [debug] QUERY OK source="settings" db=0.6ms idle=1307.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:05.017 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QOBH7hMh2Xs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8c/15/8c15234c47767555ad4c7af0071b431f74ee73963a10f1ce5b64b810607c9d23.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:02:07.578 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3DFE8gZe9bA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b5/a1/b5a191b8502838056b5a058cd00029ecd17d545f02f6e6456bc7ebb2ab2feee4.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:02:07.580 [debug] Running yt-dlp command for action: download 02:02:07.582 [debug] QUERY OK source="settings" db=1.5ms idle=1327.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:07.582 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=873.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:07.582 [debug] QUERY OK source="settings" db=0.2ms idle=874.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:07.583 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3DFE8gZe9bA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6f/7a/6f7ab8486710d9cad6979b08dc444c8576a1e44a7e344ec6c4554adc78f66e4c.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:02:13.206 [info] GET /media_profiles/1/edit 02:02:13.207 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 02:02:13.208 [debug] QUERY OK source="media_profiles" db=0.7ms idle=925.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:02:13.209 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=498.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:13.210 [debug] QUERY OK source="settings" db=0.4ms idle=498.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:13.211 [debug] QUERY OK source="settings" db=0.5ms idle=499.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:13.213 [info] Sent 200 in 6ms 02:02:18.119 [info] GET /sources/5/media/3789 02:02:18.119 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3789", "prevent_download" => "true", "source_id" => "5"} Pipelines: [:browser] 02:02:18.121 [debug] QUERY OK source="media_items" db=1.5ms idle=1409.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3789] 02:02:18.124 [debug] QUERY OK source="tasks" db=1.6ms idle=1411.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3789] 02:02:18.124 [debug] QUERY OK source="sources" db=1.7ms idle=1412.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 02:02:18.127 [debug] QUERY OK source="oban_jobs" db=1.2ms idle=1415.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2535] 02:02:18.129 [debug] QUERY OK source="settings" db=0.6ms queue=0.9ms idle=822.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:18.130 [debug] QUERY OK source="settings" db=0.5ms queue=0.5ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:18.133 [debug] QUERY OK source="settings" db=0.8ms queue=0.4ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:18.136 [debug] QUERY OK source="media_profiles" db=0.5ms idle=10.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:02:18.140 [info] Sent 200 in 21ms 02:02:18.908 [info] {"source":"oban","duration":4881,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:19.768 [info] GET /sources/22/media/35252/force_download 02:02:19.769 [debug] QUERY OK source="settings" db=0.4ms idle=860.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:19.769 [debug] QUERY OK source="settings" db=0.1ms idle=452.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:19.769 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:02:19.770 [error] #PID<0.42376.0> running PinchflatWeb.Endpoint (connection #PID<0.42370.0>, stream id 3) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/22/media/35252/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/22/media/35252/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42370.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/35252/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 49010}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42376.0>, params: %{}, path_info: ["sources", "22", "media", "35252", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.40"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "716824529"} ], request_path: "/sources/22/media/35252/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBlwnOsFygi5ZoAKO_B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42370.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/35252/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 49010}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/22/media/35252/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42370.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/35252/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 49010}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42376.0>, params: %{}, path_info: ["sources", "22", "media", "35252", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +h (truncated) 02:02:21.588 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3DFE8gZe9bA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6f/7a/6f7ab8486710d9cad6979b08dc444c8576a1e44a7e344ec6c4554adc78f66e4c.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:02:21.624 [debug] Running yt-dlp command for action: download_thumbnail 02:02:21.628 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1916.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:21.629 [debug] QUERY OK source="settings" db=0.6ms queue=0.4ms idle=1859.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:21.630 [debug] QUERY OK source="settings" db=0.5ms idle=1860.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:21.631 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3DFE8gZe9bA --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9081/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/f1/2e/f12e6ffa226232e4921b6c38713d435f1b79d58fe05b846d106dbc4aa52dbac6.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:02:21.838 [info] GET /sources/5/media/3789/edit 02:02:21.838 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3789", "source_id" => "5"} Pipelines: [:browser] 02:02:21.838 [debug] QUERY OK source="media_items" db=0.3ms idle=511.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3789] 02:02:21.839 [debug] QUERY OK source="settings" db=0.1ms idle=210.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:21.839 [debug] QUERY OK source="settings" db=0.1ms idle=209.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:21.839 [debug] QUERY OK source="settings" db=0.0ms idle=209.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:21.840 [info] Sent 200 in 2ms 02:02:27.232 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3DFE8gZe9bA --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9081/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/f1/2e/f12e6ffa226232e4921b6c38713d435f1b79d58fe05b846d106dbc4aa52dbac6.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:02:27.233 [debug] QUERY OK db=0.0ms idle=1522.4ms begin [] 02:02:27.236 [debug] QUERY OK source="media_items" db=2.8ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-12-12 07:02:21Z], "/downloads/Kurzgesagt/We Are Making a VIDEO GAME.mp4", "/downloads/Kurzgesagt/We Are Making a VIDEO GAME.info.json", "/downloads/Kurzgesagt/We Are Making a VIDEO GAME.nfo", "/downloads/Kurzgesagt/We Are Making a VIDEO GAME.mp4", "/downloads/Kurzgesagt/We Are Making a VIDEO GAME-thumb.jpg", ~U[2025-12-12 07:02:27Z], 9081] 02:02:27.237 [debug] QUERY OK source="media_metadata" db=0.6ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9081/metadata.json.gz", "/config/metadata/media_items/9081/thumbnail.jpg", 9081, ~U[2025-12-12 07:02:27Z], ~U[2025-12-12 07:02:27Z]] 02:02:27.238 [debug] QUERY OK db=0.8ms commit [] 02:02:27.266 [debug] QUERY OK source="media_items" db=27.2ms idle=1528.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [21461167, ~U[2025-12-12 07:02:27Z], 9081] 02:02:27.266 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:02:27.269 [info] {"args":{"id":9081},"id":4134,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":24602440,"event":"job:stop","queue_time":105069662590,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:02:27.275 [info] {"args":{"id":9082},"id":4135,"meta":{},"system_time":1765522947275676171,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:02:27.276 [debug] QUERY OK source="media_items" db=0.3ms idle=928.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9082] 02:02:27.276 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:02:27.278 [debug] QUERY OK source="sources" db=1.7ms idle=38.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 02:02:27.279 [debug] QUERY OK source="media_profiles" db=0.3ms idle=12.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:02:27.281 [debug] QUERY OK source="media_items" db=1.8ms idle=10.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9082] 02:02:27.286 [debug] QUERY OK source="media_metadata" db=0.8ms idle=9.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9082] 02:02:27.286 [debug] QUERY OK source="media_profiles" db=0.1ms idle=10.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:02:27.288 [debug] QUERY OK source="settings" db=1.4ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:27.289 [debug] QUERY OK source="settings" db=1.1ms idle=9.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:27.290 [debug] Running yt-dlp command for action: get_downloadable_status 02:02:27.291 [debug] QUERY OK source="settings" db=0.1ms idle=9.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:27.291 [debug] QUERY OK source="settings" db=0.1ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:27.292 [debug] QUERY OK source="settings" db=0.2ms idle=5.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:27.292 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=itBBsQRv0EU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/97/25/9725e2ed3eef098f9988f15bd6d0d4f117143862317db9fb01e2aa63754e08d6.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:02:31.781 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=itBBsQRv0EU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/97/25/9725e2ed3eef098f9988f15bd6d0d4f117143862317db9fb01e2aa63754e08d6.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:02:31.781 [debug] Running yt-dlp command for action: download 02:02:31.782 [debug] QUERY OK source="settings" db=0.2ms idle=1071.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:31.782 [debug] QUERY OK source="settings" db=0.0ms idle=1071.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:31.782 [debug] QUERY OK source="settings" db=0.2ms idle=1071.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:31.782 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=itBBsQRv0EU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6d/aa/6daa9852453f50bd24353b2d77785d27236c8b35ba19dd1eee7f2ec9e1b48f9e.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:02:48.914 [info] {"source":"oban","duration":4337,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:49.761 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=itBBsQRv0EU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6d/aa/6daa9852453f50bd24353b2d77785d27236c8b35ba19dd1eee7f2ec9e1b48f9e.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:02:49.796 [debug] Running yt-dlp command for action: download_thumbnail 02:02:49.798 [debug] QUERY OK source="settings" db=0.5ms idle=1085.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:49.799 [debug] QUERY OK source="settings" db=0.7ms idle=1086.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:49.800 [debug] QUERY OK source="settings" db=0.4ms idle=885.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:49.800 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=itBBsQRv0EU --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9082/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ef/b0/efb0a59ba8fee4a821e088271b63231557421930555783efd624b28088869153.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:02:52.906 [info] GET /sources/24/media/36758 02:02:52.906 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "36758", "prevent_download" => "true", "source_id" => "24"} Pipelines: [:browser] 02:02:52.911 [debug] QUERY OK source="media_items" db=4.4ms queue=0.1ms idle=1194.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [36758] 02:02:52.914 [debug] QUERY OK source="tasks" db=1.3ms queue=0.2ms idle=1200.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [36758] 02:02:52.915 [debug] QUERY OK source="sources" db=1.2ms idle=1201.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [24] 02:02:52.919 [debug] QUERY OK source="oban_jobs" db=1.0ms queue=0.2ms idle=1205.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [14186] 02:02:52.922 [debug] QUERY OK source="settings" db=0.6ms queue=0.3ms idle=411.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:52.923 [debug] QUERY OK source="settings" db=0.4ms queue=0.3ms idle=10.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:52.924 [debug] QUERY OK source="settings" db=0.6ms queue=0.3ms idle=9.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:52.929 [debug] QUERY OK source="media_profiles" db=0.3ms idle=13.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:02:52.932 [info] Sent 200 in 26ms 02:02:55.272 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=itBBsQRv0EU --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9082/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ef/b0/efb0a59ba8fee4a821e088271b63231557421930555783efd624b28088869153.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:02:55.273 [debug] QUERY OK db=0.0ms idle=751.1ms begin [] 02:02:55.274 [debug] QUERY OK source="media_items" db=1.4ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-12-12 07:02:49Z], "/downloads/Kurzgesagt/Your Hidden Superpower.mp4", "/downloads/Kurzgesagt/Your Hidden Superpower.info.json", "/downloads/Kurzgesagt/Your Hidden Superpower.nfo", "/downloads/Kurzgesagt/Your Hidden Superpower.mp4", "/downloads/Kurzgesagt/Your Hidden Superpower-thumb.jpg", ~U[2025-12-12 07:02:55Z], 9082] 02:02:55.275 [debug] QUERY OK source="media_metadata" db=0.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9082/metadata.json.gz", "/config/metadata/media_items/9082/thumbnail.jpg", 9082, ~U[2025-12-12 07:02:55Z], ~U[2025-12-12 07:02:55Z]] 02:02:55.276 [debug] QUERY OK db=0.5ms commit [] 02:02:55.279 [debug] QUERY OK source="media_items" db=2.4ms idle=563.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [41869836, ~U[2025-12-12 07:02:55Z], 9082] 02:02:55.279 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:02:55.280 [info] {"args":{"id":9082},"id":4135,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":28003750,"event":"job:stop","queue_time":105091274566,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:02:55.286 [info] {"args":{"id":9083},"id":4136,"meta":{},"system_time":1765522975286535619,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:02:55.287 [debug] QUERY OK source="media_items" db=0.2ms idle=573.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9083] 02:02:55.287 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:02:55.287 [debug] QUERY OK source="sources" db=0.4ms idle=10.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 02:02:55.288 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:02:55.289 [debug] QUERY OK source="media_items" db=0.3ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9083] 02:02:55.289 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9083] 02:02:55.289 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:02:55.290 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:55.290 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:55.290 [debug] Running yt-dlp command for action: get_downloadable_status 02:02:55.291 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:55.291 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:55.291 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:02:55.291 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Hwz56hBW9KI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/22/68/226838e875810052d22127f386ae530f14dde16fd341ff6afed9cbe80a707abf.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:03:00.072 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Hwz56hBW9KI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/22/68/226838e875810052d22127f386ae530f14dde16fd341ff6afed9cbe80a707abf.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:03:00.073 [debug] Running yt-dlp command for action: download 02:03:00.073 [debug] QUERY OK source="settings" db=0.1ms idle=1360.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:03:00.073 [debug] QUERY OK source="settings" db=0.0ms idle=1360.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:03:00.073 [debug] QUERY OK source="settings" db=0.0ms idle=1360.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:03:00.073 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Hwz56hBW9KI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e7/86/e786f7340f2f93df0f38827c051f777779a453c4cb8103155b38eee80aa4fdab.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:03:00.613 [info] {"source":"oban","duration":1592,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:03:18.920 [info] {"source":"oban","duration":5379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:41.083 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QOBH7hMh2Xs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8c/15/8c15234c47767555ad4c7af0071b431f74ee73963a10f1ce5b64b810607c9d23.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:03:41.125 [debug] Running yt-dlp command for action: download_thumbnail 02:03:41.129 [debug] QUERY OK source="settings" db=2.2ms idle=1378.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:03:41.129 [debug] QUERY OK source="settings" db=0.1ms idle=1380.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:03:41.130 [debug] QUERY OK source="settings" db=0.4ms idle=1380.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:03:41.130 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QOBH7hMh2Xs --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9080/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/10/61/1061de788fc2942578bb9b90684544a800fa22d9a8d1756cfadb50c22ebfd97b.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:03:47.213 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QOBH7hMh2Xs --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9080/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/10/61/1061de788fc2942578bb9b90684544a800fa22d9a8d1756cfadb50c22ebfd97b.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:03:47.214 [debug] QUERY OK db=0.0ms idle=465.9ms begin [] 02:03:47.219 [debug] QUERY OK source="media_items" db=4.6ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-12-12 07:03:41Z], "/downloads/Epic History/Belisarius: The Emperor's Sword (1⧸6).mp4", "/downloads/Epic History/Belisarius: The Emperor's Sword (1⧸6).info.json", "/downloads/Epic History/Belisarius: The Emperor's Sword (1⧸6).nfo", "/downloads/Epic History/Belisarius: The Emperor's Sword (1⧸6).mp4", "/downloads/Epic History/Belisarius: The Emperor's Sword (1⧸6)-thumb.jpg", ~U[2025-12-12 07:03:47Z], 9080] 02:03:47.225 [debug] QUERY OK source="media_metadata" db=3.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9080/metadata.json.gz", "/config/metadata/media_items/9080/thumbnail.jpg", 9080, ~U[2025-12-12 07:03:47Z], ~U[2025-12-12 07:03:47Z]] 02:03:47.227 [debug] QUERY OK db=1.6ms commit [] 02:03:47.232 [debug] QUERY OK source="media_items" db=5.1ms idle=478.9ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [426542398, ~U[2025-12-12 07:03:47Z], 9080] 02:03:47.233 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:03:47.235 [info] {"args":{"id":9080},"id":4133,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":107450951,"event":"job:stop","queue_time":105067781070,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:03:47.243 [info] {"args":{"id":9084},"id":4137,"meta":{},"system_time":1765523027243557748,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:03:47.245 [debug] QUERY OK source="media_items" db=1.4ms idle=436.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9084] 02:03:47.245 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:03:47.246 [debug] QUERY OK source="sources" db=0.6ms idle=18.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 02:03:47.247 [debug] QUERY OK source="media_profiles" db=0.4ms idle=13.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:03:47.249 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=13.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9084] 02:03:47.252 [debug] QUERY OK source="media_metadata" db=0.4ms queue=0.1ms idle=8.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9084] 02:03:47.253 [debug] QUERY OK source="media_profiles" db=0.8ms idle=7.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:03:47.254 [debug] QUERY OK source="settings" db=0.3ms idle=7.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:03:47.254 [debug] QUERY OK source="settings" db=0.4ms idle=7.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:03:47.256 [debug] Running yt-dlp command for action: get_downloadable_status 02:03:47.257 [debug] QUERY OK source="settings" db=0.3ms idle=7.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:03:47.258 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:03:47.260 [debug] QUERY OK source="settings" db=1.6ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:03:47.260 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=71eUes30gwc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/62/7a/627a05d9ed4a8b54aa1b20bcef3620dcec66d980b14a715833d74604f20cece1.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:03:48.928 [info] {"source":"oban","duration":7782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:51.877 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=71eUes30gwc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/62/7a/627a05d9ed4a8b54aa1b20bcef3620dcec66d980b14a715833d74604f20cece1.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:03:51.878 [debug] Running yt-dlp command for action: download 02:03:51.879 [debug] QUERY OK source="settings" db=0.3ms idle=1129.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:03:51.879 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1130.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:03:51.880 [debug] QUERY OK source="settings" db=0.7ms idle=1131.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:03:51.882 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=71eUes30gwc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/29/7f/297f7d10d5906b4f9bfee04aa12834dc2fef2ca4b2bd7f15d2a941928ec36a41.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:04:00.614 [info] {"source":"oban","duration":286,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:04:04.269 [info] GET /sources/22/media/35255/force_download 02:04:04.273 [debug] QUERY OK source="settings" db=3.0ms idle=521.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:04.273 [debug] QUERY OK source="settings" db=0.5ms idle=524.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:04.274 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:04.275 [error] #PID<0.42416.0> running PinchflatWeb.Endpoint (connection #PID<0.42415.0>, stream id 1) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/22/media/35255/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/22/media/35255/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42415.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/35255/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 50988}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42416.0>, params: %{}, path_info: ["sources", "22", "media", "35255", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0"}, {"from", "gptbot(at)openai.com"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.40"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "716824529"} ], request_path: "/sources/22/media/35255/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBl2sh2CMMrPC0AKPEB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42415.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/35255/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 50988}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/22/media/35255/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42415.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/35255/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 50988}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0" }, halted: false, host: "youtube.zakscode.com", (truncated) 02:04:18.932 [info] {"source":"oban","duration":2450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:48.934 [info] {"source":"oban","duration":1332,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:57.382 [info] GET /sources/22/media/35263/force_download 02:04:57.383 [debug] QUERY OK source="settings" db=0.3ms idle=1627.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:57.385 [debug] QUERY OK source="settings" db=1.8ms idle=1212.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:57.386 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:04:57.392 [error] #PID<0.42422.0> running PinchflatWeb.Endpoint (connection #PID<0.42421.0>, stream id 1) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/22/media/35263/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/22/media/35263/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42421.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/35263/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 34020}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42422.0>, params: %{}, path_info: ["sources", "22", "media", "35263", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0"}, {"from", "gptbot(at)openai.com"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.40"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "716824529"} ], request_path: "/sources/22/media/35263/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBl5yY6Cty_T8UAB0ID"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42421.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/35263/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 34020}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/22/media/35263/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42421.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/35263/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 34020}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0" }, halted: false, host: "youtube.zakscode.com", (truncated) 02:04:59.075 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=71eUes30gwc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/29/7f/297f7d10d5906b4f9bfee04aa12834dc2fef2ca4b2bd7f15d2a941928ec36a41.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:04:59.117 [debug] Running yt-dlp command for action: download_thumbnail 02:04:59.120 [debug] QUERY OK source="settings" db=0.2ms idle=928.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:59.121 [debug] QUERY OK source="settings" db=0.2ms idle=365.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:59.121 [debug] QUERY OK source="settings" db=0.0ms idle=365.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:04:59.121 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=71eUes30gwc --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9084/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/3e/cc/3ecce94b897083eedd838235fa0a07e7e6f0e409b2c2fbaf79003bfdda9cebe1.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:05:00.615 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:05:01.700 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Hwz56hBW9KI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e7/86/e786f7340f2f93df0f38827c051f777779a453c4cb8103155b38eee80aa4fdab.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:05:01.733 [debug] Running yt-dlp command for action: download_thumbnail 02:05:01.737 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=1121.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:05:01.738 [debug] QUERY OK source="settings" db=0.7ms idle=982.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:05:01.739 [debug] QUERY OK source="settings" db=1.2ms idle=982.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:05:01.740 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Hwz56hBW9KI --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9083/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/8e/97/8e977253f6534ecbb87cbf55389aa7906a2439f02b97c70dc7411ce26f985bdc.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:05:04.382 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=71eUes30gwc --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9084/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/3e/cc/3ecce94b897083eedd838235fa0a07e7e6f0e409b2c2fbaf79003bfdda9cebe1.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:05:04.383 [debug] QUERY OK db=0.1ms idle=1627.6ms begin [] 02:05:04.390 [debug] QUERY OK source="media_items" db=6.7ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-12-12 07:04:59Z], "/downloads/Kurzgesagt/This Black Hole Could be Bigger Than The Universe.mp4", "/downloads/Kurzgesagt/This Black Hole Could be Bigger Than The Universe.info.json", "/downloads/Kurzgesagt/This Black Hole Could be Bigger Than The Universe.nfo", "/downloads/Kurzgesagt/This Black Hole Could be Bigger Than The Universe.mp4", "/downloads/Kurzgesagt/This Black Hole Could be Bigger Than The Universe-thumb.jpg", ~U[2025-12-12 07:05:04Z], 9084] 02:05:04.400 [debug] QUERY OK source="media_metadata" db=9.7ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9084/metadata.json.gz", "/config/metadata/media_items/9084/thumbnail.jpg", 9084, ~U[2025-12-12 07:05:04Z], ~U[2025-12-12 07:05:04Z]] 02:05:04.402 [debug] QUERY OK db=1.8ms commit [] 02:05:04.406 [debug] QUERY OK source="media_items" db=3.0ms idle=1647.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [282526854, ~U[2025-12-12 07:05:04Z], 9084] 02:05:04.406 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:05:04.407 [info] {"args":{"id":9084},"id":4137,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":77163446,"event":"job:stop","queue_time":105168240628,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:05:04.416 [info] {"args":{"id":9085},"id":4138,"meta":{},"system_time":1765523104416330506,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:05:04.422 [debug] QUERY OK source="media_items" db=5.4ms queue=0.1ms idle=193.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9085] 02:05:04.424 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:05:04.429 [debug] QUERY OK source="sources" db=3.0ms queue=0.3ms idle=23.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 02:05:04.432 [debug] QUERY OK source="media_profiles" db=1.8ms queue=0.6ms idle=23.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:05:04.434 [debug] QUERY OK source="media_items" db=1.1ms idle=25.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9085] 02:05:04.443 [debug] QUERY OK source="media_metadata" db=0.6ms queue=0.2ms idle=26.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9085] 02:05:04.444 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.4ms idle=21.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:05:04.445 [debug] QUERY OK source="settings" db=0.4ms idle=15.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:05:04.446 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=13.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:05:04.447 [debug] Running yt-dlp command for action: get_downloadable_status 02:05:04.449 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=13.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:05:04.450 [debug] QUERY OK source="settings" db=0.6ms idle=6.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:05:04.450 [debug] QUERY OK source="settings" db=0.2ms idle=5.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:05:04.451 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=55Jas5HrzcQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/20/ad/20adc43e03423197057a010e2089309ab0dedae3c989547eeb8b412f2e7cc11e.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:05:06.753 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Hwz56hBW9KI --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9083/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/8e/97/8e977253f6534ecbb87cbf55389aa7906a2439f02b97c70dc7411ce26f985bdc.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:05:06.753 [debug] QUERY OK db=0.0ms idle=998.0ms begin [] 02:05:06.755 [debug] QUERY OK source="media_items" db=1.0ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-12-12 07:05:01Z], "/downloads/Epic History/Salamis 480 BC: The Battle for Greece.mp4", "/downloads/Epic History/Salamis 480 BC: The Battle for Greece.info.json", "/downloads/Epic History/Salamis 480 BC: The Battle for Greece.nfo", "/downloads/Epic History/Salamis 480 BC: The Battle for Greece.mp4", "/downloads/Epic History/Salamis 480 BC: The Battle for Greece-thumb.jpg", ~U[2025-12-12 07:05:06Z], 9083] 02:05:06.755 [debug] QUERY OK source="media_metadata" db=0.5ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9083/metadata.json.gz", "/config/metadata/media_items/9083/thumbnail.jpg", 9083, ~U[2025-12-12 07:05:06Z], ~U[2025-12-12 07:05:06Z]] 02:05:06.756 [debug] QUERY OK db=0.6ms commit [] 02:05:06.758 [debug] QUERY OK source="media_items" db=1.6ms idle=1001.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [547577946, ~U[2025-12-12 07:05:06Z], 9083] 02:05:06.758 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:05:06.759 [info] {"args":{"id":9083},"id":4136,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":131472042,"event":"job:stop","queue_time":105119285561,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:05:06.765 [info] {"args":{"id":9086},"id":4139,"meta":{},"system_time":1765523106765605975,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:05:06.766 [debug] QUERY OK source="media_items" db=0.3ms idle=510.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9086] 02:05:06.766 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:05:06.766 [debug] QUERY OK source="sources" db=0.2ms idle=10.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 02:05:06.767 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:05:06.767 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9086] 02:05:06.768 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9086] 02:05:06.768 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:05:06.768 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:05:06.769 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:05:06.769 [debug] Running yt-dlp command for action: get_downloadable_status 02:05:06.770 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:05:06.770 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:05:06.770 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:05:06.770 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_rBPwu2uS-w --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f3/b9/f3b9bfd91b96ea1ed43cf66b7127378ef3c9dc4317e5847486086aef33e760cb.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:05:09.271 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=55Jas5HrzcQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/20/ad/20adc43e03423197057a010e2089309ab0dedae3c989547eeb8b412f2e7cc11e.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:05:09.271 [debug] Running yt-dlp command for action: download 02:05:09.272 [debug] QUERY OK source="settings" db=0.3ms idle=997.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:05:09.272 [debug] QUERY OK source="settings" db=0.3ms queue=0.3ms idle=516.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:05:09.273 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=517.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:05:09.274 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=55Jas5HrzcQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9f/b8/9fb87c3050843eac46cd3a4892056ef078656070fcc20014b813b3c73d909ca2.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:05:12.352 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_rBPwu2uS-w --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f3/b9/f3b9bfd91b96ea1ed43cf66b7127378ef3c9dc4317e5847486086aef33e760cb.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:05:12.354 [debug] Running yt-dlp command for action: download 02:05:12.357 [debug] QUERY OK source="settings" db=1.8ms queue=1.0ms idle=1599.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:05:12.359 [debug] QUERY OK source="settings" db=0.7ms queue=0.3ms idle=1602.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:05:12.360 [debug] QUERY OK source="settings" db=0.9ms idle=1603.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:05:12.360 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_rBPwu2uS-w --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ab/df/abdf4f865e98d3ceb1bc165676edbdd8a8517094b7a2765131c01379ea7546fb.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:05:18.940 [info] {"source":"oban","duration":4915,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:48.946 [info] {"source":"oban","duration":4123,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:00.618 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:06:01.169 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_rBPwu2uS-w --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ab/df/abdf4f865e98d3ceb1bc165676edbdd8a8517094b7a2765131c01379ea7546fb.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:06:01.197 [debug] Running yt-dlp command for action: download_thumbnail 02:06:01.200 [debug] QUERY OK source="settings" db=0.2ms idle=672.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:06:01.200 [debug] QUERY OK source="settings" db=0.2ms idle=582.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:06:01.201 [debug] QUERY OK source="settings" db=0.2ms idle=443.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:06:01.201 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_rBPwu2uS-w --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9086/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/f7/b6/f7b6d17f558bab508f48ec272c3d7ed5878110a9bb007dafa7ba16b76f24746c.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:06:05.395 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_rBPwu2uS-w --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9086/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/f7/b6/f7b6d17f558bab508f48ec272c3d7ed5878110a9bb007dafa7ba16b76f24746c.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:06:05.398 [debug] QUERY OK db=0.8ms idle=854.8ms begin [] 02:06:05.402 [debug] QUERY OK source="media_items" db=3.4ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [614, ~U[2025-12-12 07:06:01Z], "/downloads/Kurzgesagt/Smoking is Awesome.mp4", "/downloads/Kurzgesagt/Smoking is Awesome.info.json", "/downloads/Kurzgesagt/Smoking is Awesome.nfo", "/downloads/Kurzgesagt/Smoking is Awesome.mp4", "/downloads/Kurzgesagt/Smoking is Awesome-thumb.jpg", ~U[2025-12-12 07:06:05Z], 9086] 02:06:05.404 [debug] QUERY OK source="media_metadata" db=1.3ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9086/metadata.json.gz", "/config/metadata/media_items/9086/thumbnail.jpg", 9086, ~U[2025-12-12 07:06:05Z], ~U[2025-12-12 07:06:05Z]] 02:06:05.405 [debug] QUERY OK db=1.0ms commit [] 02:06:05.408 [debug] QUERY OK source="media_items" db=2.6ms idle=647.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [180094977, ~U[2025-12-12 07:06:05Z], 9086] 02:06:05.408 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:06:05.409 [info] {"args":{"id":9086},"id":4139,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":58642954,"event":"job:stop","queue_time":105245764531,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:06:05.417 [info] {"args":{"id":9087},"id":4140,"meta":{},"system_time":1765523165417446476,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:06:05.419 [debug] QUERY OK source="media_items" db=1.1ms idle=660.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9087] 02:06:05.419 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:06:05.420 [debug] QUERY OK source="sources" db=0.8ms idle=14.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 02:06:05.421 [debug] QUERY OK source="media_profiles" db=0.6ms idle=12.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:06:05.422 [debug] QUERY OK source="media_items" db=0.5ms idle=12.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9087] 02:06:05.423 [debug] QUERY OK source="media_metadata" db=0.1ms idle=5.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9087] 02:06:05.423 [debug] QUERY OK source="media_profiles" db=0.4ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:06:05.424 [debug] QUERY OK source="settings" db=0.6ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:06:05.425 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:06:05.426 [debug] Running yt-dlp command for action: get_downloadable_status 02:06:05.428 [debug] QUERY OK source="settings" db=0.2ms idle=5.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:06:05.428 [debug] QUERY OK source="settings" db=0.1ms idle=5.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:06:05.428 [debug] QUERY OK source="settings" db=0.1ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:06:05.429 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vBSGSkIasRY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/86/d4/86d4b0f93e56a81242bec23ea1fdf754566dc4191bc37f9d5f762924545e621d.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:06:09.127 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vBSGSkIasRY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/86/d4/86d4b0f93e56a81242bec23ea1fdf754566dc4191bc37f9d5f762924545e621d.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:06:09.127 [debug] Running yt-dlp command for action: download 02:06:09.127 [debug] QUERY OK source="settings" db=0.2ms idle=568.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:06:09.128 [debug] QUERY OK source="settings" db=0.1ms idle=370.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:06:09.128 [debug] QUERY OK source="settings" db=0.0ms idle=370.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:06:09.128 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vBSGSkIasRY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/32/1c/321c80c1a9d99c1cef465087db7f63ae1d43ddc570f1a11ecb67d37fc300e835.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:06:12.605 [info] GET /sources/22/media/35257/force_download 02:06:12.606 [debug] QUERY OK source="settings" db=0.1ms idle=1848.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:06:12.606 [debug] QUERY OK source="settings" db=0.1ms idle=1848.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:06:12.606 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:06:12.606 [error] #PID<0.42452.0> running PinchflatWeb.Endpoint (connection #PID<0.42451.0>, stream id 1) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/22/media/35257/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/22/media/35257/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42451.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/35257/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 34302}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42452.0>, params: %{}, path_info: ["sources", "22", "media", "35257", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0"}, {"from", "gptbot(at)openai.com"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.40"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "716824529"} ], request_path: "/sources/22/media/35257/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBl-KnjPXFPbtIAKPFB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42451.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/35257/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 34302}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/22/media/35257/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42451.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/35257/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 34302}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0" }, halted: false, host: "youtube.zakscode.com", (truncated) 02:06:18.950 [info] {"source":"oban","duration":2956,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:48.953 [info] {"source":"oban","duration":1533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:00.618 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:07:17.284 [info] GET /sources/22/media/35259/force_download 02:07:17.284 [debug] QUERY OK source="settings" db=0.1ms idle=1525.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:07:17.285 [debug] QUERY OK source="settings" db=0.0ms idle=533.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:07:17.285 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:07:17.285 [error] #PID<0.42460.0> running PinchflatWeb.Endpoint (connection #PID<0.42459.0>, stream id 1) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/22/media/35259/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/22/media/35259/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42459.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/35259/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 37812}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42460.0>, params: %{}, path_info: ["sources", "22", "media", "35259", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0"}, {"from", "gptbot(at)openai.com"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.40"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "716824529"} ], request_path: "/sources/22/media/35259/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBmB7kJE2Ua_x4AB0OD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42459.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/35259/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 37812}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/22/media/35259/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42459.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/35259/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 37812}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcXhOU0M1YnFDUnRoSGZqSlNyd0Z5ckZN.siInsRaV_EzJN-yDxRDkvSnz6jDC1yHQhAzlCjA1zl0" }, halted: false, host: "youtube.zakscode.com", (truncated) 02:07:18.955 [info] {"source":"oban","duration":1534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:48.956 [info] {"source":"oban","duration":868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:00.619 [info] {"source":"oban","duration":222,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:08:10.799 [info] GET /sources/22/media/35266/force_download 02:08:10.800 [debug] QUERY OK source="settings" db=0.2ms idle=1040.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:10.800 [debug] QUERY OK source="settings" db=0.1ms idle=934.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:10.800 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:08:10.800 [error] #PID<0.42467.0> running PinchflatWeb.Endpoint (connection #PID<0.42466.0>, stream id 1) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/22/media/35266/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/22/media/35266/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42466.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/35266/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44432}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42467.0>, params: %{}, path_info: ["sources", "22", "media", "35266", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.40"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "716824529"} ], request_path: "/sources/22/media/35266/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBmFC7K8kMjQkwAKPGB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42466.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/35266/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44432}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/22/media/35266/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42466.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/35266/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 44432}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42467.0>, params: %{}, path_info: ["sources", "22", "media", "35266", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +h (truncated) 02:08:18.963 [info] {"source":"oban","duration":6015,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:26.465 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=55Jas5HrzcQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9f/b8/9fb87c3050843eac46cd3a4892056ef078656070fcc20014b813b3c73d909ca2.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:08:26.496 [debug] Running yt-dlp command for action: download_thumbnail 02:08:26.500 [debug] QUERY OK source="settings" db=0.4ms idle=1739.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:26.500 [debug] QUERY OK source="settings" db=0.1ms idle=1740.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:26.500 [debug] QUERY OK source="settings" db=0.1ms idle=1556.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:26.501 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=55Jas5HrzcQ --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9085/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/0e/70/0e7041cfebb339ee18478af62c0be28f6a4aac17c366c4576e7d495f990f77ad.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:08:31.527 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=55Jas5HrzcQ --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9085/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/0e/70/0e7041cfebb339ee18478af62c0be28f6a4aac17c366c4576e7d495f990f77ad.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:08:31.530 [debug] QUERY OK db=1.6ms idle=1767.2ms begin [] 02:08:31.534 [debug] QUERY OK source="media_items" db=2.9ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-12-12 07:08:26Z], "/downloads/Epic History/Apollo Program: Tragedy and Triumph (All Parts).mp4", "/downloads/Epic History/Apollo Program: Tragedy and Triumph (All Parts).info.json", "/downloads/Epic History/Apollo Program: Tragedy and Triumph (All Parts).nfo", "/downloads/Epic History/Apollo Program: Tragedy and Triumph (All Parts).mp4", "/downloads/Epic History/Apollo Program: Tragedy and Triumph (All Parts)-thumb.jpg", ~U[2025-12-12 07:08:31Z], 9085] 02:08:31.535 [debug] QUERY OK source="media_metadata" db=0.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9085/metadata.json.gz", "/config/metadata/media_items/9085/thumbnail.jpg", 9085, ~U[2025-12-12 07:08:31Z], ~U[2025-12-12 07:08:31Z]] 02:08:31.536 [debug] QUERY OK db=0.9ms commit [] 02:08:31.538 [debug] QUERY OK source="media_items" db=2.0ms idle=1775.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [672958829, ~U[2025-12-12 07:08:31Z], 9085] 02:08:31.538 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:08:31.540 [info] {"args":{"id":9085},"id":4138,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":207122310,"event":"job:stop","queue_time":105245413640,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:08:31.549 [info] {"args":{"id":9088},"id":4141,"meta":{},"system_time":1765523311548882746,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:08:31.550 [debug] QUERY OK source="media_items" db=1.2ms idle=569.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9088] 02:08:31.551 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:08:31.552 [debug] QUERY OK source="sources" db=0.6ms queue=0.5ms idle=15.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 02:08:31.553 [debug] QUERY OK source="media_profiles" db=0.5ms idle=14.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:08:31.553 [debug] QUERY OK source="media_items" db=0.5ms idle=12.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9088] 02:08:31.554 [debug] QUERY OK source="media_metadata" db=0.2ms idle=5.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9088] 02:08:31.555 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:08:31.556 [debug] QUERY OK source="settings" db=0.7ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:31.556 [debug] QUERY OK source="settings" db=0.4ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:31.558 [debug] Running yt-dlp command for action: get_downloadable_status 02:08:31.563 [debug] QUERY OK source="settings" db=0.5ms idle=8.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:31.564 [debug] QUERY OK source="settings" db=0.3ms queue=0.3ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:31.564 [debug] QUERY OK source="settings" db=0.2ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:31.564 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GG0LY8OLBG8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fe/1f/fe1ff5993c7022b343ec6ea4715ab5f46efe7f276871d47dd62a4e98e6789094.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:08:34.590 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GG0LY8OLBG8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fe/1f/fe1ff5993c7022b343ec6ea4715ab5f46efe7f276871d47dd62a4e98e6789094.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] GG0LY8OLBG8: Sign in to confirm your age. This video may be inappropriate for some users. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 02:08:34.590 [error] yt-dlp download error for media item #9088: "ERROR: [youtube] GG0LY8OLBG8: Sign in to confirm your age. This video may be inappropriate for some users. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:08:34.595 [debug] QUERY OK source="media_items" db=4.6ms idle=1829.9ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: [youtube] GG0LY8OLBG8: Sign in to confirm your age. This video may be inappropriate for some users. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n", ~U[2025-12-12 07:08:34Z], 9088] 02:08:34.595 [error] yt-dlp download will not be retried: "ERROR: [youtube] GG0LY8OLBG8: Sign in to confirm your age. This video may be inappropriate for some users. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:08:34.597 [info] {"args":{"id":9088},"id":4141,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":3046777,"event":"job:stop","queue_time":105448546699,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:08:34.606 [info] {"args":{"id":9089},"id":4142,"meta":{},"system_time":1765523314606027243,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:08:34.608 [debug] QUERY OK source="media_items" db=1.8ms idle=1600.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9089] 02:08:34.608 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:08:34.610 [debug] QUERY OK source="sources" db=1.2ms idle=594.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 02:08:34.611 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.4ms idle=14.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:08:34.613 [debug] QUERY OK source="media_items" db=1.4ms idle=13.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9089] 02:08:34.615 [debug] QUERY OK source="media_metadata" db=0.3ms queue=0.1ms idle=8.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9089] 02:08:34.615 [debug] QUERY OK source="media_profiles" db=0.2ms idle=7.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:08:34.616 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=5.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:34.616 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:34.617 [debug] Running yt-dlp command for action: get_downloadable_status 02:08:34.619 [debug] QUERY OK source="settings" db=0.2ms idle=5.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:34.619 [debug] QUERY OK source="settings" db=0.2ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:34.619 [debug] QUERY OK source="settings" db=0.1ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:34.619 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OvKr6loCciE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/78/f4/78f415f42cb80e5c6ec0deaab1a1f149825d664887b6d39086d9f6d2ef64a26d.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:08:39.484 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OvKr6loCciE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/78/f4/78f415f42cb80e5c6ec0deaab1a1f149825d664887b6d39086d9f6d2ef64a26d.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:08:39.485 [debug] Running yt-dlp command for action: download 02:08:39.486 [debug] QUERY OK source="settings" db=0.8ms idle=1724.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:39.487 [debug] QUERY OK source="settings" db=0.4ms idle=1725.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:39.487 [debug] QUERY OK source="settings" db=0.1ms idle=1726.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:39.487 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OvKr6loCciE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f5/59/f5593468a4335585bee30716e6d09a3f27d716c56d9020ec50cd1208b501ca24.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:08:48.972 [info] {"source":"oban","duration":8145,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:55.598 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OvKr6loCciE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f5/59/f5593468a4335585bee30716e6d09a3f27d716c56d9020ec50cd1208b501ca24.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:08:55.631 [debug] Running yt-dlp command for action: download_thumbnail 02:08:55.646 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=885.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:55.647 [debug] QUERY OK source="settings" db=0.4ms queue=0.4ms idle=886.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:55.648 [debug] QUERY OK source="settings" db=0.4ms idle=887.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:55.649 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OvKr6loCciE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9089/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/cf/57/cf57531dc42d408a0c3b10f913a80d25fb846f3f0b88578b1ed81b3a95b391c3.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:08:59.922 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OvKr6loCciE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9089/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/cf/57/cf57531dc42d408a0c3b10f913a80d25fb846f3f0b88578b1ed81b3a95b391c3.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:08:59.923 [debug] QUERY OK db=0.0ms idle=1162.3ms begin [] 02:08:59.924 [debug] QUERY OK source="media_items" db=1.1ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-12-12 07:08:55Z], "/downloads/Kurzgesagt/What Makes Kurzgesagt So Special?.mp4", "/downloads/Kurzgesagt/What Makes Kurzgesagt So Special?.info.json", "/downloads/Kurzgesagt/What Makes Kurzgesagt So Special?.nfo", "/downloads/Kurzgesagt/What Makes Kurzgesagt So Special?.mp4", "/downloads/Kurzgesagt/What Makes Kurzgesagt So Special?-thumb.jpg", ~U[2025-12-12 07:08:59Z], 9089] 02:08:59.925 [debug] QUERY OK source="media_metadata" db=0.7ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9089/metadata.json.gz", "/config/metadata/media_items/9089/thumbnail.jpg", 9089, ~U[2025-12-12 07:08:59Z], ~U[2025-12-12 07:08:59Z]] 02:08:59.926 [debug] QUERY OK db=0.7ms commit [] 02:08:59.927 [debug] QUERY OK source="media_items" db=1.3ms idle=1165.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [36195871, ~U[2025-12-12 07:08:59Z], 9089] 02:08:59.927 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:08:59.928 [info] {"args":{"id":9089},"id":4142,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":25321732,"event":"job:stop","queue_time":105450604833,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:08:59.934 [info] {"args":{"id":9090},"id":4143,"meta":{},"system_time":1765523339934478886,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:08:59.935 [debug] QUERY OK source="media_items" db=0.3ms idle=785.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9090] 02:08:59.935 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:08:59.935 [debug] QUERY OK source="sources" db=0.3ms idle=9.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 02:08:59.935 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:08:59.936 [debug] QUERY OK source="media_items" db=0.2ms idle=7.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9090] 02:08:59.937 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9090] 02:08:59.937 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:08:59.937 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:59.937 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:59.938 [debug] Running yt-dlp command for action: get_downloadable_status 02:08:59.938 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:59.938 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:59.939 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:59.939 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=1gNCT1lAlBw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/73/61/73619292050773c37454916c604727e0103d6789cf147c7b29e92ebc84b75367.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:09:00.620 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:09:03.570 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=1gNCT1lAlBw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/73/61/73619292050773c37454916c604727e0103d6789cf147c7b29e92ebc84b75367.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:09:03.570 [debug] Running yt-dlp command for action: download 02:09:03.570 [debug] QUERY OK source="settings" db=0.1ms idle=1810.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:09:03.571 [debug] QUERY OK source="settings" db=0.0ms idle=1810.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:09:03.571 [debug] QUERY OK source="settings" db=0.0ms idle=1810.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:09:03.571 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=1gNCT1lAlBw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/85/8c/858c734566243552ec6426a006f833761936539552fc895f00533ef462b8c938.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:09:18.982 [info] {"source":"oban","duration":8821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:20.801 [info] GET /sources/24/media/36751 02:09:20.801 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "36751", "prevent_download" => "true", "source_id" => "24"} Pipelines: [:browser] 02:09:20.804 [debug] QUERY OK source="media_items" db=2.3ms idle=548.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [36751] 02:09:20.806 [debug] QUERY OK source="sources" db=1.0ms idle=41.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [24] 02:09:20.807 [debug] QUERY OK source="tasks" db=0.9ms idle=43.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [36751] 02:09:20.808 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=44.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [14179] 02:09:20.809 [debug] QUERY OK source="settings" db=0.2ms idle=45.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:09:20.812 [debug] QUERY OK source="settings" db=3.1ms idle=5.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:09:20.814 [debug] QUERY OK source="settings" db=0.8ms idle=7.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:09:20.816 [debug] QUERY OK source="media_profiles" db=1.2ms idle=7.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:09:20.818 [info] Sent 200 in 17ms 02:09:48.985 [info] {"source":"oban","duration":1358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:00.621 [info] {"source":"oban","duration":213,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:10:10.346 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=1gNCT1lAlBw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/85/8c/858c734566243552ec6426a006f833761936539552fc895f00533ef462b8c938.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:10:10.371 [debug] Running yt-dlp command for action: download_thumbnail 02:10:10.377 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=1609.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:10.378 [debug] QUERY OK source="settings" db=0.6ms idle=1612.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:10.380 [debug] QUERY OK source="settings" db=0.7ms idle=1613.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:10.381 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=1gNCT1lAlBw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9090/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/71/b4/71b49b99aa12cfdb102864777d31fb99b48085171b03ca726a368f8278516f30.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:10:15.192 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=1gNCT1lAlBw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9090/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/71/b4/71b49b99aa12cfdb102864777d31fb99b48085171b03ca726a368f8278516f30.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] 1gNCT1lAlBw: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 1gNCT1lAlBw: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 02:10:15.193 [debug] QUERY OK db=0.0ms idle=1427.6ms begin [] 02:10:15.195 [debug] QUERY OK source="media_items" db=1.3ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-12-12 07:10:10Z], "/downloads/Epic History/Apollo Program: The Brink of Disaster.mp4", "/downloads/Epic History/Apollo Program: The Brink of Disaster.info.json", "/downloads/Epic History/Apollo Program: The Brink of Disaster.nfo", "/downloads/Epic History/Apollo Program: The Brink of Disaster.mp4", "/downloads/Epic History/Apollo Program: The Brink of Disaster-thumb.jpg", ~U[2025-12-12 07:10:15Z], 9090] 02:10:15.195 [debug] QUERY OK source="media_metadata" db=0.4ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9090/metadata.json.gz", "/config/metadata/media_items/9090/thumbnail.jpg", 9090, ~U[2025-12-12 07:10:15Z], ~U[2025-12-12 07:10:15Z]] 02:10:15.196 [debug] QUERY OK db=0.9ms commit [] 02:10:15.200 [debug] QUERY OK source="media_items" db=3.5ms idle=1431.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [288215554, ~U[2025-12-12 07:10:15Z], 9090] 02:10:15.201 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:10:15.201 [info] {"args":{"id":9090},"id":4143,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":75266560,"event":"job:stop","queue_time":105473933561,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:10:15.208 [info] {"args":{"id":9091},"id":4144,"meta":{},"system_time":1765523415208747795,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:10:15.209 [debug] QUERY OK source="media_items" db=0.4ms idle=700.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9091] 02:10:15.209 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:10:15.210 [debug] QUERY OK source="sources" db=0.4ms idle=13.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 02:10:15.210 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:10:15.211 [debug] QUERY OK source="media_items" db=0.2ms idle=9.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9091] 02:10:15.211 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9091] 02:10:15.212 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:10:15.212 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:15.213 [debug] QUERY OK source="settings" db=0.7ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:15.213 [debug] Running yt-dlp command for action: get_downloadable_status 02:10:15.216 [debug] QUERY OK source="settings" db=1.1ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:15.216 [debug] QUERY OK source="settings" db=0.1ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:15.217 [debug] QUERY OK source="settings" db=0.3ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:15.217 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L_JQOH1tEEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/89/f5/89f50c775cfd404caa2dc85b2728d19f6fa74ee0ac6799b904e0485c9c34e6a0.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:10:18.992 [info] {"source":"oban","duration":6555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:20.166 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L_JQOH1tEEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/89/f5/89f50c775cfd404caa2dc85b2728d19f6fa74ee0ac6799b904e0485c9c34e6a0.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:10:20.167 [debug] Running yt-dlp command for action: download 02:10:20.167 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1400.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:20.168 [debug] QUERY OK source="settings" db=0.2ms idle=1401.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:20.168 [debug] QUERY OK source="settings" db=0.0ms idle=1401.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:20.168 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L_JQOH1tEEA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/cf/ea/cfea2205436dbe220294c3c0a3e700ab36fbb80b1976851e98dc71bc7cb10929.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:10:43.703 [info] GET /sources/24/media/36777 02:10:43.703 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "36777", "prevent_download" => "true", "source_id" => "24"} Pipelines: [:browser] 02:10:43.704 [debug] QUERY OK source="media_items" db=0.8ms idle=1935.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [36777] 02:10:43.705 [debug] QUERY OK source="tasks" db=0.5ms idle=1070.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [36777] 02:10:43.705 [debug] QUERY OK source="sources" db=0.7ms idle=937.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [24] 02:10:43.706 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=938.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [14205] 02:10:43.706 [debug] QUERY OK source="settings" db=0.1ms idle=68.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:43.707 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:43.707 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:43.708 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:10:43.709 [info] Sent 200 in 6ms 02:10:48.996 [info] {"source":"oban","duration":2489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:00.623 [info] {"source":"oban","duration":461,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:11:12.970 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L_JQOH1tEEA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/cf/ea/cfea2205436dbe220294c3c0a3e700ab36fbb80b1976851e98dc71bc7cb10929.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] L_JQOH1tEEA: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] L_JQOH1tEEA: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 02:11:13.009 [debug] Running yt-dlp command for action: download_thumbnail 02:11:13.012 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1242.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:13.013 [debug] QUERY OK source="settings" db=0.1ms queue=0.2ms idle=262.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:13.013 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=244.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:13.014 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L_JQOH1tEEA --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9091/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/3c/2e/3c2efc33d5a8a3db5dd420d01e9847fb5bc018b2c5074a8c14c9139b952bf6da.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:11:18.841 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L_JQOH1tEEA --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9091/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/3c/2e/3c2efc33d5a8a3db5dd420d01e9847fb5bc018b2c5074a8c14c9139b952bf6da.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:11:18.843 [debug] QUERY OK db=0.5ms idle=1189.1ms begin [] 02:11:18.845 [debug] QUERY OK source="media_items" db=2.0ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [712, ~U[2025-12-12 07:11:12Z], "/downloads/Kurzgesagt/There Are Thousands of Alien Empires in The Milky Way.mp4", "/downloads/Kurzgesagt/There Are Thousands of Alien Empires in The Milky Way.info.json", "/downloads/Kurzgesagt/There Are Thousands of Alien Empires in The Milky Way.nfo", "/downloads/Kurzgesagt/There Are Thousands of Alien Empires in The Milky Way.mp4", "/downloads/Kurzgesagt/There Are Thousands of Alien Empires in The Milky Way-thumb.jpg", ~U[2025-12-12 07:11:18Z], 9091] 02:11:18.846 [debug] QUERY OK source="media_metadata" db=0.7ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9091/metadata.json.gz", "/config/metadata/media_items/9091/thumbnail.jpg", 9091, ~U[2025-12-12 07:11:18Z], ~U[2025-12-12 07:11:18Z]] 02:11:18.846 [debug] QUERY OK db=0.7ms commit [] 02:11:18.854 [debug] QUERY OK source="media_items" db=6.9ms queue=0.1ms idle=197.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [192015515, ~U[2025-12-12 07:11:18Z], 9091] 02:11:18.854 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:11:18.855 [info] {"args":{"id":9091},"id":4144,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":63645798,"event":"job:stop","queue_time":105549207623,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:11:18.863 [info] {"args":{"id":9092},"id":4145,"meta":{},"system_time":1765523478862978494,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:11:18.864 [debug] QUERY OK source="media_items" db=0.7ms idle=205.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9092] 02:11:18.864 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:11:18.865 [debug] QUERY OK source="sources" db=0.4ms idle=17.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 02:11:18.865 [debug] QUERY OK source="media_profiles" db=0.3ms idle=11.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:11:18.866 [debug] QUERY OK source="media_items" db=0.6ms idle=9.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9092] 02:11:18.867 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9092] 02:11:18.867 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:11:18.868 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:18.868 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:18.868 [debug] Running yt-dlp command for action: get_downloadable_status 02:11:18.874 [debug] QUERY OK source="settings" db=0.2ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:18.875 [debug] QUERY OK source="settings" db=0.1ms idle=7.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:18.875 [debug] QUERY OK source="settings" db=0.1ms idle=7.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:18.875 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Um7wmlfwgWA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/00/fc/00fccb989c5a02a991fd11553220dcde1835cdbf3c5ed6032cd74311d9c84a99.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:11:18.998 [info] {"source":"oban","duration":1975,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:25.174 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Um7wmlfwgWA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/00/fc/00fccb989c5a02a991fd11553220dcde1835cdbf3c5ed6032cd74311d9c84a99.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:11:25.177 [debug] Running yt-dlp command for action: download 02:11:25.178 [debug] QUERY OK source="settings" db=0.4ms queue=0.6ms idle=1491.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:25.179 [debug] QUERY OK source="settings" db=0.3ms queue=0.4ms idle=529.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:25.180 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=530.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:25.180 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Um7wmlfwgWA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9b/d7/9bd7afb1044ee679572195997906cc16928b24a94069244afca10fb21f38df5b.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:11:26.666 [info] GET /sources/5/media/40516 02:11:26.667 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "40516", "prevent_download" => "true", "source_id" => "5"} Pipelines: [:browser] 02:11:26.667 [debug] QUERY OK source="media_items" db=0.4ms idle=969.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [40516] 02:11:26.668 [debug] QUERY OK source="tasks" db=0.3ms idle=18.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [40516] 02:11:26.668 [debug] QUERY OK source="sources" db=0.4ms idle=18.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 02:11:26.669 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=19.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [15991] 02:11:26.669 [debug] QUERY OK source="settings" db=0.0ms idle=19.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:26.669 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:26.669 [debug] QUERY OK source="settings" db=0.1ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:26.670 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:11:26.671 [info] Sent 200 in 4ms 02:11:49.001 [info] {"source":"oban","duration":1872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:00.624 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:12:19.007 [info] {"source":"oban","duration":4450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:38.273 [info] GET /sources/5/media/40517 02:12:38.274 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "40517", "prevent_download" => "true", "source_id" => "5"} Pipelines: [:browser] 02:12:38.275 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=1623.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [40517] 02:12:38.275 [debug] QUERY OK source="tasks" db=0.3ms idle=1624.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [40517] 02:12:38.275 [debug] QUERY OK source="sources" db=0.6ms idle=1624.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 02:12:38.276 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=1304.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [15992] 02:12:38.276 [debug] QUERY OK source="settings" db=0.1ms idle=299.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:12:38.276 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:12:38.277 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:12:38.277 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:12:38.279 [info] Sent 200 in 5ms 02:12:46.285 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Um7wmlfwgWA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9b/d7/9bd7afb1044ee679572195997906cc16928b24a94069244afca10fb21f38df5b.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:12:46.314 [debug] Running yt-dlp command for action: download_thumbnail 02:12:46.314 [debug] QUERY OK source="settings" db=0.1ms idle=662.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:12:46.315 [debug] QUERY OK source="settings" db=0.0ms idle=663.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:12:46.315 [debug] QUERY OK source="settings" db=0.0ms idle=663.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:12:46.315 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Um7wmlfwgWA --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9092/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/3b/56/3b56af72f9c9c0425e942d039b34448b57d8c500322cf72b22e13926d68d9199.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:12:49.009 [info] {"source":"oban","duration":2371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:51.575 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Um7wmlfwgWA --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9092/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/3b/56/3b56af72f9c9c0425e942d039b34448b57d8c500322cf72b22e13926d68d9199.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:12:51.575 [debug] QUERY OK db=0.0ms idle=1923.6ms begin [] 02:12:51.576 [debug] QUERY OK source="media_items" db=1.0ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-12-12 07:12:46Z], "/downloads/Epic History/Napoleonic Wars: Battle of Vitoria 1813.mp4", "/downloads/Epic History/Napoleonic Wars: Battle of Vitoria 1813.info.json", "/downloads/Epic History/Napoleonic Wars: Battle of Vitoria 1813.nfo", "/downloads/Epic History/Napoleonic Wars: Battle of Vitoria 1813.mp4", "/downloads/Epic History/Napoleonic Wars: Battle of Vitoria 1813-thumb.jpg", ~U[2025-12-12 07:12:51Z], 9092] 02:12:51.577 [debug] QUERY OK source="media_metadata" db=0.6ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9092/metadata.json.gz", "/config/metadata/media_items/9092/thumbnail.jpg", 9092, ~U[2025-12-12 07:12:51Z], ~U[2025-12-12 07:12:51Z]] 02:12:51.578 [debug] QUERY OK db=0.6ms commit [] 02:12:51.579 [debug] QUERY OK source="media_items" db=1.6ms idle=1926.4ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [360568517, ~U[2025-12-12 07:12:51Z], 9092] 02:12:51.579 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:12:51.580 [info] {"args":{"id":9092},"id":4145,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":92716938,"event":"job:stop","queue_time":105610861594,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:12:51.587 [info] {"args":{"id":9093},"id":4146,"meta":{},"system_time":1765523571587434871,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:12:51.587 [debug] QUERY OK source="media_items" db=0.3ms idle=554.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9093] 02:12:51.588 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:12:51.588 [debug] QUERY OK source="sources" db=0.3ms idle=10.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 02:12:51.588 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:12:51.589 [debug] QUERY OK source="media_items" db=0.3ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9093] 02:12:51.589 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9093] 02:12:51.590 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:12:51.590 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:12:51.590 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:12:51.590 [debug] Running yt-dlp command for action: get_downloadable_status 02:12:51.591 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:12:51.591 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:12:51.591 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:12:51.591 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=pjoQdz0nxf4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6e/a8/6ea854bd5dbcc12eb9e1c8babb8ee1b9873caf56330600298402af07ef2627e8.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:12:55.794 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=pjoQdz0nxf4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6e/a8/6ea854bd5dbcc12eb9e1c8babb8ee1b9873caf56330600298402af07ef2627e8.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:12:55.795 [debug] Running yt-dlp command for action: download 02:12:55.796 [debug] QUERY OK source="settings" db=0.4ms idle=1142.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:12:55.796 [debug] QUERY OK source="settings" db=0.1ms idle=1142.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:12:55.796 [debug] QUERY OK source="settings" db=0.2ms idle=1143.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:12:55.797 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=pjoQdz0nxf4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/12/2a/122a45dcfeecdb39f239daa3d76ab5c76ba87a30323b6620a9d43e0c2ffd117e.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:13:00.624 [info] {"source":"oban","duration":267,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:13:19.012 [info] {"source":"oban","duration":1493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:24.857 [info] GET /media/9dbe0d9a-0f94-444d-8178-4741350b067a/stream 02:13:24.858 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "9dbe0d9a-0f94-444d-8178-4741350b067a", "v" => "1765497547"} Pipelines: [:maybe_basic_auth] 02:13:24.865 [debug] QUERY OK source="media_items" db=7.5ms idle=1204.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["9dbe0d9a-0f94-444d-8178-4741350b067a"] 02:13:24.866 [debug] Invalid range request for media item: 9dbe0d9a-0f94-444d-8178-4741350b067a - serving full file 02:13:24.866 [info] Sent 200 in 8ms 02:13:49.014 [info] {"source":"oban","duration":1463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:59.529 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=pjoQdz0nxf4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/12/2a/122a45dcfeecdb39f239daa3d76ab5c76ba87a30323b6620a9d43e0c2ffd117e.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:13:59.564 [debug] Running yt-dlp command for action: download_thumbnail 02:13:59.567 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=897.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:13:59.567 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=898.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:13:59.568 [debug] QUERY OK source="settings" db=0.4ms idle=899.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:13:59.569 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=pjoQdz0nxf4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9093/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/76/af/76af892682d6a5438d9030b3e327388fdf13a5a05f22f3f7aa0d8e74700849e8.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:14:00.626 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:14:04.707 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=pjoQdz0nxf4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9093/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/76/af/76af892682d6a5438d9030b3e327388fdf13a5a05f22f3f7aa0d8e74700849e8.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:14:04.709 [debug] QUERY OK db=0.6ms idle=1036.7ms begin [] 02:14:04.713 [debug] QUERY OK source="media_items" db=3.7ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [631, ~U[2025-12-12 07:13:59Z], "/downloads/Kurzgesagt/How The Dinosaurs Actually Died.mp4", "/downloads/Kurzgesagt/How The Dinosaurs Actually Died.info.json", "/downloads/Kurzgesagt/How The Dinosaurs Actually Died.nfo", "/downloads/Kurzgesagt/How The Dinosaurs Actually Died.mp4", "/downloads/Kurzgesagt/How The Dinosaurs Actually Died-thumb.jpg", ~U[2025-12-12 07:14:04Z], 9093] 02:14:04.716 [debug] QUERY OK source="media_metadata" db=2.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9093/metadata.json.gz", "/config/metadata/media_items/9093/thumbnail.jpg", 9093, ~U[2025-12-12 07:14:04Z], ~U[2025-12-12 07:14:04Z]] 02:14:04.717 [debug] QUERY OK db=0.9ms commit [] 02:14:04.720 [debug] QUERY OK source="media_items" db=3.0ms idle=751.6ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [230506900, ~U[2025-12-12 07:14:04Z], 9093] 02:14:04.721 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:14:04.723 [info] {"args":{"id":9093},"id":4146,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":73134468,"event":"job:stop","queue_time":105702586546,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:14:04.731 [info] {"args":{"id":9094},"id":4147,"meta":{},"system_time":1765523644731082390,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:14:04.731 [debug] QUERY OK source="media_items" db=0.4ms idle=59.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9094] 02:14:04.732 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:14:04.732 [debug] QUERY OK source="sources" db=0.3ms idle=15.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 02:14:04.733 [debug] QUERY OK source="media_profiles" db=0.2ms idle=11.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:14:04.733 [debug] QUERY OK source="media_items" db=0.3ms idle=9.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9094] 02:14:04.735 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9094] 02:14:04.735 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:14:04.735 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:14:04.736 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:14:04.736 [debug] Running yt-dlp command for action: get_downloadable_status 02:14:04.736 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:14:04.737 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:14:04.737 [debug] QUERY OK source="settings" db=0.2ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:14:04.737 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hDQefy5WADM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6e/27/6e27e516a4f6af12d463b2d759d05fe064eea7e2cb03518d64e41969ed2e9863.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:14:10.182 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hDQefy5WADM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6e/27/6e27e516a4f6af12d463b2d759d05fe064eea7e2cb03518d64e41969ed2e9863.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:14:10.183 [debug] Running yt-dlp command for action: download 02:14:10.185 [debug] QUERY OK source="settings" db=0.6ms queue=0.7ms idle=1511.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:14:10.186 [debug] QUERY OK source="settings" db=0.7ms idle=1512.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:14:10.187 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1513.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:14:10.187 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hDQefy5WADM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/42/40/4240ea34e1632131e34a32f8a32083f34f46a39d8547dcad05e04b6c11c8db20.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:14:18.358 [info] GET /sources/24/media/36758/force_download 02:14:18.361 [debug] QUERY OK source="settings" db=2.0ms idle=1316.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:14:18.361 [debug] QUERY OK source="settings" db=0.4ms idle=688.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:14:18.361 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:14:18.362 [error] #PID<0.42569.0> running PinchflatWeb.Endpoint (connection #PID<0.42568.0>, stream id 1) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/24/media/36758/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/24/media/36758/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42568.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/24/media/36758/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 34054}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaUNYaGxpeWVEb1N1RURILWZ2d3hQRGo0.8qX1ehk22PzNndw5OruijZCDZz12gJtF_FDHyBYi-YE", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaUNYaGxpeWVEb1N1RURILWZ2d3hQRGo0.8qX1ehk22PzNndw5OruijZCDZz12gJtF_FDHyBYi-YE" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42569.0>, params: %{}, path_info: ["sources", "24", "media", "36758", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaUNYaGxpeWVEb1N1RURILWZ2d3hQRGo0.8qX1ehk22PzNndw5OruijZCDZz12gJtF_FDHyBYi-YE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaUNYaGxpeWVEb1N1RURILWZ2d3hQRGo0.8qX1ehk22PzNndw5OruijZCDZz12gJtF_FDHyBYi-YE"}, {"from", "gptbot(at)openai.com"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.40"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "716824529"} ], request_path: "/sources/24/media/36758/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBmacMC1zF92-wAKPXB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42568.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/24/media/36758/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 34054}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaUNYaGxpeWVEb1N1RURILWZ2d3hQRGo0.8qX1ehk22PzNndw5OruijZCDZz12gJtF_FDHyBYi-YE", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/24/media/36758/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42568.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/24/media/36758/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 34054}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaUNYaGxpeWVEb1N1RURILWZ2d3hQRGo0.8qX1ehk22PzNndw5OruijZCDZz12gJtF_FDHyBYi-YE", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaUNYaGxpeWVEb1N1RURILWZ2d3hQRGo0.8qX1ehk22PzNndw5OruijZCDZz12gJtF_FDHyBYi-YE" }, halted: false, host: "youtube.zakscode.com", (truncated) 02:14:19.020 [info] {"source":"oban","duration":5928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:19.417 [info] GET /media/4135a70a-5333-4118-b6e5-8516b0fceff9/stream 02:14:19.418 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "4135a70a-5333-4118-b6e5-8516b0fceff9", "v" => "1765452755"} Pipelines: [:maybe_basic_auth] 02:14:19.421 [debug] QUERY OK source="media_items" db=2.8ms idle=1372.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["4135a70a-5333-4118-b6e5-8516b0fceff9"] 02:14:19.422 [debug] Invalid range request for media item: 4135a70a-5333-4118-b6e5-8516b0fceff9 - serving full file 02:14:19.422 [info] Sent 200 in 4ms 02:14:49.513 [info] {"source":"oban","duration":2346,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:00.628 [info] {"source":"oban","duration":266,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:15:03.049 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hDQefy5WADM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/42/40/4240ea34e1632131e34a32f8a32083f34f46a39d8547dcad05e04b6c11c8db20.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: Some SponsorBlock segments are from a video of different duration, maybe from an old version of this video 02:15:03.095 [debug] Running yt-dlp command for action: download_thumbnail 02:15:03.097 [debug] QUERY OK source="settings" db=0.2ms idle=577.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:15:03.097 [debug] QUERY OK source="settings" db=0.1ms idle=577.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:15:03.097 [debug] QUERY OK source="settings" db=0.1ms idle=577.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:15:03.098 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hDQefy5WADM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9094/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/53/a3/53a36caa3a2df32472b6db096ec3ad611983e6a8d6abb223215583f32ee178c5.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:15:08.454 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hDQefy5WADM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9094/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/53/a3/53a36caa3a2df32472b6db096ec3ad611983e6a8d6abb223215583f32ee178c5.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:15:08.456 [debug] QUERY OK db=0.6ms idle=1935.4ms begin [] 02:15:08.459 [debug] QUERY OK source="media_items" db=2.5ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-12-12 07:15:03Z], "/downloads/Epic History/Apollo Program: Eagle Has Landed.mp4", "/downloads/Epic History/Apollo Program: Eagle Has Landed.info.json", "/downloads/Epic History/Apollo Program: Eagle Has Landed.nfo", "/downloads/Epic History/Apollo Program: Eagle Has Landed.mp4", "/downloads/Epic History/Apollo Program: Eagle Has Landed-thumb.jpg", ~U[2025-12-12 07:15:08Z], 9094] 02:15:08.461 [debug] QUERY OK source="media_metadata" db=1.7ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9094/metadata.json.gz", "/config/metadata/media_items/9094/thumbnail.jpg", 9094, ~U[2025-12-12 07:15:08Z], ~U[2025-12-12 07:15:08Z]] 02:15:08.462 [debug] QUERY OK db=1.3ms commit [] 02:15:08.465 [debug] QUERY OK source="media_items" db=2.3ms idle=1942.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [216704081, ~U[2025-12-12 07:15:08Z], 9094] 02:15:08.465 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:15:08.466 [info] {"args":{"id":9094},"id":4147,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":63734747,"event":"job:stop","queue_time":105773729568,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:15:08.474 [info] {"args":{"id":9095},"id":4148,"meta":{},"system_time":1765523708474391332,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:15:08.475 [debug] QUERY OK source="media_items" db=0.4ms idle=731.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9095] 02:15:08.475 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:15:08.476 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=12.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 02:15:08.477 [debug] QUERY OK source="media_profiles" db=0.7ms idle=11.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:15:08.477 [debug] QUERY OK source="media_items" db=0.4ms idle=10.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9095] 02:15:08.478 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9095] 02:15:08.478 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:15:08.479 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:15:08.479 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:15:08.479 [debug] Running yt-dlp command for action: get_downloadable_status 02:15:08.481 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:15:08.481 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:15:08.481 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:15:08.481 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=isdLel273rQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/81/94/8194850197c778b0f8fce085293b0768a01131f25b39d77c106756740c8a2fa7.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:15:12.799 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=isdLel273rQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/81/94/8194850197c778b0f8fce085293b0768a01131f25b39d77c106756740c8a2fa7.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:15:12.799 [debug] Running yt-dlp command for action: download 02:15:12.799 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1278.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:15:12.800 [debug] QUERY OK source="settings" db=0.1ms idle=1279.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:15:12.800 [debug] QUERY OK source="settings" db=0.1ms idle=1279.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:15:12.800 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=isdLel273rQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/97/40/9740d4156d60cb4078c384d0ce9a38275605d5248f90d2fd6158ad0a1278c999.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:15:19.516 [info] {"source":"oban","duration":1502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:39.967 [info] GET /media/459032a9-8845-429f-b182-1035efe992a9/stream 02:15:39.967 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "459032a9-8845-429f-b182-1035efe992a9", "v" => "1765451265"} Pipelines: [:maybe_basic_auth] 02:15:39.968 [debug] QUERY OK source="media_items" db=0.5ms idle=1447.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["459032a9-8845-429f-b182-1035efe992a9"] 02:15:39.969 [debug] Invalid range request for media item: 459032a9-8845-429f-b182-1035efe992a9 - serving full file 02:15:39.969 [info] Sent 200 in 1ms 02:15:49.518 [info] {"source":"oban","duration":2214,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:00.628 [info] {"source":"oban","duration":218,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:16:08.288 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=isdLel273rQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/97/40/9740d4156d60cb4078c384d0ce9a38275605d5248f90d2fd6158ad0a1278c999.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:16:08.309 [debug] Running yt-dlp command for action: download_thumbnail 02:16:08.310 [debug] QUERY OK source="settings" db=0.1ms idle=518.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:08.310 [debug] QUERY OK source="settings" db=0.1ms idle=518.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:08.310 [debug] QUERY OK source="settings" db=0.0ms idle=519.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:08.311 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=isdLel273rQ --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9095/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/eb/f2/ebf24735b51ae7e40596e130af9e70447ff072678565993674ae7fe9e122033c.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:16:13.649 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=isdLel273rQ --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9095/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/eb/f2/ebf24735b51ae7e40596e130af9e70447ff072678565993674ae7fe9e122033c.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:16:13.649 [debug] QUERY OK db=0.1ms idle=1857.2ms begin [] 02:16:13.651 [debug] QUERY OK source="media_items" db=1.8ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [587, ~U[2025-12-12 07:16:08Z], "/downloads/Kurzgesagt/The Paradox of an Infinite Universe.mp4", "/downloads/Kurzgesagt/The Paradox of an Infinite Universe.info.json", "/downloads/Kurzgesagt/The Paradox of an Infinite Universe.nfo", "/downloads/Kurzgesagt/The Paradox of an Infinite Universe.mp4", "/downloads/Kurzgesagt/The Paradox of an Infinite Universe-thumb.jpg", ~U[2025-12-12 07:16:13Z], 9095] 02:16:13.653 [debug] QUERY OK source="media_metadata" db=0.9ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9095/metadata.json.gz", "/config/metadata/media_items/9095/thumbnail.jpg", 9095, ~U[2025-12-12 07:16:13Z], ~U[2025-12-12 07:16:13Z]] 02:16:13.655 [debug] QUERY OK db=2.4ms commit [] 02:16:13.658 [debug] QUERY OK source="media_items" db=2.6ms idle=1863.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [199545164, ~U[2025-12-12 07:16:13Z], 9095] 02:16:13.658 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:16:13.660 [info] {"args":{"id":9095},"id":4148,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":65184590,"event":"job:stop","queue_time":105836472565,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:16:13.673 [info] {"args":{"id":9096},"id":4149,"meta":{},"system_time":1765523773672945153,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:16:13.676 [debug] QUERY OK source="media_items" db=1.4ms queue=0.7ms idle=765.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9096] 02:16:13.676 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:16:13.680 [debug] QUERY OK source="sources" db=3.1ms queue=0.2ms idle=21.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 02:16:13.685 [debug] QUERY OK source="media_profiles" db=2.2ms queue=2.5ms idle=22.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:16:13.688 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=26.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9096] 02:16:13.698 [debug] QUERY OK source="media_metadata" db=0.2ms idle=24.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9096] 02:16:13.698 [debug] QUERY OK source="media_profiles" db=0.2ms idle=22.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:16:13.699 [debug] QUERY OK source="settings" db=0.8ms idle=18.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:13.700 [debug] QUERY OK source="settings" db=0.4ms queue=0.3ms idle=14.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:13.702 [debug] Running yt-dlp command for action: get_downloadable_status 02:16:13.704 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=15.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:13.705 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=6.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:13.706 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=7.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:13.706 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YebUIUOCo94 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ab/53/ab53e76965fa057a308a1636452263b3c914218232e8b3d605a5c261045b6c54.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:16:18.338 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YebUIUOCo94 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ab/53/ab53e76965fa057a308a1636452263b3c914218232e8b3d605a5c261045b6c54.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:16:18.338 [debug] Running yt-dlp command for action: download 02:16:18.338 [debug] QUERY OK source="settings" db=0.2ms idle=1546.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:18.339 [debug] QUERY OK source="settings" db=0.2ms idle=1546.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:18.339 [debug] QUERY OK source="settings" db=0.0ms idle=1547.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:18.339 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YebUIUOCo94 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/30/62/30621fd2c78391af7ad36d1befeb7ce2f58a9a1b09c11a40f2b6ece5a0d2d663.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:16:19.523 [info] {"source":"oban","duration":3956,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:28.202 [info] GET /sources/1 02:16:28.202 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "1"} Pipelines: [:browser] 02:16:28.203 [debug] QUERY OK source="sources" db=0.4ms idle=1411.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:16:28.203 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1199.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:16:28.204 [debug] QUERY OK source="tasks" db=0.7ms idle=412.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 02:16:28.206 [debug] QUERY OK source="oban_jobs" db=1.3ms idle=413.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [15291] 02:16:28.207 [debug] QUERY OK source="settings" db=0.5ms idle=196.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:28.207 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:28.208 [debug] QUERY OK source="settings" db=0.1ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:16:28.209 [debug] QUERY OK source="sources" db=0.3ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:16:28.221 [debug] QUERY OK source="media_items" db=11.2ms idle=3.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 02:16:28.227 [debug] QUERY OK source="media_items" db=5.8ms idle=14.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 02:16:28.229 [debug] QUERY OK source="sources" db=0.2ms idle=21.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:16:28.230 [debug] QUERY OK source="media_items" db=0.9ms idle=20.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 02:16:28.238 [debug] QUERY OK source="media_items" db=8.2ms idle=20.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 02:16:28.239 [debug] QUERY OK source="sources" db=0.2ms idle=18.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:16:28.242 [debug] QUERY OK source="media_items" db=1.8ms idle=12.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 02:16:28.247 [debug] QUERY OK source="media_items" db=5.0ms idle=13.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 02:16:28.248 [info] Sent 200 in 45ms 02:16:49.530 [info] {"source":"oban","duration":5601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:00.629 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:17:19.538 [info] {"source":"oban","duration":7487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:42.956 [info] GET /sources/2 02:17:42.956 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "2"} Pipelines: [:browser] 02:17:42.957 [debug] QUERY OK source="sources" db=0.2ms idle=1156.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 02:17:42.957 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1156.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:17:42.959 [debug] QUERY OK source="tasks" db=1.2ms idle=615.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 02:17:42.959 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=158.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [15288] 02:17:42.960 [debug] QUERY OK source="settings" db=0.2ms idle=159.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:17:42.960 [debug] QUERY OK source="settings" db=0.2ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:17:42.961 [debug] QUERY OK source="settings" db=0.2ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:17:42.962 [debug] QUERY OK source="sources" db=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 02:17:42.971 [debug] QUERY OK source="media_items" db=9.0ms idle=2.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 02:17:42.974 [debug] QUERY OK source="media_items" db=2.1ms queue=0.2ms idle=11.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 02:17:42.976 [debug] QUERY OK source="sources" db=0.2ms idle=15.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 02:17:42.978 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=15.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 02:17:42.980 [debug] QUERY OK source="media_items" db=2.3ms idle=15.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 02:17:42.985 [debug] QUERY OK source="sources" db=0.8ms idle=12.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 02:17:42.986 [debug] QUERY OK source="media_items" db=0.5ms idle=11.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [2] 02:17:42.988 [debug] QUERY OK source="media_items" db=1.6ms idle=9.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 02:17:42.989 [info] Sent 200 in 33ms 02:17:49.543 [info] {"source":"oban","duration":4206,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:00.632 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:18:19.547 [info] {"source":"oban","duration":3088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:34.669 [info] GET /sources/3 02:18:34.669 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "3"} Pipelines: [:browser] 02:18:34.671 [debug] QUERY OK source="sources" db=1.4ms idle=1860.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:34.672 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=1862.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:18:34.675 [debug] QUERY OK source="tasks" db=2.0ms idle=1032.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [3, "executing", "available", "scheduled", "retryable"] 02:18:34.676 [debug] QUERY OK source="oban_jobs" db=0.7ms queue=0.1ms idle=865.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [15404] 02:18:34.678 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=32.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:34.679 [debug] QUERY OK source="settings" db=0.1ms idle=7.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:34.679 [debug] QUERY OK source="settings" db=0.1ms idle=7.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:34.681 [debug] QUERY OK source="sources" db=0.2ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:34.689 [debug] QUERY OK source="media_items" db=7.8ms idle=5.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 02:18:34.692 [debug] QUERY OK source="media_items" db=2.1ms queue=0.2ms idle=11.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 02:18:34.693 [debug] QUERY OK source="sources" db=0.1ms idle=14.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:34.694 [debug] QUERY OK source="media_items" db=0.6ms idle=14.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 02:18:34.697 [debug] QUERY OK source="media_items" db=2.6ms idle=13.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 02:18:34.698 [debug] QUERY OK source="sources" db=0.1ms idle=8.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:34.699 [debug] QUERY OK source="media_items" db=0.3ms idle=6.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [3] 02:18:34.700 [debug] QUERY OK source="media_items" db=1.4ms idle=5.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 02:18:34.701 [info] Sent 200 in 32ms 02:18:48.196 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vBSGSkIasRY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/32/1c/321c80c1a9d99c1cef465087db7f63ae1d43ddc570f1a11ecb67d37fc300e835.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:18:48.252 [debug] Running yt-dlp command for action: download_thumbnail 02:18:48.253 [debug] QUERY OK source="settings" db=0.1ms idle=542.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:48.254 [debug] QUERY OK source="settings" db=0.3ms idle=440.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:48.254 [debug] QUERY OK source="settings" db=0.2ms idle=440.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:48.254 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vBSGSkIasRY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9087/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/8b/e9/8be998462ded888dae7eabf37cec373911078d26d81126748c178b444cbea21d.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:18:49.550 [info] {"source":"oban","duration":1583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:53.076 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vBSGSkIasRY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9087/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/8b/e9/8be998462ded888dae7eabf37cec373911078d26d81126748c178b444cbea21d.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:18:53.077 [debug] QUERY OK db=0.3ms idle=1262.3ms begin [] 02:18:53.080 [debug] QUERY OK source="media_items" db=2.8ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-12-12 07:18:48Z], "/downloads/Epic History/Napoleonic Wars: Downfall 1809 - 14.mp4", "/downloads/Epic History/Napoleonic Wars: Downfall 1809 - 14.info.json", "/downloads/Epic History/Napoleonic Wars: Downfall 1809 - 14.nfo", "/downloads/Epic History/Napoleonic Wars: Downfall 1809 - 14.mp4", "/downloads/Epic History/Napoleonic Wars: Downfall 1809 - 14-thumb.jpg", ~U[2025-12-12 07:18:53Z], 9087] 02:18:53.082 [debug] QUERY OK source="media_metadata" db=1.4ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9087/metadata.json.gz", "/config/metadata/media_items/9087/thumbnail.jpg", 9087, ~U[2025-12-12 07:18:53Z], ~U[2025-12-12 07:18:53Z]] 02:18:53.083 [debug] QUERY OK db=0.9ms commit [] 02:18:53.086 [debug] QUERY OK source="media_items" db=2.6ms idle=1268.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [3108074862, ~U[2025-12-12 07:18:53Z], 9087] 02:18:53.086 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:18:53.087 [info] {"args":{"id":9087},"id":4140,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":767669375,"event":"job:stop","queue_time":105304415624,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:18:53.095 [info] {"args":{"id":9097},"id":4150,"meta":{},"system_time":1765523933094895091,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:18:53.095 [debug] QUERY OK source="media_items" db=0.5ms idle=280.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9097] 02:18:53.096 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:18:53.096 [debug] QUERY OK source="sources" db=0.5ms idle=12.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 02:18:53.097 [debug] QUERY OK source="media_profiles" db=0.3ms idle=10.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:18:53.097 [debug] QUERY OK source="media_items" db=0.5ms idle=9.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9097] 02:18:53.099 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9097] 02:18:53.099 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:18:53.099 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:53.100 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:53.100 [debug] Running yt-dlp command for action: get_downloadable_status 02:18:53.101 [debug] QUERY OK source="settings" db=0.2ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:53.101 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:53.102 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:53.102 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LrIRuqr_Ozg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f5/fc/f5fce70af56b39ad325d08f125f9fd4cc15f21f68ff6631e1ebf9353d3615c6e.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:18:57.696 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LrIRuqr_Ozg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f5/fc/f5fce70af56b39ad325d08f125f9fd4cc15f21f68ff6631e1ebf9353d3615c6e.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:18:57.697 [debug] Running yt-dlp command for action: download 02:18:57.698 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=921.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:57.699 [debug] QUERY OK source="settings" db=0.3ms queue=0.3ms idle=884.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:57.700 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=884.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:18:57.700 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LrIRuqr_Ozg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/01/ab/01ab03193d73f1a70ddd2750468895de5fa7f13165f5d89e3bc203d4ebc7a002.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:19:00.633 [info] {"source":"oban","duration":220,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:19:12.448 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YebUIUOCo94 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/30/62/30621fd2c78391af7ad36d1befeb7ce2f58a9a1b09c11a40f2b6ece5a0d2d663.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:19:12.457 [debug] Running yt-dlp command for action: download_thumbnail 02:19:12.458 [debug] QUERY OK source="settings" db=0.1ms idle=1643.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:12.458 [debug] QUERY OK source="settings" db=0.0ms idle=1643.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:12.458 [debug] QUERY OK source="settings" db=0.1ms idle=1610.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:12.458 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YebUIUOCo94 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9096/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ff/05/ff05d64e972778952a0f6e722c4b150798f7e07971fb3fbddafcf8f14e3d14ec.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:19:17.093 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YebUIUOCo94 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9096/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ff/05/ff05d64e972778952a0f6e722c4b150798f7e07971fb3fbddafcf8f14e3d14ec.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:19:17.097 [debug] QUERY OK db=1.8ms idle=1280.5ms begin [] 02:19:17.101 [debug] QUERY OK source="media_items" db=2.9ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [2499, ~U[2025-12-12 07:19:12Z], "/downloads/Epic History/Napoleon's Marshals: Berthier, Lannes, Davout..mp4", "/downloads/Epic History/Napoleon's Marshals: Berthier, Lannes, Davout..info.json", "/downloads/Epic History/Napoleon's Marshals: Berthier, Lannes, Davout..nfo", "/downloads/Epic History/Napoleon's Marshals: Berthier, Lannes, Davout..mp4", "/downloads/Epic History/Napoleon's Marshals: Berthier, Lannes, Davout.-thumb.jpg", ~U[2025-12-12 07:19:17Z], 9096] 02:19:17.103 [debug] QUERY OK source="media_metadata" db=1.2ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9096/metadata.json.gz", "/config/metadata/media_items/9096/thumbnail.jpg", 9096, ~U[2025-12-12 07:19:17Z], ~U[2025-12-12 07:19:17Z]] 02:19:17.104 [debug] QUERY OK db=1.1ms commit [] 02:19:17.107 [debug] QUERY OK source="media_items" db=2.5ms idle=1289.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [609993866, ~U[2025-12-12 07:19:17Z], 9096] 02:19:17.107 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:19:17.108 [info] {"args":{"id":9096},"id":4149,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":183434919,"event":"job:stop","queue_time":105899667642,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:19:17.116 [info] {"args":{"id":9098},"id":4151,"meta":{},"system_time":1765523957115938918,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:19:17.117 [debug] QUERY OK source="media_items" db=1.4ms idle=239.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9098] 02:19:17.118 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:19:17.118 [debug] QUERY OK source="sources" db=0.4ms idle=13.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 02:19:17.119 [debug] QUERY OK source="media_profiles" db=0.6ms idle=11.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:19:17.120 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=11.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9098] 02:19:17.124 [debug] QUERY OK source="media_metadata" db=1.0ms queue=0.1ms idle=7.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9098] 02:19:17.125 [debug] QUERY OK source="media_profiles" db=0.7ms idle=7.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:19:17.127 [debug] QUERY OK source="settings" db=0.6ms idle=7.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:17.127 [debug] QUERY OK source="settings" db=0.3ms idle=7.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:17.128 [debug] Running yt-dlp command for action: get_downloadable_status 02:19:17.138 [debug] QUERY OK source="settings" db=0.3ms idle=16.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:17.139 [debug] QUERY OK source="settings" db=0.6ms idle=13.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:17.139 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=13.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:17.140 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EzH6pZLeLYs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d3/bd/d3bde2100763dfa3ed25428e407b91cfa337ebe74166511a048fbb99c3d2456c.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:19:19.556 [info] {"source":"oban","duration":6179,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:21.381 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EzH6pZLeLYs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d3/bd/d3bde2100763dfa3ed25428e407b91cfa337ebe74166511a048fbb99c3d2456c.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:19:21.383 [debug] Running yt-dlp command for action: download 02:19:21.387 [debug] QUERY OK source="settings" db=2.8ms queue=0.8ms idle=566.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:21.390 [debug] QUERY OK source="settings" db=3.0ms idle=570.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:21.392 [debug] QUERY OK source="settings" db=0.5ms queue=0.9ms idle=573.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:21.393 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EzH6pZLeLYs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/de/26/de26577795d0499f625c1d327376de7d46d38ca46a685a58b460b694d5145e75.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:19:32.858 [info] GET /sources/24/media/36751/force_download 02:19:32.858 [debug] QUERY OK source="settings" db=0.1ms idle=908.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:32.858 [debug] QUERY OK source="settings" db=0.1ms idle=42.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:32.858 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:19:32.859 [error] #PID<0.42637.0> running PinchflatWeb.Endpoint (connection #PID<0.42636.0>, stream id 1) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/24/media/36751/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/24/media/36751/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42636.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/24/media/36751/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 33764}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYjZkTVVfMzM5LTFOSEh4UWhIY0hBdy0t.TBik87yzDcK2gJ40gIsWVo19yURv-WIEdSS_HynGN1Y", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYjZkTVVfMzM5LTFOSEh4UWhIY0hBdy0t.TBik87yzDcK2gJ40gIsWVo19yURv-WIEdSS_HynGN1Y" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42637.0>, params: %{}, path_info: ["sources", "24", "media", "36751", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYjZkTVVfMzM5LTFOSEh4UWhIY0hBdy0t.TBik87yzDcK2gJ40gIsWVo19yURv-WIEdSS_HynGN1Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYjZkTVVfMzM5LTFOSEh4UWhIY0hBdy0t.TBik87yzDcK2gJ40gIsWVo19yURv-WIEdSS_HynGN1Y"}, {"from", "gptbot(at)openai.com"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.40"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "716824529"} ], request_path: "/sources/24/media/36751/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBmsvyk34ZRv8AAGXlC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42636.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/24/media/36751/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 33764}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYjZkTVVfMzM5LTFOSEh4UWhIY0hBdy0t.TBik87yzDcK2gJ40gIsWVo19yURv-WIEdSS_HynGN1Y", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/24/media/36751/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42636.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/24/media/36751/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 33764}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYjZkTVVfMzM5LTFOSEh4UWhIY0hBdy0t.TBik87yzDcK2gJ40gIsWVo19yURv-WIEdSS_HynGN1Y", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYjZkTVVfMzM5LTFOSEh4UWhIY0hBdy0t.TBik87yzDcK2gJ40gIsWVo19yURv-WIEdSS_HynGN1Y" }, halted: false, host: "youtube.zakscode.com", (truncated) 02:19:43.880 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EzH6pZLeLYs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/de/26/de26577795d0499f625c1d327376de7d46d38ca46a685a58b460b694d5145e75.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:19:43.887 [debug] Running yt-dlp command for action: download_thumbnail 02:19:43.888 [debug] QUERY OK source="settings" db=0.1ms idle=1071.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:43.888 [debug] QUERY OK source="settings" db=0.0ms idle=1071.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:43.888 [debug] QUERY OK source="settings" db=0.1ms idle=1071.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:43.888 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EzH6pZLeLYs --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9098/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/a6/06/a60654cd71e83e41650ef2249da86f687c9e875ef807203a31e794ceccabab55.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:19:47.652 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EzH6pZLeLYs --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9098/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/a6/06/a60654cd71e83e41650ef2249da86f687c9e875ef807203a31e794ceccabab55.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:19:47.656 [debug] QUERY OK db=0.7ms idle=1838.9ms begin [] 02:19:47.660 [debug] QUERY OK source="media_items" db=3.7ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-12-12 07:19:43Z], "/downloads/Epic History/The Viking Mindset: Ragnar's Death Song and Other Sagas.mp4", "/downloads/Epic History/The Viking Mindset: Ragnar's Death Song and Other Sagas.info.json", "/downloads/Epic History/The Viking Mindset: Ragnar's Death Song and Other Sagas.nfo", "/downloads/Epic History/The Viking Mindset: Ragnar's Death Song and Other Sagas.mp4", "/downloads/Epic History/The Viking Mindset: Ragnar's Death Song and Other Sagas-thumb.jpg", ~U[2025-12-12 07:19:47Z], 9098] 02:19:47.661 [debug] QUERY OK source="media_metadata" db=0.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9098/metadata.json.gz", "/config/metadata/media_items/9098/thumbnail.jpg", 9098, ~U[2025-12-12 07:19:47Z], ~U[2025-12-12 07:19:47Z]] 02:19:47.663 [debug] QUERY OK db=1.2ms commit [] 02:19:47.667 [debug] QUERY OK source="media_items" db=3.6ms idle=1846.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [61824482, ~U[2025-12-12 07:19:47Z], 9098] 02:19:47.667 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:19:47.668 [info] {"args":{"id":9098},"id":4151,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":30551740,"event":"job:stop","queue_time":106081114547,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:19:47.677 [info] {"args":{"id":9099},"id":4152,"meta":{},"system_time":1765523987676824380,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:19:47.684 [debug] QUERY OK source="media_items" db=6.3ms queue=0.1ms idle=685.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9099] 02:19:47.684 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:19:47.685 [debug] QUERY OK source="sources" db=0.7ms idle=21.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 02:19:47.686 [debug] QUERY OK source="media_profiles" db=1.0ms idle=18.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:19:47.687 [debug] QUERY OK source="media_items" db=0.5ms idle=18.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9099] 02:19:47.688 [debug] QUERY OK source="media_metadata" db=0.1ms idle=12.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9099] 02:19:47.689 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:19:47.689 [debug] QUERY OK source="settings" db=0.2ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:47.690 [debug] QUERY OK source="settings" db=0.2ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:47.690 [debug] Running yt-dlp command for action: get_downloadable_status 02:19:47.692 [debug] QUERY OK source="settings" db=0.2ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:47.692 [debug] QUERY OK source="settings" db=0.1ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:47.693 [debug] QUERY OK source="settings" db=0.2ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:47.693 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=wwSzpaTHyS8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/af/1e/af1e51adffaa261576e2319686bb1159e45abe2b964b710b16eb8e2e0b4d7913.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:19:49.559 [info] {"source":"oban","duration":2024,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:52.011 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=wwSzpaTHyS8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/af/1e/af1e51adffaa261576e2319686bb1159e45abe2b964b710b16eb8e2e0b4d7913.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:19:52.014 [debug] Running yt-dlp command for action: download 02:19:52.015 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1197.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:52.015 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1197.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:52.016 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1198.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:19:52.017 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=wwSzpaTHyS8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/29/10/29103666d22765b0f42a5aef0216feef02ef3ad0ba06b083edc61dbb4ba7de89.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:20:00.635 [info] {"source":"oban","duration":437,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:20:07.124 [info] GET /sources/24/media/36777/force_download 02:20:07.127 [debug] QUERY OK source="settings" db=2.2ms idle=1305.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:07.128 [debug] QUERY OK source="settings" db=0.6ms idle=1307.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:07.128 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:20:07.130 [error] #PID<0.42650.0> running PinchflatWeb.Endpoint (connection #PID<0.42649.0>, stream id 1) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/24/media/36777/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/24/media/36777/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42649.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/24/media/36777/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 46708}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYjZkTVVfMzM5LTFOSEh4UWhIY0hBdy0t.TBik87yzDcK2gJ40gIsWVo19yURv-WIEdSS_HynGN1Y", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYjZkTVVfMzM5LTFOSEh4UWhIY0hBdy0t.TBik87yzDcK2gJ40gIsWVo19yURv-WIEdSS_HynGN1Y" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42650.0>, params: %{}, path_info: ["sources", "24", "media", "36777", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYjZkTVVfMzM5LTFOSEh4UWhIY0hBdy0t.TBik87yzDcK2gJ40gIsWVo19yURv-WIEdSS_HynGN1Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYjZkTVVfMzM5LTFOSEh4UWhIY0hBdy0t.TBik87yzDcK2gJ40gIsWVo19yURv-WIEdSS_HynGN1Y"}, {"from", "gptbot(at)openai.com"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.40"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "716824529"} ], request_path: "/sources/24/media/36777/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBmuvcU4ukLqMYAGXoC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42649.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/24/media/36777/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 46708}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYjZkTVVfMzM5LTFOSEh4UWhIY0hBdy0t.TBik87yzDcK2gJ40gIsWVo19yURv-WIEdSS_HynGN1Y", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/24/media/36777/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42649.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/24/media/36777/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 46708}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYjZkTVVfMzM5LTFOSEh4UWhIY0hBdy0t.TBik87yzDcK2gJ40gIsWVo19yURv-WIEdSS_HynGN1Y", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYjZkTVVfMzM5LTFOSEh4UWhIY0hBdy0t.TBik87yzDcK2gJ40gIsWVo19yURv-WIEdSS_HynGN1Y" }, halted: false, host: "youtube.zakscode.com", (truncated) 02:20:19.562 [info] {"source":"oban","duration":2104,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:23.820 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LrIRuqr_Ozg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/01/ab/01ab03193d73f1a70ddd2750468895de5fa7f13165f5d89e3bc203d4ebc7a002.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:20:23.859 [debug] Running yt-dlp command for action: download_thumbnail 02:20:23.861 [debug] QUERY OK source="settings" db=0.3ms idle=1041.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:23.863 [debug] QUERY OK source="settings" db=1.7ms queue=0.1ms idle=1042.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:23.865 [debug] QUERY OK source="settings" db=1.2ms idle=1044.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:23.866 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LrIRuqr_Ozg --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9097/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/48/19/4819589c17973e0446d8922fe41538b23c3262c4f9e1a7cedb9a9a18b80066cb.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:20:29.169 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LrIRuqr_Ozg --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9097/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/48/19/4819589c17973e0446d8922fe41538b23c3262c4f9e1a7cedb9a9a18b80066cb.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:20:29.170 [debug] QUERY OK db=0.3ms idle=1350.2ms begin [] 02:20:29.173 [debug] QUERY OK source="media_items" db=3.1ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [646, ~U[2025-12-12 07:20:23Z], "/downloads/Kurzgesagt/What Happens AFTER Nuclear War?.mp4", "/downloads/Kurzgesagt/What Happens AFTER Nuclear War?.info.json", "/downloads/Kurzgesagt/What Happens AFTER Nuclear War?.nfo", "/downloads/Kurzgesagt/What Happens AFTER Nuclear War?.mp4", "/downloads/Kurzgesagt/What Happens AFTER Nuclear War?-thumb.jpg", ~U[2025-12-12 07:20:29Z], 9097] 02:20:29.225 [debug] QUERY OK source="media_metadata" db=51.3ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9097/metadata.json.gz", "/config/metadata/media_items/9097/thumbnail.jpg", 9097, ~U[2025-12-12 07:20:29Z], ~U[2025-12-12 07:20:29Z]] 02:20:29.286 [debug] QUERY OK db=60.5ms commit [] 02:20:29.297 [debug] QUERY OK source="media_items" db=10.2ms idle=1467.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [237324075, ~U[2025-12-12 07:20:29Z], 9097] 02:20:29.298 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:20:29.300 [info] {"args":{"id":9097},"id":4150,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":96203376,"event":"job:stop","queue_time":106058093571,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:20:29.308 [info] {"args":{"id":9100},"id":4153,"meta":{},"system_time":1765524029307904414,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:20:29.313 [debug] QUERY OK source="media_items" db=4.7ms idle=124.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9100] 02:20:29.313 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:20:29.314 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=27.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 02:20:29.315 [debug] QUERY OK source="media_profiles" db=0.8ms idle=17.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:29.316 [debug] QUERY OK source="media_items" db=0.9ms idle=15.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9100] 02:20:29.318 [debug] QUERY OK source="media_metadata" db=0.3ms idle=10.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9100] 02:20:29.319 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.2ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:29.319 [debug] QUERY OK source="settings" db=0.5ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:29.320 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:29.320 [debug] Running yt-dlp command for action: get_downloadable_status 02:20:29.321 [debug] QUERY OK source="settings" db=0.1ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:29.322 [debug] QUERY OK source="settings" db=0.6ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:29.322 [debug] QUERY OK source="settings" db=0.4ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:29.323 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nr_pFDbvz6A --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b1/98/b198ed809f2483d5514e3332949e280dd821f42f65d1624d97e2ab349a22f02f.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:20:34.105 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nr_pFDbvz6A --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b1/98/b198ed809f2483d5514e3332949e280dd821f42f65d1624d97e2ab349a22f02f.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:20:34.105 [debug] Running yt-dlp command for action: download 02:20:34.106 [debug] QUERY OK source="settings" db=0.6ms idle=1281.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:34.107 [debug] QUERY OK source="settings" db=1.0ms idle=1282.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:34.108 [debug] QUERY OK source="settings" db=0.2ms queue=0.4ms idle=1283.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:34.108 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nr_pFDbvz6A --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Epic History/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Epic History/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a7/43/a743ab848116d17b1ae0dabfa350c48a56fafc04b2233d138debb3208b5669d6.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:20:49.578 [info] {"source":"oban","duration":14713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:49.685 [info] GET /sources/5/media/40516/force_download 02:20:49.686 [debug] QUERY OK source="settings" db=0.2ms idle=1862.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:49.688 [debug] QUERY OK source="settings" db=2.1ms idle=1369.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:49.688 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:20:49.690 [error] #PID<0.42663.0> running PinchflatWeb.Endpoint (connection #PID<0.42662.0>, stream id 1) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/5/media/40516/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/40516/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42662.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/40516/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 36996}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYjZkTVVfMzM5LTFOSEh4UWhIY0hBdy0t.TBik87yzDcK2gJ40gIsWVo19yURv-WIEdSS_HynGN1Y", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYjZkTVVfMzM5LTFOSEh4UWhIY0hBdy0t.TBik87yzDcK2gJ40gIsWVo19yURv-WIEdSS_HynGN1Y" }, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42663.0>, params: %{}, path_info: ["sources", "5", "media", "40516", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYjZkTVVfMzM5LTFOSEh4UWhIY0hBdy0t.TBik87yzDcK2gJ40gIsWVo19yURv-WIEdSS_HynGN1Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYjZkTVVfMzM5LTFOSEh4UWhIY0hBdy0t.TBik87yzDcK2gJ40gIsWVo19yURv-WIEdSS_HynGN1Y"}, {"from", "gptbot(at)openai.com"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.40"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "716824529"} ], request_path: "/sources/5/media/40516/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBmxN_o3BhpungAGXqC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42662.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/40516/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 36996}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYjZkTVVfMzM5LTFOSEh4UWhIY0hBdy0t.TBik87yzDcK2gJ40gIsWVo19yURv-WIEdSS_HynGN1Y", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/40516/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42662.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/40516/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 36996}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYjZkTVVfMzM5LTFOSEh4UWhIY0hBdy0t.TBik87yzDcK2gJ40gIsWVo19yURv-WIEdSS_HynGN1Y", "from" => "gptbot(at)openai.com", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.40", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https", "x-openai-host-hash" => "716824529" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYjZkTVVfMzM5LTFOSEh4UWhIY0hBdy0t.TBik87yzDcK2gJ40gIsWVo19yURv-WIEdSS_HynGN1Y" }, halted: false, host: "youtube.zakscode.com", metho (truncated) 02:20:50.027 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=wwSzpaTHyS8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/29/10/29103666d22765b0f42a5aef0216feef02ef3ad0ba06b083edc61dbb4ba7de89.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:20:50.062 [debug] Running yt-dlp command for action: download_thumbnail 02:20:50.069 [debug] QUERY OK source="settings" db=0.3ms idle=1245.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:50.069 [debug] QUERY OK source="settings" db=0.5ms idle=746.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:50.070 [debug] QUERY OK source="settings" db=0.4ms idle=491.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:50.070 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=wwSzpaTHyS8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9099/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/db/f1/dbf1983bd0bd1f65c35b1776c02975d33955eb41ed5a5cff0b8ee515cce2d0b3.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:20:53.998 [info] GET /sources/5/media/3791/force_download 02:20:54.000 [debug] QUERY OK source="settings" db=0.9ms idle=1174.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:54.001 [debug] QUERY OK source="settings" db=0.5ms queue=0.4ms idle=661.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:54.001 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:20:54.003 [error] #PID<0.42668.0> running PinchflatWeb.Endpoint (connection #PID<0.42662.0>, stream id 2) terminated Server: youtube.zakscode.com:80 (http) Request: GET /sources/5/media/3791/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/3791/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42662.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/3791/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 36996}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42668.0>, params: %{}, path_info: ["sources", "5", "media", "3791", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.143"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/5/media/3791/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GIBmxeEBYNlWm6AAGXrC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42662.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/3791/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 36996}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/3791/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.42662.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/3791/force_download", host: "youtube.zakscode.com", peer: {{10, 0, 1, 3}, 36996}, bindings: %{}, sock: {{10, 0, 1, 204}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "youtube.zakscode.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.143", "x-forwarded-host" => "youtube.zakscode.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.zakscode.com", method: "GET", owner: #PID<0.42668.0>, params: %{}, path_info: ["sources", "5", "media", "3791", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.zakscode.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 3}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "youtube.zakscode.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.143"}, {"x-forwarded-host", "youtube.zakscode.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/5/media/3791/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, privat (truncated) 02:20:55.285 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=wwSzpaTHyS8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9099/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/db/f1/dbf1983bd0bd1f65c35b1776c02975d33955eb41ed5a5cff0b8ee515cce2d0b3.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:20:55.285 [debug] QUERY OK db=0.0ms idle=1461.1ms begin [] 02:20:55.287 [debug] QUERY OK source="media_items" db=1.4ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [670, ~U[2025-12-12 07:20:50Z], "/downloads/Kurzgesagt/Did The Future Already Happen? - The Paradox of Time.mp4", "/downloads/Kurzgesagt/Did The Future Already Happen? - The Paradox of Time.info.json", "/downloads/Kurzgesagt/Did The Future Already Happen? - The Paradox of Time.nfo", "/downloads/Kurzgesagt/Did The Future Already Happen? - The Paradox of Time.mp4", "/downloads/Kurzgesagt/Did The Future Already Happen? - The Paradox of Time-thumb.jpg", ~U[2025-12-12 07:20:55Z], 9099] 02:20:55.288 [debug] QUERY OK source="media_metadata" db=0.9ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/9099/metadata.json.gz", "/config/metadata/media_items/9099/thumbnail.jpg", 9099, ~U[2025-12-12 07:20:55Z], ~U[2025-12-12 07:20:55Z]] 02:20:55.290 [debug] QUERY OK db=1.3ms commit [] 02:20:55.293 [debug] QUERY OK source="media_items" db=3.0ms idle=1465.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [215986199, ~U[2025-12-12 07:20:55Z], 9099] 02:20:55.293 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:20:55.294 [info] {"args":{"id":9099},"id":4152,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":67616938,"event":"job:stop","queue_time":106109674596,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:20:55.301 [info] {"args":{"id":9101},"id":4154,"meta":{},"system_time":1765524055301820267,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:20:55.302 [debug] QUERY OK source="media_items" db=0.3ms idle=960.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9101] 02:20:55.302 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:20:55.309 [debug] QUERY OK source="sources" db=6.1ms idle=12.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 02:20:55.309 [debug] QUERY OK source="media_profiles" db=0.5ms idle=15.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:55.310 [debug] QUERY OK source="media_items" db=0.4ms idle=15.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9101] 02:20:55.313 [debug] QUERY OK source="media_metadata" db=0.3ms idle=11.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [9101] 02:20:55.313 [debug] QUERY OK source="media_profiles" db=0.2ms idle=10.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:55.314 [debug] QUERY OK source="settings" db=0.6ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:55.314 [debug] QUERY OK source="settings" db=0.3ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:55.315 [debug] Running yt-dlp command for action: get_downloadable_status 02:20:55.316 [debug] QUERY OK source="settings" db=0.1ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:55.316 [debug] QUERY OK source="settings" db=0.1ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:55.317 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:55.317 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z_1Q0XB4X0Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c9/c0/c9c0af422d171465312ae9ddbf989cc68c5c03a4eb35cff9695b22c7200f72a4.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:21:00.137 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z_1Q0XB4X0Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c9/c0/c9c0af422d171465312ae9ddbf989cc68c5c03a4eb35cff9695b22c7200f72a4.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:21:00.137 [debug] Running yt-dlp command for action: download 02:21:00.139 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=1313.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:21:00.139 [debug] QUERY OK source="settings" db=0.3ms idle=1314.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:21:00.142 [debug] QUERY OK source="settings" db=1.9ms idle=1315.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:21:00.142 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z_1Q0XB4X0Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Kurzgesagt/%(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Kurzgesagt/%(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/92/be/92be9ec47fa3f7d479ac28f018e134090e4515ce1d916e3ada5b3f64ee8929b0.json --limit-rate 5M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:21:00.635 [info] {"source":"oban","duration":277,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:21:19.585 [info] {"source":"oban","duration":5883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0}