10:42:13.630 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=116.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] 10:42:13.634 [debug] QUERY OK source="tasks" db=1.2ms idle=118.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:42:13.635 [debug] QUERY OK source="media_items" db=0.4ms idle=119.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3371, 3373] 10:42:13.637 [info] Sent 200 in 189ms 10:42:17.247 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=O4wGxpik_wU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1b/c3/1bc30f2a8e965b5be986e60388d65df3be8e50d3ea1c31f043e5e016c9a0daac.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 10:42:17.275 [debug] Running yt-dlp command for action: download_thumbnail 10:42:17.276 [debug] QUERY OK source="settings" db=0.2ms idle=521.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 [] 10:42:17.277 [debug] QUERY OK source="settings" db=0.1ms 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 [] 10:42:17.277 [debug] QUERY OK source="settings" db=0.2ms idle=522.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 [] 10:42:17.277 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=O4wGxpik_wU --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3371/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/d8/0b/d80be1234d1b8f54ae1935dbbf5ff5d6ceaa40522e40c94c72d1facce1052c0c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:42:24.059 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=O4wGxpik_wU --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3371/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/d8/0b/d80be1234d1b8f54ae1935dbbf5ff5d6ceaa40522e40c94c72d1facce1052c0c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 10:42:24.060 [debug] QUERY OK db=0.0ms idle=1304.7ms begin [] 10:42:24.062 [debug] QUERY OK source="media_items" db=1.6ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-27 23:42:17Z], "/downloads/shows/Kevin Kos/Season 2024/s2024e051399 - The New Cocktail Trend? Sparkling Vermouth!.mp4", "/downloads/shows/Kevin Kos/Season 2024/s2024e051399 - The New Cocktail Trend? Sparkling Vermouth!.info.json", "/downloads/shows/Kevin Kos/Season 2024/s2024e051399 - The New Cocktail Trend? Sparkling Vermouth!.nfo", "/downloads/shows/Kevin Kos/Season 2024/s2024e051399 - The New Cocktail Trend? Sparkling Vermouth!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2024/s2024e051399 - The New Cocktail Trend? Sparkling Vermouth!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2024/s2024e051399 - The New Cocktail Trend? Sparkling Vermouth!-thumb.jpg", ~U[2026-03-27 23:42:24Z], 3371] 10:42:24.065 [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/3371/metadata.json.gz", "/config/metadata/media_items/3371/thumbnail.jpg", 3371, ~U[2026-03-27 23:42:24Z], ~U[2026-03-27 23:42:24Z]] 10:42:24.068 [debug] QUERY OK db=3.3ms commit [] 10:42:24.095 [debug] QUERY OK source="media_items" db=14.4ms idle=1325.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [68188758, ~U[2026-03-27 23:42:24Z], 3371] 10:42:24.096 [info] User scripts lifecyle file either not present or is empty. Skipping. 10:42:24.108 [info] {"args":{"id":3371},"id":559,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":146310533,"event":"job:stop","queue_time":70550782840,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 10:42:24.110 [debug] QUERY OK source="tasks" db=1.2ms idle=1353.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:42:24.112 [debug] QUERY OK source="media_items" db=1.5ms idle=864.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3373] 10:42:24.131 [info] {"args":{"id":3376},"id":561,"meta":{},"system_time":1774654944131274562,"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"]} 10:42:24.132 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=36.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" = ?) [3376] 10:42:24.133 [info] User scripts lifecyle file either not present or is empty. Skipping. 10:42:24.133 [debug] QUERY OK source="tasks" db=1.4ms idle=23.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:42:24.133 [debug] QUERY OK source="sources" db=0.6ms idle=22.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" = ?) [4] 10:42:24.134 [debug] QUERY OK source="media_profiles" db=0.5ms idle=3.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] 10:42:24.134 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=21.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3373, 3376] 10:42:24.135 [debug] QUERY OK source="media_items" db=0.3ms idle=2.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 [3376] 10:42:24.136 [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" = ?) [3376] 10:42:24.137 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 10:42:24.137 [debug] QUERY OK source="settings" db=0.1ms 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 [] 10:42:24.137 [debug] QUERY OK source="settings" db=0.1ms 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 [] 10:42:24.138 [debug] Running yt-dlp command for action: get_downloadable_status 10:42:24.138 [debug] QUERY OK source="settings" db=0.1ms 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 [] 10:42:24.138 [debug] QUERY OK source="settings" db=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 [] 10:42:24.139 [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 [] 10:42:24.139 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AlITak42qkE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/49/a4/49a4d3ffce1a14b5c96a8f8000fde1c133305ae25089cbc9492c75197398176c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:42:30.692 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AlITak42qkE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/49/a4/49a4d3ffce1a14b5c96a8f8000fde1c133305ae25089cbc9492c75197398176c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 10:42:30.692 [debug] Running yt-dlp command for action: download 10:42:30.693 [debug] QUERY OK source="settings" db=0.4ms idle=937.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 [] 10:42:30.693 [debug] QUERY OK source="settings" db=0.3ms idle=938.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 [] 10:42:30.694 [debug] QUERY OK source="settings" db=0.3ms idle=938.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 [] 10:42:30.694 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AlITak42qkE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9c/09/9c09a7dfbd61e8261747d6b529b58257607be04047508b1588827be297ab1b37.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:42:31.026 [info] GET / 10:42:31.027 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 10:42:31.028 [debug] QUERY OK source="settings" db=0.5ms idle=1272.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 [] 10:42:31.028 [debug] QUERY OK source="media_profiles" db=0.2ms idle=752.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 10:42:31.029 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=335.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 10:42:31.081 [debug] QUERY OK source="media_items" db=51.6ms idle=335.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:42:31.084 [debug] QUERY OK source="media_items" db=3.1ms idle=386.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:42:31.085 [debug] QUERY OK source="settings" db=0.3ms 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 [] 10:42:31.086 [debug] QUERY OK source="settings" db=0.4ms idle=57.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 [] 10:42:31.088 [debug] QUERY OK source="settings" db=0.5ms idle=58.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 [] 10:42:31.097 [debug] QUERY OK source="media_items" db=7.5ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 10:42:31.099 [debug] QUERY OK source="media_items" db=0.7ms idle=13.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:42:31.100 [debug] QUERY OK source="sources" db=0.4ms idle=14.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" IN (?,?)) [6, 2] 10:42:31.161 [debug] QUERY OK source="media_items" db=58.8ms idle=16.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 (((((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:42:31.209 [debug] QUERY OK source="media_items" db=47.5ms idle=73.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 10:42:31.210 [debug] QUERY OK source="sources" db=0.5ms idle=112.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" = ?) [6] 10:42:31.213 [debug] QUERY OK source="tasks" db=0.4ms idle=114.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:42:31.214 [debug] QUERY OK source="media_items" db=0.4ms idle=114.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3373, 3376] 10:42:31.217 [info] Sent 200 in 190ms 10:42:31.351 [info] CONNECTED TO Phoenix.LiveView.Socket in 105µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Ej5mZz4JNwUcCyo-ACZGQBdzfDkWES0KuG21KDPaP3Majrt9O48Qqew3", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.suranyami.com/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "https://pinchflat.suranyami.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 10:42:31.365 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "gyTVuMgdL8g_jT2yXGDhgtZ9", "media_state" => "downloaded"} 10:42:31.369 [debug] QUERY OK source="media_items" db=3.8ms idle=156.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 (NOT (m0."media_filepath" IS NULL)) [] 10:42:31.371 [debug] QUERY OK source="media_items" db=0.7ms queue=0.2ms idle=159.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:42:31.372 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=158.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" IN (?,?)) [6, 2] 10:42:31.373 [debug] Replied in 7ms 10:42:31.381 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "gyTVuMgdL8g_jT2yXGDhgtZ9", "media_state" => "pending"} 10:42:31.474 [debug] QUERY OK source="media_items" db=92.0ms queue=0.1ms idle=167.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 (((((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:42:31.489 [debug] QUERY OK source="media_items" db=14.8ms queue=0.2ms idle=196.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 10:42:31.491 [debug] QUERY OK source="sources" db=0.3ms idle=121.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] 10:42:31.491 [debug] Replied in 110ms 10:42:31.497 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "gyTVuMgdL8g_jT2yXGDhgtZ9"} 10:42:31.499 [debug] QUERY OK source="tasks" db=0.6ms queue=0.2ms idle=127.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:42:31.500 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=127.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3373, 3376] 10:42:31.501 [debug] Replied in 3ms 10:42:33.059 [info] {"source":"oban","duration":1943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:35.301 [info] {"args":{"id":1},"id":1599,"meta":{},"system_time":1774654955301333271,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:42:35.338 [debug] QUERY OK source="sources" db=36.1ms queue=0.1ms idle=546.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] 10:42:35.341 [debug] QUERY OK source="tasks" db=39.4ms idle=547.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:42:35.343 [debug] QUERY OK source="sources" db=0.8ms idle=4.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] 10:42:35.357 [debug] QUERY OK source="tasks" db=54.8ms idle=547.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:42:35.359 [debug] QUERY OK source="media_items" db=16.9ms idle=41.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3373, 3376] 10:42:35.362 [debug] QUERY OK source="settings" db=23.2ms queue=0.1ms idle=46.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 [] 10:42:35.362 [debug] QUERY OK source="sources" db=3.4ms 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" = ?) [1] 10:42:35.362 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=17.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3373, 3376] 10:42:35.362 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms 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] 10:42:35.363 [debug] QUERY OK source="settings" db=0.5ms 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 [] 10:42:35.363 [debug] Fetching recent media IDs from YouTube API for playlist: UUISrVZmDM4x-Rq9mmNUw7Zw 10:42:35.364 [debug] QUERY OK source="settings" db=0.3ms 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 [] 10:42:35.364 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 10:42:35.912 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=546.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "Q0qmHym16H4", "WcWL0_PlcO8", "dQV1WkSly7k", "Xpohopi2_tA", "fsZdCn4jIUY", "hgk2jMPnG2w", "oDh4gg7xiUs", "3LfUmSMW_qc", "5gN9QvwPLq8", "uSBe19ms3aw", "Eq1BmJikpHA", "OsKelxcQUNo", "zNP6Q_Yk9hU", "ZPPCc15thCc", "UzARiS2CyJ4", "r8X8HVGVV1o", "_JI7oYBFZIo", "niCh-EI1Kfo", "92mSBlpBEJo", "_6OAB_8iwqs", "tJbcC43WELc", "cPz1rUCNI0o", "hFzt_dOdElw", "nC-QKeluT0c", "i8ARsrsVUMM", "X30l-491qck", "rzQeUM-lMUY", "BkUHm95UvCw", "MQ2cHq3-J7A", "CtF5dLHITYA", "SGJkxRdkRGg", "OUCt85aJaAA", "9gARPYZOka4", "-uH-Gi5tjEw", "qwUBBQKYX94", "s8VLDSQJ8nA", "EvPfr0lKkh4", "msXzAxF49gA", "hQCWaSvjkU0", "RcmjVsy3a-g", "xtuNc9vYJG4", "fj2tcg8OzsM", "2FZ4IfPACDM", "2Q9DzW20YJ8", "IVsWFGOE_mw", "vPxpMcv2Z4Y", "Zverj_ldlhY", "pQK8xasPd9Q", "_Yo7nh8u9pk", ...] 10:42:35.917 [debug] QUERY OK source="media_items" db=3.6ms idle=550.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 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] 10:42:35.951 [debug] QUERY OK source="tasks" db=0.3ms idle=11.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1605, 1, ~U[2026-03-27 23:42:35Z], ~U[2026-03-27 23:42:35Z]] 10:42:35.952 [info] {"args":{"id":1},"id":1599,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":650209,"event":"job:stop","queue_time":625548,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:42:35.954 [debug] QUERY OK source="tasks" db=1.3ms idle=2.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:42:35.958 [debug] QUERY OK source="tasks" db=4.7ms idle=5.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:42:35.958 [debug] QUERY OK source="media_items" db=2.6ms queue=0.2ms idle=4.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3373, 3376] 10:42:35.960 [debug] QUERY OK source="media_items" db=1.2ms queue=0.5ms idle=7.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3373, 3376] 10:43:00.663 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:43:03.064 [info] {"source":"oban","duration":3101,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:14.004 [info] GET / 10:43:14.005 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 10:43:14.006 [debug] QUERY OK source="settings" db=0.8ms idle=1250.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 [] 10:43:14.007 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=584.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 10:43:14.009 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=252.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 10:43:14.065 [debug] QUERY OK source="media_items" db=56.1ms idle=254.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:43:14.069 [debug] QUERY OK source="media_items" db=3.3ms idle=310.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:43:14.070 [debug] QUERY OK source="settings" db=0.3ms idle=63.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 [] 10:43:14.071 [debug] QUERY OK source="settings" db=0.2ms idle=63.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 [] 10:43:14.071 [debug] QUERY OK source="settings" db=0.3ms idle=62.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 [] 10:43:14.076 [debug] QUERY OK source="media_items" db=3.2ms 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 (NOT (m0."media_filepath" IS NULL)) [] 10:43:14.077 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=7.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:43:14.078 [debug] QUERY OK source="sources" db=0.3ms idle=7.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" IN (?,?)) [6, 2] 10:43:14.139 [debug] QUERY OK source="media_items" db=58.9ms idle=9.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 (((((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:43:14.187 [debug] QUERY OK source="media_items" db=46.2ms queue=0.2ms idle=68.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 10:43:14.188 [debug] QUERY OK source="sources" db=0.3ms idle=112.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] 10:43:14.192 [debug] QUERY OK source="tasks" db=1.1ms queue=0.1ms idle=114.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:43:14.194 [debug] QUERY OK source="media_items" db=0.7ms idle=115.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3373, 3376] 10:43:14.195 [info] Sent 200 in 190ms 10:43:33.067 [info] {"source":"oban","duration":2274,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:00.664 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:44:03.072 [info] {"source":"oban","duration":4095,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:15.083 [info] GET / 10:44:15.084 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 10:44:15.084 [debug] QUERY OK source="settings" db=0.2ms idle=1329.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 [] 10:44:15.087 [debug] QUERY OK source="media_profiles" db=2.4ms idle=1328.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 10:44:15.088 [debug] QUERY OK source="sources" db=0.2ms idle=428.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 10:44:15.097 [debug] QUERY OK source="media_items" db=9.0ms idle=333.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:44:15.101 [debug] QUERY OK source="media_items" db=3.1ms idle=342.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:44:15.101 [debug] QUERY OK source="settings" db=0.5ms idle=16.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 [] 10:44:15.102 [debug] QUERY OK source="settings" db=0.3ms 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 [] 10:44:15.103 [debug] QUERY OK source="settings" db=0.3ms idle=14.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 [] 10:44:15.111 [debug] QUERY OK source="media_items" db=7.3ms idle=6.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 (NOT (m0."media_filepath" IS NULL)) [] 10:44:15.113 [debug] QUERY OK source="media_items" db=1.5ms idle=11.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:44:15.115 [debug] QUERY OK source="sources" db=0.9ms idle=12.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" IN (?,?)) [6, 2] 10:44:15.213 [debug] QUERY OK source="media_items" db=94.7ms idle=15.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 (((((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:44:15.266 [debug] QUERY OK source="media_items" db=53.5ms idle=110.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 10:44:15.268 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=155.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] 10:44:15.274 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=160.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:44:15.276 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=160.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3373, 3376] 10:44:15.279 [info] Sent 200 in 195ms 10:44:33.076 [info] {"source":"oban","duration":3363,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:37.563 [info] GET /.well-known/acme-challenge/mAu9zD_yP4Ugkky4XHlfoVNhMxKZi1e09aGnPusAmgg 10:44:37.565 [debug] QUERY OK source="settings" db=0.8ms queue=0.3ms idle=811.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 [] 10:44:37.566 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=809.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 [] 10:44:37.567 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:44:37.567 [error] #PID<0.26924.0> running PinchflatWeb.Endpoint (connection #PID<0.26923.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/mAu9zD_yP4Ugkky4XHlfoVNhMxKZi1e09aGnPusAmgg ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/mAu9zD_yP4Ugkky4XHlfoVNhMxKZi1e09aGnPusAmgg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.26923.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/mAu9zD_yP4Ugkky4XHlfoVNhMxKZi1e09aGnPusAmgg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 57728}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/mAu9zD_yP4Ugkky4XHlfoVNhMxKZi1e09aGnPusAmgg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.26924.0>, params: %{}, path_info: [".well-known", "acme-challenge", "mAu9zD_yP4Ugkky4XHlfoVNhMxKZi1e09aGnPusAmgg"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/mAu9zD_yP4Ugkky4XHlfoVNhMxKZi1e09aGnPusAmgg"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/mAu9zD_yP4Ugkky4XHlfoVNhMxKZi1e09aGnPusAmgg", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDXY_j9I78fAyAAFK7i"} ], 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.26923.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/mAu9zD_yP4Ugkky4XHlfoVNhMxKZi1e09aGnPusAmgg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 57728}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/mAu9zD_yP4Ugkky4XHlfoVNhMxKZi1e09aGnPusAmgg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/mAu9zD_yP4Ugkky4XHlfoVNhMxKZi1e09aGnPusAmgg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.26923.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/mAu9zD_yP4Ugkky4XHlfoVNhMxKZi1e09aGnPusAmgg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 57728}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/mAu9zD_yP4Ugkky4XHlfoVNhMxKZi1e09aGnPusAmgg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.26924.0>, params: %{}, path_info: [".well-known", "acme-challenge", "mAu9zD_yP4Ugkky4XHlfoVNhMxKZi1e09aGnPusAmgg"], 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://pinchfla (truncated) 10:44:40.248 [info] GET /.well-known/acme-challenge/i9ss-UraESsIkeaBdCekF5E5rIH3JLvCqPq2wONZXyY 10:44:40.249 [debug] QUERY OK source="settings" db=0.5ms idle=1491.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 [] 10:44:40.250 [debug] QUERY OK source="settings" db=0.4ms idle=1492.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 [] 10:44:40.251 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:44:40.252 [error] #PID<0.26925.0> running PinchflatWeb.Endpoint (connection #PID<0.26923.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/i9ss-UraESsIkeaBdCekF5E5rIH3JLvCqPq2wONZXyY ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/i9ss-UraESsIkeaBdCekF5E5rIH3JLvCqPq2wONZXyY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.26923.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/i9ss-UraESsIkeaBdCekF5E5rIH3JLvCqPq2wONZXyY", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 57728}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/i9ss-UraESsIkeaBdCekF5E5rIH3JLvCqPq2wONZXyY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.26925.0>, params: %{}, path_info: [".well-known", "acme-challenge", "i9ss-UraESsIkeaBdCekF5E5rIH3JLvCqPq2wONZXyY"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/i9ss-UraESsIkeaBdCekF5E5rIH3JLvCqPq2wONZXyY"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/i9ss-UraESsIkeaBdCekF5E5rIH3JLvCqPq2wONZXyY", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDXZJkK97JiFDkAF3bB"} ], 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.26923.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/i9ss-UraESsIkeaBdCekF5E5rIH3JLvCqPq2wONZXyY", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 57728}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/i9ss-UraESsIkeaBdCekF5E5rIH3JLvCqPq2wONZXyY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/i9ss-UraESsIkeaBdCekF5E5rIH3JLvCqPq2wONZXyY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.26923.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/i9ss-UraESsIkeaBdCekF5E5rIH3JLvCqPq2wONZXyY", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 57728}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/i9ss-UraESsIkeaBdCekF5E5rIH3JLvCqPq2wONZXyY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.26925.0>, params: %{}, path_info: [".well-known", "acme-challenge", "i9ss-UraESsIkeaBdCekF5E5rIH3JLvCqPq2wONZXyY"], 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://pinchfla (truncated) 10:44:40.733 [info] GET /.well-known/acme-challenge/afipavqhXywXhyyZsqKEEG_tO-XoHbXH8Ay0yL0aTMY 10:44:40.735 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=1976.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 [] 10:44:40.736 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1974.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 [] 10:44:40.736 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:44:40.737 [error] #PID<0.26927.0> running PinchflatWeb.Endpoint (connection #PID<0.26926.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/afipavqhXywXhyyZsqKEEG_tO-XoHbXH8Ay0yL0aTMY ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/afipavqhXywXhyyZsqKEEG_tO-XoHbXH8Ay0yL0aTMY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.26926.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/afipavqhXywXhyyZsqKEEG_tO-XoHbXH8Ay0yL0aTMY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57742}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/afipavqhXywXhyyZsqKEEG_tO-XoHbXH8Ay0yL0aTMY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.26927.0>, params: %{}, path_info: [".well-known", "acme-challenge", "afipavqhXywXhyyZsqKEEG_tO-XoHbXH8Ay0yL0aTMY"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/afipavqhXywXhyyZsqKEEG_tO-XoHbXH8Ay0yL0aTMY"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/afipavqhXywXhyyZsqKEEG_tO-XoHbXH8Ay0yL0aTMY", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDXZLX3ayIXNZgAFK8C"} ], 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.26926.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/afipavqhXywXhyyZsqKEEG_tO-XoHbXH8Ay0yL0aTMY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57742}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/afipavqhXywXhyyZsqKEEG_tO-XoHbXH8Ay0yL0aTMY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/afipavqhXywXhyyZsqKEEG_tO-XoHbXH8Ay0yL0aTMY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.26926.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/afipavqhXywXhyyZsqKEEG_tO-XoHbXH8Ay0yL0aTMY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57742}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/afipavqhXywXhyyZsqKEEG_tO-XoHbXH8Ay0yL0aTMY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.26927.0>, params: %{}, path_info: [".well-known", "acme-challenge", "afipavqhXywXhyyZsqKEEG_tO-XoHbXH8Ay0yL0aTMY"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 10:44:41.740 [info] GET /.well-known/acme-challenge/QtzWpRiEwzeKzBt05IZOef5oHZ4HCEU9gu9AqfP-icw 10:44:41.742 [debug] QUERY OK source="settings" db=0.6ms idle=1491.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 [] 10:44:41.743 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1492.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 [] 10:44:41.743 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:44:41.744 [error] #PID<0.26928.0> running PinchflatWeb.Endpoint (connection #PID<0.26926.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/QtzWpRiEwzeKzBt05IZOef5oHZ4HCEU9gu9AqfP-icw ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/QtzWpRiEwzeKzBt05IZOef5oHZ4HCEU9gu9AqfP-icw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.26926.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/QtzWpRiEwzeKzBt05IZOef5oHZ4HCEU9gu9AqfP-icw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57742}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/QtzWpRiEwzeKzBt05IZOef5oHZ4HCEU9gu9AqfP-icw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.26928.0>, params: %{}, path_info: [".well-known", "acme-challenge", "QtzWpRiEwzeKzBt05IZOef5oHZ4HCEU9gu9AqfP-icw"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/QtzWpRiEwzeKzBt05IZOef5oHZ4HCEU9gu9AqfP-icw"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/QtzWpRiEwzeKzBt05IZOef5oHZ4HCEU9gu9AqfP-icw", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDXZPH_Pv-DPz0AF3bh"} ], 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.26926.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/QtzWpRiEwzeKzBt05IZOef5oHZ4HCEU9gu9AqfP-icw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57742}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/QtzWpRiEwzeKzBt05IZOef5oHZ4HCEU9gu9AqfP-icw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/QtzWpRiEwzeKzBt05IZOef5oHZ4HCEU9gu9AqfP-icw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.26926.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/QtzWpRiEwzeKzBt05IZOef5oHZ4HCEU9gu9AqfP-icw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57742}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/QtzWpRiEwzeKzBt05IZOef5oHZ4HCEU9gu9AqfP-icw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.26928.0>, params: %{}, path_info: [".well-known", "acme-challenge", "QtzWpRiEwzeKzBt05IZOef5oHZ4HCEU9gu9AqfP-icw"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 10:44:48.237 [info] GET /.well-known/acme-challenge/Ha61lY7NOwJZYSjePySXzz9QmrarnWb5euvfWF2wcF0 10:44:48.240 [debug] QUERY OK source="settings" db=1.5ms idle=1481.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 [] 10:44:48.240 [debug] QUERY OK source="settings" db=0.3ms idle=1434.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 [] 10:44:48.241 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:44:48.242 [error] #PID<0.26930.0> running PinchflatWeb.Endpoint (connection #PID<0.26929.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/Ha61lY7NOwJZYSjePySXzz9QmrarnWb5euvfWF2wcF0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Ha61lY7NOwJZYSjePySXzz9QmrarnWb5euvfWF2wcF0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.26929.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Ha61lY7NOwJZYSjePySXzz9QmrarnWb5euvfWF2wcF0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55546}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Ha61lY7NOwJZYSjePySXzz9QmrarnWb5euvfWF2wcF0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.26930.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Ha61lY7NOwJZYSjePySXzz9QmrarnWb5euvfWF2wcF0"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Ha61lY7NOwJZYSjePySXzz9QmrarnWb5euvfWF2wcF0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/Ha61lY7NOwJZYSjePySXzz9QmrarnWb5euvfWF2wcF0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDXZnVAIo5waD0AF3cB"} ], 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.26929.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Ha61lY7NOwJZYSjePySXzz9QmrarnWb5euvfWF2wcF0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55546}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Ha61lY7NOwJZYSjePySXzz9QmrarnWb5euvfWF2wcF0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Ha61lY7NOwJZYSjePySXzz9QmrarnWb5euvfWF2wcF0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.26929.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Ha61lY7NOwJZYSjePySXzz9QmrarnWb5euvfWF2wcF0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55546}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Ha61lY7NOwJZYSjePySXzz9QmrarnWb5euvfWF2wcF0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.26930.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Ha61lY7NOwJZYSjePySXzz9QmrarnWb5euvfWF2wcF0"], 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://pinchfla (truncated) 10:44:52.098 [info] GET /.well-known/acme-challenge/M3czS5rVwSxcnFQthXx22kMHnk3RK2z0VRHIn4xZYl8 10:44:52.100 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=342.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 [] 10:44:52.101 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=343.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 [] 10:44:52.101 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:44:52.102 [error] #PID<0.26931.0> running PinchflatWeb.Endpoint (connection #PID<0.26929.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/M3czS5rVwSxcnFQthXx22kMHnk3RK2z0VRHIn4xZYl8 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/M3czS5rVwSxcnFQthXx22kMHnk3RK2z0VRHIn4xZYl8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.26929.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/M3czS5rVwSxcnFQthXx22kMHnk3RK2z0VRHIn4xZYl8", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55546}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/M3czS5rVwSxcnFQthXx22kMHnk3RK2z0VRHIn4xZYl8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.26931.0>, params: %{}, path_info: [".well-known", "acme-challenge", "M3czS5rVwSxcnFQthXx22kMHnk3RK2z0VRHIn4xZYl8"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/M3czS5rVwSxcnFQthXx22kMHnk3RK2z0VRHIn4xZYl8"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/M3czS5rVwSxcnFQthXx22kMHnk3RK2z0VRHIn4xZYl8", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDXZ1td_TOzLmwAF3ch"} ], 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.26929.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/M3czS5rVwSxcnFQthXx22kMHnk3RK2z0VRHIn4xZYl8", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55546}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/M3czS5rVwSxcnFQthXx22kMHnk3RK2z0VRHIn4xZYl8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/M3czS5rVwSxcnFQthXx22kMHnk3RK2z0VRHIn4xZYl8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.26929.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/M3czS5rVwSxcnFQthXx22kMHnk3RK2z0VRHIn4xZYl8", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55546}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/M3czS5rVwSxcnFQthXx22kMHnk3RK2z0VRHIn4xZYl8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.26931.0>, params: %{}, path_info: [".well-known", "acme-challenge", "M3czS5rVwSxcnFQthXx22kMHnk3RK2z0VRHIn4xZYl8"], 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://pinchfla (truncated) 10:44:52.370 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t8K_I0Jbxjc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7d/89/7d8920bdbc2071198633dd5b7e0d911ab1f1273be6d5d82cabef900a55e609ca.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 10:44:52.407 [debug] Running yt-dlp command for action: download_thumbnail 10:44:52.410 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=651.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 [] 10:44:52.410 [debug] QUERY OK source="settings" db=0.4ms idle=652.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 [] 10:44:52.411 [debug] QUERY OK source="settings" db=0.3ms idle=583.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 [] 10:44:52.411 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t8K_I0Jbxjc --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3373/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/52/ca/52ca2699fd8b681aa521cbed7641bafd616e2643228a347de7698c746d96cda4.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:44:56.210 [info] GET /.well-known/acme-challenge/hNJ0S1cWuEgvuW9HOITm6M2GYU3GCP9ZBDn4HdUtytY 10:44:56.215 [debug] QUERY OK source="settings" db=3.8ms idle=454.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 [] 10:44:56.216 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=458.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 [] 10:44:56.217 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:44:56.218 [error] #PID<0.26936.0> running PinchflatWeb.Endpoint (connection #PID<0.26929.0>, stream id 3) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/hNJ0S1cWuEgvuW9HOITm6M2GYU3GCP9ZBDn4HdUtytY ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/hNJ0S1cWuEgvuW9HOITm6M2GYU3GCP9ZBDn4HdUtytY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.26929.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/hNJ0S1cWuEgvuW9HOITm6M2GYU3GCP9ZBDn4HdUtytY", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55546}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/hNJ0S1cWuEgvuW9HOITm6M2GYU3GCP9ZBDn4HdUtytY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.26936.0>, params: %{}, path_info: [".well-known", "acme-challenge", "hNJ0S1cWuEgvuW9HOITm6M2GYU3GCP9ZBDn4HdUtytY"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/hNJ0S1cWuEgvuW9HOITm6M2GYU3GCP9ZBDn4HdUtytY"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/hNJ0S1cWuEgvuW9HOITm6M2GYU3GCP9ZBDn4HdUtytY", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDXaFB62b_kxUoAF3dB"} ], 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.26929.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/hNJ0S1cWuEgvuW9HOITm6M2GYU3GCP9ZBDn4HdUtytY", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55546}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/hNJ0S1cWuEgvuW9HOITm6M2GYU3GCP9ZBDn4HdUtytY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/hNJ0S1cWuEgvuW9HOITm6M2GYU3GCP9ZBDn4HdUtytY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.26929.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/hNJ0S1cWuEgvuW9HOITm6M2GYU3GCP9ZBDn4HdUtytY", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55546}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/hNJ0S1cWuEgvuW9HOITm6M2GYU3GCP9ZBDn4HdUtytY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.26936.0>, params: %{}, path_info: [".well-known", "acme-challenge", "hNJ0S1cWuEgvuW9HOITm6M2GYU3GCP9ZBDn4HdUtytY"], 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://pinchfla (truncated) 10:44:59.398 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t8K_I0Jbxjc --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3373/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/52/ca/52ca2699fd8b681aa521cbed7641bafd616e2643228a347de7698c746d96cda4.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 10:44:59.400 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1642.5ms begin [] 10:44:59.405 [debug] QUERY OK source="media_items" db=4.3ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-27 23:44:52Z], "/downloads/shows/Kevin Kos/Season 2024/s2024e050699 - Creating A Mocktail Masterpiece: Non-alcoholic Gin And Negroni Recipe.mp4", "/downloads/shows/Kevin Kos/Season 2024/s2024e050699 - Creating A Mocktail Masterpiece: Non-alcoholic Gin And Negroni Recipe.info.json", "/downloads/shows/Kevin Kos/Season 2024/s2024e050699 - Creating A Mocktail Masterpiece: Non-alcoholic Gin And Negroni Recipe.nfo", "/downloads/shows/Kevin Kos/Season 2024/s2024e050699 - Creating A Mocktail Masterpiece: Non-alcoholic Gin And Negroni Recipe.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2024/s2024e050699 - Creating A Mocktail Masterpiece: Non-alcoholic Gin And Negroni Recipe.en.srt"]], "/downloads/shows/Kevin Kos/Season 2024/s2024e050699 - Creating A Mocktail Masterpiece: Non-alcoholic Gin And Negroni Recipe-thumb.jpg", ~U[2026-03-27 23:44:59Z], 3373] 10:44:59.408 [debug] QUERY OK source="media_metadata" db=2.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/3373/metadata.json.gz", "/config/metadata/media_items/3373/thumbnail.jpg", 3373, ~U[2026-03-27 23:44:59Z], ~U[2026-03-27 23:44:59Z]] 10:44:59.409 [debug] QUERY OK db=0.5ms commit [] 10:44:59.422 [debug] QUERY OK source="media_items" db=9.2ms idle=1655.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [149317238, ~U[2026-03-27 23:44:59Z], 3373] 10:44:59.422 [info] User scripts lifecyle file either not present or is empty. Skipping. 10:44:59.430 [info] {"args":{"id":3373},"id":560,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":244711460,"event":"job:stop","queue_time":70602709851,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 10:44:59.440 [debug] QUERY OK source="tasks" db=8.5ms queue=0.1ms idle=1578.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:44:59.442 [debug] QUERY OK source="media_items" db=1.5ms queue=0.2ms idle=31.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3376] 10:44:59.448 [info] {"args":{"id":3379},"id":562,"meta":{},"system_time":1774655099447754703,"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"]} 10:44:59.449 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=26.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" = ?) [3379] 10:44:59.449 [debug] QUERY OK source="tasks" db=0.6ms idle=18.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:44:59.449 [info] User scripts lifecyle file either not present or is empty. Skipping. 10:44:59.450 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=9.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" = ?) [4] 10:44:59.450 [debug] QUERY OK source="media_items" db=0.3ms idle=7.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3376, 3379] 10:44:59.450 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.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] 10:44:59.451 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=2.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 [3379] 10:44:59.453 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.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" = ?) [3379] 10:44:59.453 [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] 10:44:59.454 [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 [] 10:44:59.455 [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 [] 10:44:59.455 [debug] Running yt-dlp command for action: get_downloadable_status 10:44:59.456 [debug] QUERY OK source="settings" db=0.1ms 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 [] 10:44:59.457 [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 [] 10:44:59.457 [debug] QUERY OK source="settings" db=0.1ms queue=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 [] 10:44:59.458 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OYJw9iSO-Vw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3b/6f/3b6f904d21e112aea1eaf38b764d44d9ba9a00e2f7b515f08a0d3d4b0a9fda5b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:45:00.666 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:45:03.079 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:06.355 [info] GET /.well-known/acme-challenge/ycSsXHFu5YZC2MW6mdf6NGANz5MCJYYhbj91cICbQIU 10:45:06.356 [debug] QUERY OK source="settings" db=0.5ms idle=1599.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 [] 10:45:06.357 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1600.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 [] 10:45:06.357 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:45:06.358 [error] #PID<0.26941.0> running PinchflatWeb.Endpoint (connection #PID<0.26940.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/ycSsXHFu5YZC2MW6mdf6NGANz5MCJYYhbj91cICbQIU ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ycSsXHFu5YZC2MW6mdf6NGANz5MCJYYhbj91cICbQIU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.26940.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ycSsXHFu5YZC2MW6mdf6NGANz5MCJYYhbj91cICbQIU", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33358}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/ycSsXHFu5YZC2MW6mdf6NGANz5MCJYYhbj91cICbQIU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.26941.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ycSsXHFu5YZC2MW6mdf6NGANz5MCJYYhbj91cICbQIU"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/ycSsXHFu5YZC2MW6mdf6NGANz5MCJYYhbj91cICbQIU"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/ycSsXHFu5YZC2MW6mdf6NGANz5MCJYYhbj91cICbQIU", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDXaq0sywiW-zgAF3fB"} ], 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.26940.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ycSsXHFu5YZC2MW6mdf6NGANz5MCJYYhbj91cICbQIU", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33358}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/ycSsXHFu5YZC2MW6mdf6NGANz5MCJYYhbj91cICbQIU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ycSsXHFu5YZC2MW6mdf6NGANz5MCJYYhbj91cICbQIU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.26940.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ycSsXHFu5YZC2MW6mdf6NGANz5MCJYYhbj91cICbQIU", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33358}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/ycSsXHFu5YZC2MW6mdf6NGANz5MCJYYhbj91cICbQIU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.26941.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ycSsXHFu5YZC2MW6mdf6NGANz5MCJYYhbj91cICbQIU"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 10:45:07.202 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OYJw9iSO-Vw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3b/6f/3b6f904d21e112aea1eaf38b764d44d9ba9a00e2f7b515f08a0d3d4b0a9fda5b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 10:45:07.203 [debug] Running yt-dlp command for action: download 10:45:07.204 [debug] QUERY OK source="settings" db=0.5ms idle=846.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 [] 10:45:07.205 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=846.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 [] 10:45:07.206 [debug] QUERY OK source="settings" db=0.8ms idle=448.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 [] 10:45:07.206 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OYJw9iSO-Vw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/86/e9/86e949111e70187bf3db5cc3f367f0e21a84adb00082ab7047f23a5645860ae8.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:45:15.655 [info] GET / 10:45:15.655 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 10:45:15.656 [debug] QUERY OK source="settings" db=0.4ms idle=1898.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 [] 10:45:15.657 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=1733.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 10:45:15.658 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=900.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 10:45:15.684 [debug] QUERY OK source="media_items" db=26.2ms queue=0.1ms idle=901.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:45:15.688 [debug] QUERY OK source="media_items" db=3.2ms queue=0.2ms idle=759.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:45:15.690 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=33.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 [] 10:45:15.691 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=33.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 [] 10:45:15.693 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms 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 [] 10:45:15.699 [debug] QUERY OK source="media_items" db=3.6ms idle=10.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 (NOT (m0."media_filepath" IS NULL)) [] 10:45:15.702 [debug] QUERY OK source="media_items" db=1.9ms queue=0.9ms idle=11.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:45:15.706 [debug] QUERY OK source="sources" db=2.4ms queue=0.2ms idle=14.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" IN (?,?)) [6, 2] 10:45:15.770 [debug] QUERY OK source="media_items" db=57.1ms queue=0.1ms idle=22.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 (((((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:45:15.823 [debug] QUERY OK source="media_items" db=48.6ms queue=0.9ms idle=80.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 10:45:15.824 [debug] QUERY OK source="sources" db=0.3ms idle=125.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] 10:45:15.827 [debug] QUERY OK source="tasks" db=0.6ms idle=124.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:45:15.829 [debug] QUERY OK source="media_items" db=1.0ms idle=121.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3376, 3379] 10:45:15.834 [info] Sent 200 in 179ms 10:45:17.095 [info] GET /.well-known/acme-challenge/-yEhGIxA60mTwORj5IUYtEkJK9VbAKOXCdUFDdtNkg0 10:45:17.096 [debug] QUERY OK source="settings" db=0.3ms idle=1271.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 [] 10:45:17.097 [debug] QUERY OK source="settings" db=0.3ms idle=1269.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 [] 10:45:17.097 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:45:17.097 [error] #PID<0.26946.0> running PinchflatWeb.Endpoint (connection #PID<0.26944.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/-yEhGIxA60mTwORj5IUYtEkJK9VbAKOXCdUFDdtNkg0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/-yEhGIxA60mTwORj5IUYtEkJK9VbAKOXCdUFDdtNkg0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.26944.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/-yEhGIxA60mTwORj5IUYtEkJK9VbAKOXCdUFDdtNkg0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37834}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/-yEhGIxA60mTwORj5IUYtEkJK9VbAKOXCdUFDdtNkg0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.26946.0>, params: %{}, path_info: [".well-known", "acme-challenge", "-yEhGIxA60mTwORj5IUYtEkJK9VbAKOXCdUFDdtNkg0"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/-yEhGIxA60mTwORj5IUYtEkJK9VbAKOXCdUFDdtNkg0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/-yEhGIxA60mTwORj5IUYtEkJK9VbAKOXCdUFDdtNkg0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDXbS1P3i4_MScAF3ih"} ], 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.26944.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/-yEhGIxA60mTwORj5IUYtEkJK9VbAKOXCdUFDdtNkg0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37834}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/-yEhGIxA60mTwORj5IUYtEkJK9VbAKOXCdUFDdtNkg0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/-yEhGIxA60mTwORj5IUYtEkJK9VbAKOXCdUFDdtNkg0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.26944.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/-yEhGIxA60mTwORj5IUYtEkJK9VbAKOXCdUFDdtNkg0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37834}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/-yEhGIxA60mTwORj5IUYtEkJK9VbAKOXCdUFDdtNkg0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.26946.0>, params: %{}, path_info: [".well-known", "acme-challenge", "-yEhGIxA60mTwORj5IUYtEkJK9VbAKOXCdUFDdtNkg0"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 10:45:24.962 [info] GET / 10:45:24.963 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 10:45:24.964 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1206.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 [] 10:45:24.965 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=1207.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 10:45:24.966 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=998.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 10:45:24.986 [debug] QUERY OK source="media_items" db=19.6ms idle=209.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:45:24.989 [debug] QUERY OK source="media_items" db=2.6ms queue=0.2ms idle=22.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:45:24.991 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=25.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 [] 10:45:24.992 [debug] QUERY OK source="settings" db=0.6ms queue=0.3ms idle=25.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 [] 10:45:24.996 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=24.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 [] 10:45:25.004 [debug] QUERY OK source="media_items" db=5.3ms queue=0.1ms idle=12.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 (NOT (m0."media_filepath" IS NULL)) [] 10:45:25.005 [debug] QUERY OK source="media_items" db=0.7ms queue=0.2ms idle=15.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:45:25.007 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=15.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" IN (?,?)) [6, 2] 10:45:25.069 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AlITak42qkE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9c/09/9c09a7dfbd61e8261747d6b529b58257607be04047508b1588827be297ab1b37.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 10:45:25.108 [debug] QUERY OK source="media_items" db=93.1ms queue=0.1ms idle=22.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 (((((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:45:25.123 [debug] QUERY OK source="media_items" db=14.0ms idle=113.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 10:45:25.123 [debug] QUERY OK source="sources" db=0.2ms idle=119.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] 10:45:25.126 [debug] QUERY OK source="tasks" db=1.1ms idle=120.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:45:25.127 [debug] QUERY OK source="media_items" db=0.8ms idle=119.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3376, 3379] 10:45:25.129 [info] Sent 200 in 166ms 10:45:25.182 [debug] Running yt-dlp command for action: download_thumbnail 10:45:25.183 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=74.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 [] 10:45:25.184 [debug] QUERY OK source="settings" db=0.1ms idle=61.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 [] 10:45:25.184 [debug] QUERY OK source="settings" db=0.1ms idle=60.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 [] 10:45:25.185 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AlITak42qkE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3376/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c7/fa/c7fa9eb7e18aa68f55c10ec0a331fcf1dc217bc651ed89a76ac14b4d65ad22ac.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:45:25.269 [info] CONNECTED TO Phoenix.LiveView.Socket in 73µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "MSsXZQ0uX1Q6T1RoWTtmMy10cCcCIQBwVRC3xc80vw373oTJu34OeUZI", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.suranyami.com/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "https://pinchflat.suranyami.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 10:45:25.288 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "gyTVuMgdL8g_jT2yXGDhgtZ9", "media_state" => "downloaded"} 10:45:25.297 [debug] QUERY OK source="media_items" db=8.0ms queue=0.1ms idle=162.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 (NOT (m0."media_filepath" IS NULL)) [] 10:45:25.298 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=169.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:45:25.300 [debug] QUERY OK source="sources" db=0.6ms idle=115.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" IN (?,?)) [6, 2] 10:45:25.300 [debug] Replied in 12ms 10:45:25.304 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "gyTVuMgdL8g_jT2yXGDhgtZ9", "media_state" => "pending"} 10:45:25.361 [debug] QUERY OK source="media_items" db=56.3ms idle=120.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 (((((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:45:25.377 [debug] QUERY OK source="media_items" db=15.0ms queue=0.1ms idle=177.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 10:45:25.377 [debug] QUERY OK source="sources" db=0.2ms idle=80.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] 10:45:25.378 [debug] Replied in 73ms 10:45:25.380 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "gyTVuMgdL8g_jT2yXGDhgtZ9"} 10:45:25.381 [debug] QUERY OK source="tasks" db=0.4ms idle=82.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:45:25.382 [debug] QUERY OK source="media_items" db=0.4ms idle=82.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3376, 3379] 10:45:25.382 [debug] Replied in 2ms 10:45:26.028 [info] GET /.well-known/acme-challenge/KWJx2peH81SWynfJ0o-lMdfr55k-tC9Sc99D8pCCxiY 10:45:26.029 [debug] QUERY OK source="settings" db=0.5ms idle=651.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 [] 10:45:26.029 [debug] QUERY OK source="settings" db=0.3ms idle=651.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 [] 10:45:26.029 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:45:26.030 [error] #PID<0.26958.0> running PinchflatWeb.Endpoint (connection #PID<0.26947.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/KWJx2peH81SWynfJ0o-lMdfr55k-tC9Sc99D8pCCxiY ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/KWJx2peH81SWynfJ0o-lMdfr55k-tC9Sc99D8pCCxiY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.26947.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/KWJx2peH81SWynfJ0o-lMdfr55k-tC9Sc99D8pCCxiY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 56236}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/KWJx2peH81SWynfJ0o-lMdfr55k-tC9Sc99D8pCCxiY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.26958.0>, params: %{}, path_info: [".well-known", "acme-challenge", "KWJx2peH81SWynfJ0o-lMdfr55k-tC9Sc99D8pCCxiY"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/KWJx2peH81SWynfJ0o-lMdfr55k-tC9Sc99D8pCCxiY"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/KWJx2peH81SWynfJ0o-lMdfr55k-tC9Sc99D8pCCxiY", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDXb0G7Y_kyQygAF3nB"} ], 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.26947.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/KWJx2peH81SWynfJ0o-lMdfr55k-tC9Sc99D8pCCxiY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 56236}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/KWJx2peH81SWynfJ0o-lMdfr55k-tC9Sc99D8pCCxiY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/KWJx2peH81SWynfJ0o-lMdfr55k-tC9Sc99D8pCCxiY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.26947.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/KWJx2peH81SWynfJ0o-lMdfr55k-tC9Sc99D8pCCxiY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 56236}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/KWJx2peH81SWynfJ0o-lMdfr55k-tC9Sc99D8pCCxiY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.26958.0>, params: %{}, path_info: [".well-known", "acme-challenge", "KWJx2peH81SWynfJ0o-lMdfr55k-tC9Sc99D8pCCxiY"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 10:45:32.043 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AlITak42qkE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3376/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c7/fa/c7fa9eb7e18aa68f55c10ec0a331fcf1dc217bc651ed89a76ac14b4d65ad22ac.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 10:45:32.044 [debug] QUERY OK db=0.1ms idle=1287.2ms begin [] 10:45:32.047 [debug] QUERY OK source="media_items" db=1.6ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-27 23:45:25Z], "/downloads/shows/Kevin Kos/Season 2024/s2024e042999 - One Leftover Makes THREE DIY Ingredients?!.mp4", "/downloads/shows/Kevin Kos/Season 2024/s2024e042999 - One Leftover Makes THREE DIY Ingredients?!.info.json", "/downloads/shows/Kevin Kos/Season 2024/s2024e042999 - One Leftover Makes THREE DIY Ingredients?!.nfo", "/downloads/shows/Kevin Kos/Season 2024/s2024e042999 - One Leftover Makes THREE DIY Ingredients?!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2024/s2024e042999 - One Leftover Makes THREE DIY Ingredients?!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2024/s2024e042999 - One Leftover Makes THREE DIY Ingredients?!-thumb.jpg", ~U[2026-03-27 23:45:32Z], 3376] 10:45:32.048 [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/3376/metadata.json.gz", "/config/metadata/media_items/3376/thumbnail.jpg", 3376, ~U[2026-03-27 23:45:32Z], ~U[2026-03-27 23:45:32Z]] 10:45:32.049 [debug] QUERY OK db=0.3ms commit [] 10:45:32.061 [debug] QUERY OK source="media_items" db=6.7ms queue=0.1ms idle=1057.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [85686673, ~U[2026-03-27 23:45:32Z], 3376] 10:45:32.061 [info] User scripts lifecyle file either not present or is empty. Skipping. 10:45:32.070 [info] {"args":{"id":3376},"id":561,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":187930394,"event":"job:stop","queue_time":70687114803,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 10:45:32.104 [debug] QUERY OK source="tasks" db=33.3ms idle=313.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:45:32.121 [info] {"args":{"id":3381},"id":563,"meta":{},"system_time":1774655132121181237,"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"]} 10:45:32.123 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=60.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" = ?) [3381] 10:45:32.124 [info] User scripts lifecyle file either not present or is empty. Skipping. 10:45:32.126 [debug] QUERY OK source="sources" db=1.2ms idle=54.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" = ?) [4] 10:45:32.128 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.2ms idle=21.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] 10:45:32.133 [debug] QUERY OK source="media_items" db=28.1ms queue=0.1ms idle=56.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3379] 10:45:32.135 [debug] QUERY OK source="media_items" db=0.7ms queue=0.8ms idle=12.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 [3381] 10:45:32.135 [debug] QUERY OK source="tasks" db=0.6ms idle=11.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:45:32.137 [debug] QUERY OK source="media_items" db=0.7ms idle=10.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3379, 3381] 10:45:32.139 [debug] QUERY OK source="media_metadata" db=2.0ms 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" = ?) [3381] 10:45:32.141 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms 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] 10:45:32.143 [debug] QUERY OK source="settings" db=1.0ms 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 [] 10:45:32.144 [debug] QUERY OK source="settings" db=0.7ms 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 [] 10:45:32.145 [debug] Running yt-dlp command for action: get_downloadable_status 10:45:32.147 [debug] QUERY OK source="settings" db=0.3ms idle=9.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 [] 10:45:32.147 [debug] QUERY OK source="settings" db=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 [] 10:45:32.148 [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 [] 10:45:32.149 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ai-jr73f2wE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6a/7e/6a7e58337650ca302759010dcab36f48d4cae33fe1a903edb6694ea91818440e.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:45:33.083 [info] {"source":"oban","duration":3801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:38.188 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ai-jr73f2wE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6a/7e/6a7e58337650ca302759010dcab36f48d4cae33fe1a903edb6694ea91818440e.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 10:45:38.189 [debug] Running yt-dlp command for action: download 10:45:38.189 [debug] QUERY OK source="settings" db=0.4ms idle=1432.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 [] 10:45:38.190 [debug] QUERY OK source="settings" db=0.2ms idle=1174.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 [] 10:45:38.190 [debug] QUERY OK source="settings" db=0.2ms idle=433.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 [] 10:45:38.191 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ai-jr73f2wE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/57/94/5794692fad68bbec480db29a578048c1151d2f4b543d623668c7c3ce5d9451a6.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:46:00.668 [info] {"source":"oban","duration":845,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:46:03.088 [info] {"source":"oban","duration":3232,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:05.662 [info] GET /sources/8/media/7358 10:46:05.662 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "7358", "source_id" => "8"} Pipelines: [:browser] 10:46:05.665 [debug] QUERY OK source="media_items" db=1.5ms idle=1906.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" = ?) [7358] 10:46:05.672 [debug] QUERY OK source="tasks" db=2.0ms queue=0.4ms idle=1912.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" [7358] 10:46:05.673 [debug] QUERY OK source="sources" db=2.5ms idle=1540.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" = ?) [6] 10:46:05.675 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=917.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 [] 10:46:05.676 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=541.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 [] 10:46:05.678 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=13.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 [] 10:46:05.682 [debug] QUERY OK source="media_profiles" db=1.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] 10:46:05.689 [info] Sent 200 in 26ms 10:46:10.604 [info] GET / 10:46:10.605 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 10:46:10.606 [debug] QUERY OK source="settings" db=1.0ms idle=1848.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 [] 10:46:10.607 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1849.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 10:46:10.608 [debug] QUERY OK source="sources" db=0.2ms idle=1850.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 10:46:10.669 [debug] QUERY OK source="media_items" db=60.7ms idle=1453.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:46:10.678 [debug] QUERY OK source="media_items" db=8.3ms queue=0.1ms idle=509.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:46:10.679 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=72.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 [] 10:46:10.680 [debug] QUERY OK source="settings" db=0.4ms idle=72.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 [] 10:46:10.681 [debug] QUERY OK source="settings" db=0.4ms idle=72.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 [] 10:46:10.691 [debug] QUERY OK source="media_items" db=8.8ms idle=13.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 (NOT (m0."media_filepath" IS NULL)) [] 10:46:10.694 [debug] QUERY OK source="media_items" db=1.9ms idle=14.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:46:10.696 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=16.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" IN (?,?)) [6, 2] 10:46:10.807 [debug] QUERY OK source="media_items" db=103.8ms idle=23.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 (((((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:46:10.846 [info] Exqlite.Connection (#PID<0.2317.0>) disconnected: ** (DBConnection.ConnectionError) client #PID<0.26972.0> exited 10:46:10.861 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-arm/sqlean` 10:46:16.573 [info] GET / 10:46:16.573 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 10:46:16.574 [debug] QUERY OK source="settings" db=0.3ms idle=1816.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 [] 10:46:16.575 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1394.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 10:46:16.575 [debug] QUERY OK source="sources" db=0.1ms idle=818.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 10:46:16.638 [debug] QUERY OK source="media_items" db=62.4ms idle=818.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:46:16.640 [debug] QUERY OK source="media_items" db=1.5ms queue=0.2ms idle=454.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:46:16.641 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=66.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 [] 10:46:16.642 [debug] QUERY OK source="settings" db=0.2ms queue=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 [] 10:46:16.643 [debug] QUERY OK source="settings" db=0.1ms idle=67.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 [] 10:46:16.649 [debug] QUERY OK source="media_items" db=4.5ms idle=6.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 (NOT (m0."media_filepath" IS NULL)) [] 10:46:16.650 [debug] QUERY OK source="media_items" db=0.7ms idle=9.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:46:16.652 [debug] QUERY OK source="sources" db=0.5ms 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" IN (?,?)) [6, 2] 10:46:16.746 [debug] QUERY OK source="media_items" db=91.8ms idle=12.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 (((((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:46:16.761 [debug] QUERY OK source="media_items" db=14.5ms idle=103.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 10:46:16.762 [debug] QUERY OK source="sources" db=0.6ms idle=113.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] 10:46:16.768 [debug] QUERY OK source="tasks" db=1.3ms idle=116.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:46:16.770 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=117.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3379, 3381] 10:46:16.773 [info] Sent 200 in 200ms 10:46:33.090 [info] {"source":"oban","duration":1406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:00.670 [info] {"source":"oban","duration":1108,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:47:03.093 [info] {"source":"oban","duration":2556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:17.114 [info] GET / 10:47:17.114 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 10:47:17.115 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=707.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 [] 10:47:17.116 [debug] QUERY OK source="media_profiles" db=0.2ms idle=359.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 10:47:17.116 [debug] QUERY OK source="sources" db=0.1ms idle=359.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 10:47:17.127 [debug] QUERY OK source="media_items" db=10.1ms idle=359.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:47:17.132 [debug] QUERY OK source="media_items" db=4.8ms idle=370.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:47:17.132 [debug] QUERY OK source="settings" db=0.3ms idle=16.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 [] 10:47:17.133 [debug] QUERY OK source="settings" db=0.3ms idle=16.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 [] 10:47:17.134 [debug] QUERY OK source="settings" db=0.2ms 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 [] 10:47:17.139 [debug] QUERY OK source="media_items" db=4.9ms idle=7.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 (NOT (m0."media_filepath" IS NULL)) [] 10:47:17.141 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=7.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:47:17.142 [debug] QUERY OK source="sources" db=0.3ms idle=9.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" IN (?,?)) [6, 2] 10:47:17.206 [debug] QUERY OK source="media_items" db=62.1ms idle=11.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 (((((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:47:17.285 [debug] QUERY OK source="media_items" db=78.2ms queue=0.1ms idle=73.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 10:47:17.286 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=146.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] 10:47:17.292 [debug] QUERY OK source="tasks" db=0.4ms idle=150.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:47:17.293 [debug] QUERY OK source="media_items" db=0.5ms idle=150.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3379, 3381] 10:47:17.295 [info] Sent 200 in 181ms 10:47:23.791 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OYJw9iSO-Vw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/86/e9/86e949111e70187bf3db5cc3f367f0e21a84adb00082ab7047f23a5645860ae8.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies ERROR: Did not get any data blocks 10:47:23.791 [error] yt-dlp download error for media item #3379: "WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies\n\n\nERROR: Did not get any data blocks\n" 10:47:23.813 [debug] QUERY OK source="media_items" db=21.6ms idle=1034.4ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies\n\n\nERROR: Did not get any data blocks\n", ~U[2026-03-27 23:47:23Z], 3379] 10:47:23.829 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3379},"id":562,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":144365715,"event":"job:exception","queue_time":70835436875,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 10:47:23.857 [debug] QUERY OK source="tasks" db=27.7ms idle=1072.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:47:23.894 [info] {"args":{"id":3384},"id":564,"meta":{},"system_time":1774655243893847659,"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"]} 10:47:23.939 [debug] QUERY OK source="media_items" db=80.9ms idle=428.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3381] 10:47:23.952 [debug] QUERY OK source="media_items" db=57.0ms queue=0.1ms idle=82.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" = ?) [3384] 10:47:23.953 [info] User scripts lifecyle file either not present or is empty. Skipping. 10:47:23.953 [debug] QUERY OK source="tasks" db=11.0ms idle=113.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:47:23.955 [debug] QUERY OK source="sources" db=1.1ms queue=0.2ms idle=96.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" = ?) [4] 10:47:23.955 [debug] QUERY OK source="media_items" db=1.4ms idle=60.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3381, 3384] 10:47:23.956 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=16.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] 10:47:23.958 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=4.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 [3384] 10:47:23.961 [debug] QUERY OK source="media_metadata" db=0.3ms idle=7.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" = ?) [3384] 10:47:23.962 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.2ms idle=6.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] 10:47:23.964 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 10:47:23.965 [debug] QUERY OK source="settings" db=0.3ms 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 [] 10:47:23.966 [debug] Running yt-dlp command for action: get_downloadable_status 10:47:23.968 [debug] QUERY OK source="settings" db=0.4ms 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 [] 10:47:23.969 [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 [] 10:47:23.969 [debug] QUERY OK source="settings" db=0.3ms idle=6.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 [] 10:47:23.970 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=U4Y6TeCvb_o --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/be/9b/be9b86384009e63eeba8adca66f0234969170bb32870de57319d29a3bf95c7e5.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:47:30.486 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=U4Y6TeCvb_o --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/be/9b/be9b86384009e63eeba8adca66f0234969170bb32870de57319d29a3bf95c7e5.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 10:47:30.487 [debug] Running yt-dlp command for action: download 10:47:30.487 [debug] QUERY OK source="settings" db=0.2ms idle=730.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 [] 10:47:30.487 [debug] QUERY OK source="settings" db=0.1ms idle=730.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 [] 10:47:30.488 [debug] QUERY OK source="settings" db=0.2ms idle=730.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 [] 10:47:30.488 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=U4Y6TeCvb_o --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/93/f3/93f3a502e3945f2bcd4071936fdd832d222ca4dfc8ff3a18baa718a5e5ca6f0c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:47:33.097 [info] {"source":"oban","duration":3506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:00.672 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:48:03.105 [info] {"source":"oban","duration":6631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:17.488 [info] GET / 10:48:17.488 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 10:48:17.489 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1731.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 [] 10:48:17.490 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=1732.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 10:48:17.490 [debug] QUERY OK source="sources" db=0.1ms idle=1733.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 10:48:17.543 [debug] QUERY OK source="media_items" db=52.6ms idle=863.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:48:17.547 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=787.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:48:17.548 [debug] QUERY OK source="settings" db=0.3ms idle=58.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 [] 10:48:17.549 [debug] QUERY OK source="settings" db=0.6ms idle=57.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 [] 10:48:17.549 [debug] QUERY OK source="settings" db=0.1ms idle=58.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 [] 10:48:17.554 [debug] QUERY OK source="media_items" db=3.4ms idle=7.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 (NOT (m0."media_filepath" IS NULL)) [] 10:48:17.556 [debug] QUERY OK source="media_items" db=1.6ms idle=7.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:48:17.557 [debug] QUERY OK source="sources" db=0.7ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [6, 2] 10:48:17.621 [debug] QUERY OK source="media_items" db=61.0ms idle=11.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 (((((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:48:17.687 [debug] QUERY OK source="media_items" db=65.6ms queue=0.1ms idle=72.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 10:48:17.689 [debug] QUERY OK source="sources" db=0.4ms idle=132.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] 10:48:17.694 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=136.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:48:17.696 [debug] QUERY OK source="media_items" db=0.5ms 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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3381, 3384] 10:48:17.697 [info] Sent 200 in 209ms 10:48:21.891 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ai-jr73f2wE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/57/94/5794692fad68bbec480db29a578048c1151d2f4b543d623668c7c3ce5d9451a6.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 10:48:21.920 [debug] Running yt-dlp command for action: download_thumbnail 10:48:21.921 [debug] QUERY OK source="settings" db=0.2ms idle=1163.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 [] 10:48:21.921 [debug] QUERY OK source="settings" db=0.1ms idle=1164.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 [] 10:48:21.921 [debug] QUERY OK source="settings" db=0.1ms idle=1164.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 [] 10:48:21.922 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ai-jr73f2wE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3381/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/85/57/855728be4a465345165eb7da8c4ae61a5e62f92c35cfb4d2a9e1a0360e5ea497.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:48:29.224 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ai-jr73f2wE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3381/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/85/57/855728be4a465345165eb7da8c4ae61a5e62f92c35cfb4d2a9e1a0360e5ea497.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 10:48:29.226 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1468.9ms begin [] 10:48:29.229 [debug] QUERY OK source="media_items" db=2.0ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-27 23:48:21Z], "/downloads/shows/Kevin Kos/Season 2024/s2024e041599 - Battle Of The Elements: Earth Vs. Fire Cocktail Face-off.mp4", "/downloads/shows/Kevin Kos/Season 2024/s2024e041599 - Battle Of The Elements: Earth Vs. Fire Cocktail Face-off.info.json", "/downloads/shows/Kevin Kos/Season 2024/s2024e041599 - Battle Of The Elements: Earth Vs. Fire Cocktail Face-off.nfo", "/downloads/shows/Kevin Kos/Season 2024/s2024e041599 - Battle Of The Elements: Earth Vs. Fire Cocktail Face-off.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2024/s2024e041599 - Battle Of The Elements: Earth Vs. Fire Cocktail Face-off.en.srt"]], "/downloads/shows/Kevin Kos/Season 2024/s2024e041599 - Battle Of The Elements: Earth Vs. Fire Cocktail Face-off-thumb.jpg", ~U[2026-03-27 23:48:29Z], 3381] 10:48:29.231 [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/3381/metadata.json.gz", "/config/metadata/media_items/3381/thumbnail.jpg", 3381, ~U[2026-03-27 23:48:29Z], ~U[2026-03-27 23:48:29Z]] 10:48:29.233 [debug] QUERY OK db=1.3ms commit [] 10:48:29.244 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=1483.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [75734371, ~U[2026-03-27 23:48:29Z], 3381] 10:48:29.244 [info] User scripts lifecyle file either not present or is empty. Skipping. 10:48:29.253 [info] {"args":{"id":3381},"id":563,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":177123481,"event":"job:stop","queue_time":70864076754,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 10:48:29.256 [debug] QUERY OK source="tasks" db=1.3ms queue=0.1ms idle=586.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:48:29.277 [debug] QUERY OK source="media_items" db=20.0ms idle=500.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3384] 10:48:29.280 [info] {"args":{"id":3386},"id":565,"meta":{},"system_time":1774655309276937311,"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"]} 10:48:29.282 [debug] QUERY OK source="media_items" db=0.8ms queue=0.5ms idle=36.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" = ?) [3386] 10:48:29.282 [info] User scripts lifecyle file either not present or is empty. Skipping. 10:48:29.283 [debug] QUERY OK source="tasks" db=2.0ms idle=27.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:48:29.284 [debug] QUERY OK source="sources" db=0.7ms queue=0.9ms idle=26.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" = ?) [4] 10:48:29.285 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=8.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3384, 3386] 10:48:29.288 [debug] QUERY OK source="media_profiles" db=2.6ms idle=7.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] 10:48:29.289 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=6.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 [3386] 10:48:29.292 [debug] QUERY OK source="media_metadata" db=0.5ms 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" = ?) [3386] 10:48:29.293 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 10:48:29.294 [debug] QUERY OK source="settings" db=0.3ms idle=8.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 [] 10:48:29.295 [debug] QUERY OK source="settings" db=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 [] 10:48:29.295 [debug] Running yt-dlp command for action: get_downloadable_status 10:48:29.297 [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 [] 10:48:29.298 [debug] QUERY OK source="settings" db=0.3ms 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 [] 10:48:29.298 [debug] QUERY OK source="settings" db=0.4ms 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 [] 10:48:29.299 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vdL8MZX_MKA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/13/6a/136a6fe96f5719c6eb651ce7faa3a30db6c499aa3d770b32efd12e6fcf28e412.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:48:33.111 [info] {"source":"oban","duration":4448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:37.371 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vdL8MZX_MKA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/13/6a/136a6fe96f5719c6eb651ce7faa3a30db6c499aa3d770b32efd12e6fcf28e412.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 10:48:37.371 [debug] Running yt-dlp command for action: download 10:48:37.372 [debug] QUERY OK source="settings" db=0.4ms idle=673.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 [] 10:48:37.373 [debug] QUERY OK source="settings" db=0.3ms idle=615.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 [] 10:48:37.374 [debug] QUERY OK source="settings" db=0.3ms idle=616.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 [] 10:48:37.375 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vdL8MZX_MKA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/37/9b/379bee42321e99df1e0a01ad467d6d49d3d6593a17cbad22625cb20f9a0f9a71.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:49:00.674 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:49:03.114 [info] {"source":"oban","duration":1803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:17.906 [info] GET / 10:49:17.906 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 10:49:17.907 [debug] QUERY OK source="settings" db=0.3ms idle=1149.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 [] 10:49:17.907 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1150.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 10:49:17.908 [debug] QUERY OK source="sources" db=0.1ms idle=1151.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 10:49:17.960 [debug] QUERY OK source="media_items" db=51.8ms queue=0.2ms idle=1060.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:49:17.964 [debug] QUERY OK source="media_items" db=3.1ms idle=110.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:49:17.965 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=57.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 [] 10:49:17.966 [debug] QUERY OK source="settings" db=0.2ms idle=58.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 [] 10:49:17.968 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=59.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 [] 10:49:17.974 [debug] QUERY OK source="media_items" db=3.4ms idle=10.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 (NOT (m0."media_filepath" IS NULL)) [] 10:49:17.975 [debug] QUERY OK source="media_items" db=0.7ms idle=10.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:49:17.976 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=10.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" IN (?,?)) [6, 2] 10:49:18.042 [debug] QUERY OK source="media_items" db=59.2ms idle=16.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 (((((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:49:18.113 [debug] QUERY OK source="media_items" db=70.1ms queue=0.1ms idle=74.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 10:49:18.114 [debug] QUERY OK source="sources" db=0.6ms idle=139.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] 10:49:18.117 [debug] QUERY OK source="tasks" db=0.5ms idle=140.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:49:18.117 [debug] QUERY OK source="media_items" db=0.3ms idle=140.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3384, 3386] 10:49:18.119 [info] Sent 200 in 212ms 10:49:33.118 [info] {"source":"oban","duration":2333,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:37.960 [info] {"args":{"id":3},"id":1600,"meta":{},"system_time":1774655377959817630,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:49:37.974 [debug] QUERY OK source="sources" db=13.5ms queue=0.1ms idle=203.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" = ?) [3] 10:49:37.977 [debug] QUERY OK source="settings" db=1.8ms queue=0.1ms idle=217.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 [] 10:49:37.979 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.2ms idle=46.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] 10:49:37.979 [debug] QUERY OK source="tasks" db=17.8ms idle=204.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:49:37.980 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=20.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 [] 10:49:37.980 [debug] Fetching recent media IDs from YouTube API for playlist: UUwnKziETDbHJtx78nIkfYug 10:49:37.982 [debug] QUERY OK source="settings" db=0.4ms queue=0.3ms 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 [] 10:49:37.982 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms idle=2.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" = ?) [3] 10:49:37.982 [debug] QUERY OK source="media_items" db=1.1ms queue=0.2ms idle=6.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3384, 3386] 10:49:37.982 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 10:49:38.667 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=684.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "QtpFa0LdXEY", "8Rv4wwcQ89Y", "2cRKv1oqyX8", "mQfQwLW6CNw", "y0TZuhNixNk", "GZ7wE3XOwFU", "-aRdX-kZ9g4", "99bldMr1byI", "EzCiEv1IqiA", "mC5NdpSMDks", "ccV3u3D9ONE", "cVCDjEfPzII", "n0X2rqzKTgM", "dcuCvRNqmpY", "GG1qX8jHKGo", "k9wkleHFvo0", "CWoYVlMuUNQ", "xlfeieH4z38", "eZM2Ik-FHEU", "CtcTG8-qzbA", "6Mmj7mf1qlg", "InwVO9qBjqs", "1Hp-W2bpPrw", "VtE5sTpkn7k", "8dOJypt2F70", "Evm4t4prtWo", "taLzgvbrnv0", "rgCrnyf5JEI", "PHhc-48JT3U", "vFKjpNNjNGw", "VJQlOI70ubw", "E5cfNq0DO90", "DNBGSsZatbY", "pna1NyaHTls", "CUHao-vA98g", "cPN9BJe_RQw", "rCBt4XgCX-0", "f4g6KKGMmEI", "P_I5Jsc3xRw", "fPaU2l7RktM", "0PVwt01b6fs", "0qMDM4Y4Hwo", "Ld285PDsHvs", "p1mQC71wplA", "9k5JhKK6WlA", "WPxrifmtlQI", "nVNBmK7a1y8", "QDnMYztaxfI", "gxsaWhXG1Gg", ...] 10:49:38.675 [debug] QUERY OK source="media_items" db=3.9ms idle=690.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 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] 10:49:38.679 [debug] QUERY OK source="tasks" db=0.5ms idle=695.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1606, 3, ~U[2026-03-27 23:49:38Z], ~U[2026-03-27 23:49:38Z]] 10:49:38.680 [info] {"args":{"id":3},"id":1600,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":719582,"event":"job:stop","queue_time":627770,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:49:38.683 [debug] QUERY OK source="tasks" db=1.9ms idle=5.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:49:38.683 [debug] QUERY OK source="media_items" db=0.4ms idle=5.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3384, 3386] 10:50:00.676 [info] {"source":"oban","duration":950,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:50:01.667 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=U4Y6TeCvb_o --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/93/f3/93f3a502e3945f2bcd4071936fdd832d222ca4dfc8ff3a18baa718a5e5ca6f0c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 10:50:01.713 [debug] Running yt-dlp command for action: download_thumbnail 10:50:01.714 [debug] QUERY OK source="settings" db=0.2ms idle=1956.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 [] 10:50:01.714 [debug] QUERY OK source="settings" db=0.1ms idle=1957.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 [] 10:50:01.715 [debug] QUERY OK source="settings" db=0.1ms idle=1694.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 [] 10:50:01.715 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=U4Y6TeCvb_o --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3384/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/3e/26/3e269e3e215f533ffd929169d8d632ba2654cfeeb70306964fb94acfaa172ff9.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:50:03.121 [info] {"source":"oban","duration":2781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:06.273 [info] GET /sources/8/media/8461/force_download 10:50:06.274 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1516.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 [] 10:50:06.275 [debug] QUERY OK source="settings" db=0.4ms idle=1517.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 [] 10:50:06.275 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:50:06.275 [error] #PID<0.27021.0> running PinchflatWeb.Endpoint (connection #PID<0.27020.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /sources/8/media/8461/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/8/media/8461/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27020.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/8461/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33270}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "47.128.19.199", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27021.0>, params: %{}, path_info: ["sources", "8", "media", "8461", "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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"host", "pinchflat.suranyami.com"}, {"priority", "u=0, i"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "47.128.19.199"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/8/media/8461/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDXsIGi7XZK-tIAFLCi"} ], 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.27020.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/8461/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33270}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "47.128.19.199", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/8/media/8461/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27020.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/8461/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33270}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Byt (truncated) 10:50:08.730 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=U4Y6TeCvb_o --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3384/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/3e/26/3e269e3e215f533ffd929169d8d632ba2654cfeeb70306964fb94acfaa172ff9.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 10:50:08.731 [debug] QUERY OK db=0.1ms idle=1974.4ms begin [] 10:50:08.736 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-27 23:50:01Z], "/downloads/shows/Kevin Kos/Season 2024/s2024e040899 - 20 Hacks To Improve Your Cocktail Skills.mp4", "/downloads/shows/Kevin Kos/Season 2024/s2024e040899 - 20 Hacks To Improve Your Cocktail Skills.info.json", "/downloads/shows/Kevin Kos/Season 2024/s2024e040899 - 20 Hacks To Improve Your Cocktail Skills.nfo", "/downloads/shows/Kevin Kos/Season 2024/s2024e040899 - 20 Hacks To Improve Your Cocktail Skills.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2024/s2024e040899 - 20 Hacks To Improve Your Cocktail Skills.en.srt"]], "/downloads/shows/Kevin Kos/Season 2024/s2024e040899 - 20 Hacks To Improve Your Cocktail Skills-thumb.jpg", ~U[2026-03-27 23:50:08Z], 3384] 10:50:08.740 [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/3384/metadata.json.gz", "/config/metadata/media_items/3384/thumbnail.jpg", 3384, ~U[2026-03-27 23:50:08Z], ~U[2026-03-27 23:50:08Z]] 10:50:08.741 [debug] QUERY OK db=0.7ms commit [] 10:50:08.789 [debug] QUERY OK source="media_items" db=8.9ms queue=0.1ms idle=1023.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [73694875, ~U[2026-03-27 23:50:08Z], 3384] 10:50:08.789 [info] User scripts lifecyle file either not present or is empty. Skipping. 10:50:08.791 [info] {"args":{"id":3384},"id":564,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":164896213,"event":"job:stop","queue_time":70968835841,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 10:50:08.801 [info] {"args":{"id":3389},"id":566,"meta":{},"system_time":1774655408801210681,"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"]} 10:50:08.802 [debug] QUERY OK source="media_items" db=0.8ms idle=60.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" = ?) [3389] 10:50:08.803 [info] User scripts lifecyle file either not present or is empty. Skipping. 10:50:08.804 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=46.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" = ?) [4] 10:50:08.806 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.1ms idle=15.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] 10:50:08.807 [debug] QUERY OK source="media_items" db=0.9ms idle=15.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 [3389] 10:50:08.811 [debug] QUERY OK source="media_metadata" db=0.3ms queue=0.1ms idle=9.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" = ?) [3389] 10:50:08.812 [debug] QUERY OK source="media_profiles" db=0.3ms queue=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] 10:50:08.813 [debug] QUERY OK source="settings" db=0.2ms 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 [] 10:50:08.813 [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 [] 10:50:08.814 [debug] Running yt-dlp command for action: get_downloadable_status 10:50:08.815 [debug] QUERY OK source="settings" db=0.3ms idle=6.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 [] 10:50:08.815 [debug] QUERY OK source="settings" db=0.2ms 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 [] 10:50:08.816 [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 [] 10:50:08.816 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IbJEyKE2Tko --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fe/3f/fe3f990438f401e4bec21a028b6b5176c6dd36eea185f168c8af423346fcf2ad.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:50:11.070 [info] {"args":{"id":2},"id":1601,"meta":{},"system_time":1774655411070633205,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:50:11.072 [debug] QUERY OK source="sources" db=0.8ms idle=313.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] 10:50:11.073 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=315.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 [] 10:50:11.073 [debug] QUERY OK source="media_profiles" db=0.4ms idle=316.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] 10:50:11.074 [debug] QUERY OK source="settings" db=0.5ms idle=10.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 [] 10:50:11.074 [debug] Fetching recent media IDs from YouTube API for playlist: UUjzi56cxvmEDwjo1Bd2Yxpg 10:50:11.076 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms 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 [] 10:50:11.076 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 10:50:13.434 [debug] QUERY OK source="media_items" db=2.4ms idle=673.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "Hw2_s31u_4Q", "b4x9IzQtiA0", "16aM5Bop7Qw", "3hBk9xqT9hs", "xDa45wnAzc8", "Yq41acIvzj8", "Ttn_Q1B2ALc", "-bV0F6OP31U", "qAstyiKRt10", "NF2StvrYme0", "_Q-2UzYr3AA", "FeEEy3jZvlM", "EHaNwda0xto", "KL0u63mAy5M", "fzklfnO42ts", "oZ4kddHCFVY", "spSOp5s_6_A", "C48yl9fSYv8", "654RgtNwXZ8", "4wu_B_XF6wk", "wFLJxWyDJPs", "J5NKnYfn6qw", "fcVRuF6c-bc", "xNAFpSnpqjs", "cavmWZnCeJI", "_J0gQ5GdUSk", "_oISg668F40", "v34wa9QhF0s", "iEen_cClzkg", "CD9wUM2v-0U", "E8k9oqjl5_E", "lQDUMfg_SJc", "pPMD0YPBHQ4", "qq1IN4umTI8", "L63goFhe8KM", "5OXvwQ3CB1I", "doZvHBPoVCw", "9SXMTDO4lIo", "8JmSUN8jp3Q", "7oSgaaUEjZM", "sKSPwnFSRCw", "gdY_Q9ltw8w", "uHbviTslBFY", "gMzXgYFT4Ck", "NdsMuD-_5To", "9JXltNRqLu4", "7ThBvLBMacw", "7BTWa3jFBMw", "U2LsOO1upXY", ...] 10:50:13.488 [debug] QUERY OK source="media_items" db=51.4ms idle=679.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 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] 10:50:13.497 [debug] QUERY OK source="tasks" db=0.9ms idle=62.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1607, 2, ~U[2026-03-27 23:50:13Z], ~U[2026-03-27 23:50:13Z]] 10:50:13.504 [info] {"args":{"id":2},"id":1601,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":2426875,"event":"job:stop","queue_time":719988,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:50:15.553 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IbJEyKE2Tko --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fe/3f/fe3f990438f401e4bec21a028b6b5176c6dd36eea185f168c8af423346fcf2ad.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 10:50:15.554 [debug] Running yt-dlp command for action: download 10:50:15.554 [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 [] 10:50:15.555 [debug] QUERY OK source="settings" db=0.2ms idle=797.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 [] 10:50:15.555 [debug] QUERY OK source="settings" db=0.1ms idle=797.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 [] 10:50:15.555 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IbJEyKE2Tko --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/bf/55/bf55d9ec991732b74a4e0b08817df879d2d9d49fa078d8a771f9e0fe38cacca9.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:50:19.355 [info] GET / 10:50:19.355 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 10:50:19.357 [debug] QUERY OK source="settings" db=0.7ms 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 [] 10:50:19.357 [debug] QUERY OK source="media_profiles" db=0.3ms idle=599.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 10:50:19.358 [debug] QUERY OK source="sources" db=0.6ms idle=600.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 10:50:19.427 [debug] QUERY OK source="media_items" db=68.2ms idle=600.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:50:19.432 [debug] QUERY OK source="media_items" db=5.2ms queue=0.1ms idle=337.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:50:19.433 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=76.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 [] 10:50:19.434 [debug] QUERY OK source="settings" db=0.3ms idle=76.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 [] 10:50:19.435 [debug] QUERY OK source="settings" db=0.3ms idle=76.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 [] 10:50:19.441 [debug] QUERY OK source="media_items" db=5.2ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 10:50:19.443 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=9.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:50:19.444 [debug] QUERY OK source="sources" db=0.6ms idle=10.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" IN (?,?)) [6, 2] 10:50:19.512 [debug] QUERY OK source="media_items" db=64.1ms queue=0.1ms idle=13.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 (((((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:50:19.583 [debug] QUERY OK source="media_items" db=70.5ms idle=77.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 10:50:19.584 [debug] QUERY OK source="sources" db=0.3ms idle=142.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] 10:50:19.587 [debug] QUERY OK source="tasks" db=0.5ms idle=142.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:50:19.587 [debug] QUERY OK source="media_items" db=0.2ms idle=142.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3386, 3389] 10:50:19.588 [info] Sent 200 in 233ms 10:50:33.125 [info] {"source":"oban","duration":2503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:45.206 [info] {"args":{"id":4},"id":1602,"meta":{},"system_time":1774655445205873287,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:50:45.215 [debug] QUERY OK source="sources" db=7.8ms queue=0.2ms idle=449.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" = ?) [4] 10:50:45.227 [debug] QUERY OK source="settings" db=11.1ms idle=459.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 [] 10:50:45.234 [debug] QUERY OK source="media_profiles" db=6.4ms queue=0.2ms idle=470.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] 10:50:45.235 [debug] QUERY OK source="settings" db=0.4ms idle=36.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 [] 10:50:45.235 [debug] Fetching recent media IDs from YouTube API for playlist: UUEiui9T4ZYx8K8nuZ5YFSTw 10:50:45.237 [debug] QUERY OK source="settings" db=0.3ms queue=0.4ms idle=30.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 [] 10:50:45.237 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 10:50:45.787 [debug] QUERY OK source="media_items" db=4.3ms queue=0.1ms idle=567.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [4, "gthI7e6zPWo", "psRX1C7auj8", "2ZtSRjGhStw", "Z8KiNkDP9c4", "AZibPvCnG4k", "QXNPI7Ucivo", "WtxCD4567G4", "80bkfWoOHaE", "pYBAEGrhggM", "9M3wLySdGXY", "mcvbD_Ipbf8", "E_Y7kLO3Iaw", "gPdh5lVJYD0", "qrkTK1UcvSM", "45UcuOLjxeY", "gnbhO9hJ198", "fiFzXo1wNno", "TM5mKkwC0Ok", "kS2A72peqmg", "ueDcEpRFW_M", "AN4-pHYBK2M", "TMNa6ocIv8o", "S1Vt1tQJczE", "_BEmUjtwhLw", "1bxoWiQ2AQY", "CZeRfNeKEBE", "2nftRe3tjLQ", "v1biAguVbg8", "cLDsQImoeHQ", "hhH7mchDBXY", "uQj2W5ej104", "vYRV_nprXBA", "1v_qsQL3mo8", "hfHxFTbVaTo", "mfWqziOaR4A", "AmCWMmKgHkI", "ZWgq-s8r2FE", "1dAkTDsD1c4", "ozdDp_eMPZY", "iHogtXxywLQ", "7ysd04ltGag", "5jq8kH9s0V8", "AB6bC9gtfoc", "R7Tm3zvyy9U", "dUHzocz0hLo", "9Oh6oVrf7kM", "LzUhByZ4jtc", "j7evpR_Fbsw", "_iGhJt3ah8E", ...] 10:50:45.795 [debug] QUERY OK source="media_items" db=6.5ms idle=561.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 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] 10:50:46.181 [debug] QUERY OK source="tasks" db=0.4ms idle=7.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1608, 4, ~U[2026-03-27 23:50:46Z], ~U[2026-03-27 23:50:46Z]] 10:50:46.182 [info] {"args":{"id":4},"id":1602,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":975405,"event":"job:stop","queue_time":315425,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:51:00.679 [info] {"source":"oban","duration":859,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:51:03.128 [info] {"source":"oban","duration":1627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:20.349 [info] GET / 10:51:20.349 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 10:51:20.350 [debug] QUERY OK source="settings" db=0.2ms idle=1025.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 [] 10:51:20.350 [debug] QUERY OK source="media_profiles" db=0.1ms idle=593.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 10:51:20.351 [debug] QUERY OK source="sources" db=0.1ms idle=593.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 10:51:20.402 [debug] QUERY OK source="media_items" db=51.4ms idle=594.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:51:20.406 [debug] QUERY OK source="media_items" db=3.2ms idle=75.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:51:20.407 [debug] QUERY OK source="settings" db=0.2ms idle=56.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 [] 10:51:20.408 [debug] QUERY OK source="settings" db=0.4ms 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 [] 10:51:20.409 [debug] QUERY OK source="settings" db=0.4ms idle=57.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 [] 10:51:20.417 [debug] QUERY OK source="media_items" db=7.5ms idle=7.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 (NOT (m0."media_filepath" IS NULL)) [] 10:51:20.420 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=11.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:51:20.422 [debug] QUERY OK source="sources" db=0.9ms 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" IN (?,?)) [6, 2] 10:51:20.514 [debug] QUERY OK source="media_items" db=85.0ms queue=0.1ms idle=20.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 (((((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:51:20.582 [debug] QUERY OK source="media_items" db=68.0ms queue=0.1ms idle=105.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 10:51:20.583 [debug] QUERY OK source="sources" db=0.3ms idle=166.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] 10:51:20.586 [debug] QUERY OK source="tasks" db=0.6ms idle=165.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:51:20.587 [debug] QUERY OK source="media_items" db=0.3ms idle=164.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3386, 3389] 10:51:20.588 [info] Sent 200 in 238ms 10:51:33.132 [info] {"source":"oban","duration":2354,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:40.482 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vdL8MZX_MKA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/37/9b/379bee42321e99df1e0a01ad467d6d49d3d6593a17cbad22625cb20f9a0f9a71.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 10:51:40.616 [debug] Running yt-dlp command for action: download_thumbnail 10:51:40.618 [debug] QUERY OK source="settings" db=0.7ms idle=1225.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 [] 10:51:40.619 [debug] QUERY OK source="settings" db=0.4ms idle=862.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 [] 10:51:40.620 [debug] QUERY OK source="settings" db=0.5ms idle=862.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 [] 10:51:40.620 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vdL8MZX_MKA --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3386/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/7f/d0/7fd013019ae40ad434242580c25936105c197a4cae92aabc8fb5fe498f01001e.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:51:42.414 [info] {"args":{"id":5},"id":1603,"meta":{},"system_time":1774655502414455711,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:51:42.423 [debug] QUERY OK source="sources" db=7.6ms idle=658.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" = ?) [5] 10:51:42.440 [debug] QUERY OK source="settings" db=16.3ms idle=667.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 [] 10:51:42.442 [debug] QUERY OK source="media_profiles" db=1.6ms idle=684.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] 10:51:42.457 [debug] QUERY OK source="settings" db=14.6ms idle=39.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 [] 10:51:42.458 [debug] Fetching recent media IDs from YouTube API for playlist: UUVwfqPkv08OTuHzkPU3EaDw 10:51:42.459 [debug] QUERY OK source="settings" db=0.5ms queue=0.3ms idle=44.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 [] 10:51:42.459 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 10:51:43.064 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=637.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [5, "k8Yr1jU-0EE", "NFrnhg8hI0c", "20XMhcpSNV0", "YVGFnwJho6E", "xQXiSGDXknA", "uZl0TO8i96g", "Hs5ewNKWUwk", "E5suxhHY0aY", "sCou7ut2L-o", "a0INtLdzUiE", "n0x8sH0M9CE", "W4Af6DIMqnE", "Q-sUbLem5aI", "s-jMj11w68U", "DS9HZG5JRBc", "_wLy-vzLi3E", "iFpZfYwRcns", "nPovqKKSKcE", "j_w4tRYm7Og", "laZpTO7IFtA", "FM5e9Vb1noE", "cK6g53lLgnw", "1X5WYEhzGyI", "QVpu66njzdE", "tfnANe2YUwM", "0-QK6hxLxgM", "TYUeXqSlcDg", "0322Pk-GKto", "1Em1UrRSEXc", "x2RT9Awsyi8", "4Yth52yml8E", "ky9Zo2FmjQ8", "npU2QpX5piA", "XEb_1Sq8jNo", "L3QQDAKxUIk", "l3s8S6bBbOs", "WyWBU1NpDf8", "7wZ0NVuoDWg", "-Ig2-rBZtSI", "5BG06-J1t4Y", "GcQ6vQEeQew", "ap8S88LeiB0", "4LvXP3XR6gw", "I9o65_aIq0Q", "Ut9XjFkGK6s", "PcFkjR5NELA", "Yl67318oP-s", "umbar5BKBus", "FEfCtNhVjJ0", ...] 10:51:43.070 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=626.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 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")))) [5] 10:51:43.309 [debug] QUERY OK source="tasks" db=0.8ms idle=7.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1609, 5, ~U[2026-03-27 23:51:43Z], ~U[2026-03-27 23:51:43Z]] 10:51:43.310 [info] {"args":{"id":5},"id":1603,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":894989,"event":"job:stop","queue_time":452804,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:51:50.441 [info] {"args":{"id":6},"id":1604,"meta":{},"system_time":1774655510440898043,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:51:50.442 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=1684.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" = ?) [6] 10:51:50.443 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1685.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 [] 10:51:50.444 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=1014.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] 10:51:50.445 [debug] QUERY OK source="settings" db=0.3ms 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 [] 10:51:50.445 [debug] Fetching recent media IDs from YouTube API for playlist: UUOzMAa6IhV6uwYQATYG_2kg 10:51:50.446 [debug] QUERY OK source="settings" db=0.2ms 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 [] 10:51:50.446 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 10:51:51.130 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=686.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 m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6, "dnia-38h1GA", "iZaN9NRWc28", "CJrLdBStrzc", "u-eoT-Foth8", "XHineC0YKjs", "VdlejwGkNoI", "ikIigkz2pMg", "qUdPPQ9-9Tg", "k9fuSOPjSXM", "hb-oXWK9r7k", "hDfrtCQmNOo", "zRIUM4OhyWU", "W7c0iVM4P2I", "KCFDp_kxT_4", "aZhuGRngq-g", "BgWbezF2M28", "ZJfHw71KKsk", "MisOg5bX0a4", "2UampQ_86ek", "7-iImzOel-s", "O8E47Ib_RoU", "RcVBMZd2_u8", "b-DHev8Uc6I", "0apH8xkS6PE", "I8m3hyPVsxA", "urqkKHRaT-8", "shyrhINSaPk", "Ze3bKcLbPWg", "ydk9KfgHUPo", "sFlgR1oiUXk", "jCieQsNXdBM", "Nz4uVkNMKdI", "tyX3PvjLSC8", "VeDDo4HhNVo", "2RmXPeBn3x0", "1sA4iEo0x1o", "KqAYebG_Bs0", "FelCut8wQ3o", "wY5Xb_t79SM", "-YqD-IWgaz8", "BdV0pSziReE", "u5VKDy7Dgj8", "hn89XxHJLQ0", "wE60s-NuU6c", "LBwtYK3W-vw", "FGpCwqNklsw", "79hW_qeneEY", "aNpJxLXZATY", "9JhGit6JRw0", ...] 10:51:51.132 [debug] QUERY OK source="settings" db=0.2ms idle=688.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 [] 10:51:51.133 [debug] QUERY OK source="settings" db=0.1ms idle=688.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 [] 10:51:51.133 [debug] Running yt-dlp command for action: get_media_attributes 10:51:51.134 [debug] QUERY OK source="settings" db=0.1ms idle=688.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 [] 10:51:51.134 [debug] QUERY OK source="settings" db=0.1ms idle=688.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 [] 10:51:51.134 [debug] QUERY OK source="settings" db=0.4ms 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 [] 10:51:51.135 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/c9/fd/c9fd91fd90135af2c16961cb413e72e28def31832a3154f0fcac415915bcaf36.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:51:51.153 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vdL8MZX_MKA --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3386/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/7f/d0/7fd013019ae40ad434242580c25936105c197a4cae92aabc8fb5fe498f01001e.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 10:51:51.154 [debug] QUERY OK db=0.1ms idle=21.5ms begin [] 10:51:51.159 [debug] QUERY OK source="media_items" db=4.5ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-27 23:51:40Z], "/downloads/shows/Kevin Kos/Season 2024/s2024e040199 - Amaretto Sour Made My Way + Maraschino Gummy.mp4", "/downloads/shows/Kevin Kos/Season 2024/s2024e040199 - Amaretto Sour Made My Way + Maraschino Gummy.info.json", "/downloads/shows/Kevin Kos/Season 2024/s2024e040199 - Amaretto Sour Made My Way + Maraschino Gummy.nfo", "/downloads/shows/Kevin Kos/Season 2024/s2024e040199 - Amaretto Sour Made My Way + Maraschino Gummy.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2024/s2024e040199 - Amaretto Sour Made My Way + Maraschino Gummy.en.srt"]], "/downloads/shows/Kevin Kos/Season 2024/s2024e040199 - Amaretto Sour Made My Way + Maraschino Gummy-thumb.jpg", ~U[2026-03-27 23:51:51Z], 3386] 10:51:51.162 [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/3386/metadata.json.gz", "/config/metadata/media_items/3386/thumbnail.jpg", 3386, ~U[2026-03-27 23:51:51Z], ~U[2026-03-27 23:51:51Z]] 10:51:51.163 [debug] QUERY OK db=0.6ms commit [] 10:51:51.194 [debug] QUERY OK source="media_items" db=6.8ms idle=53.9ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [90601029, ~U[2026-03-27 23:51:51Z], 3386] 10:51:51.194 [info] User scripts lifecyle file either not present or is empty. Skipping. 10:51:51.195 [info] {"args":{"id":3386},"id":565,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":201917481,"event":"job:stop","queue_time":71026259850,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 10:51:51.203 [info] {"args":{"id":3393},"id":567,"meta":{},"system_time":1774655511202645213,"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"]} 10:51:51.204 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=68.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" = ?) [3393] 10:51:51.204 [info] User scripts lifecyle file either not present or is empty. Skipping. 10:51:51.205 [debug] QUERY OK source="sources" db=0.4ms queue=0.2ms idle=41.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" = ?) [4] 10:51:51.207 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms 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] 10:51:51.208 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=12.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 [3393] 10:51:51.210 [debug] QUERY OK source="media_metadata" db=0.3ms idle=7.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" = ?) [3393] 10:51:51.211 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=6.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] 10:51:51.212 [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 [] 10:51:51.213 [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 [] 10:51:51.214 [debug] Running yt-dlp command for action: get_downloadable_status 10:51:51.215 [debug] QUERY OK source="settings" db=0.3ms idle=6.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 [] 10:51:51.216 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=5.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 [] 10:51:51.217 [debug] QUERY OK source="settings" db=0.3ms 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 [] 10:51:51.217 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TgZA45CbjF4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f4/e9/f4e97a7faee40c2418d8ce1e74004ebef8490d1dddf224d7134d865af58abfcb.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:51:55.017 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/c9/fd/c9fd91fd90135af2c16961cb413e72e28def31832a3154f0fcac415915bcaf36.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days. 10:51:55.018 [error] Error creating media item 'u-eoT-Foth8' from URL: {:error, "ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days.\n", 1} 10:51:55.036 [debug] QUERY OK source="media_items" db=17.4ms queue=0.2ms idle=566.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 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] 10:51:55.272 [debug] QUERY OK source="tasks" db=0.4ms idle=7.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1610, 6, ~U[2026-03-27 23:51:55Z], ~U[2026-03-27 23:51:55Z]] 10:51:55.273 [info] {"args":{"id":6},"id":1604,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":4831670,"event":"job:stop","queue_time":500412,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:52:00.681 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:52:01.035 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TgZA45CbjF4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f4/e9/f4e97a7faee40c2418d8ce1e74004ebef8490d1dddf224d7134d865af58abfcb.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 10:52:01.036 [debug] Running yt-dlp command for action: download 10:52:01.037 [debug] QUERY OK source="settings" db=0.5ms idle=558.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 [] 10:52:01.037 [debug] QUERY OK source="settings" db=0.4ms idle=356.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 [] 10:52:01.038 [debug] QUERY OK source="settings" db=0.3ms idle=280.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 [] 10:52:01.039 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TgZA45CbjF4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ab/83/ab83bc7f5857c232a45e68a1584252f102b03acea4e742c59cb7c86579a186ee.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:52:03.136 [info] {"source":"oban","duration":3739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:20.950 [info] GET / 10:52:20.950 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 10:52:20.951 [debug] QUERY OK source="settings" db=0.5ms idle=1193.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 [] 10:52:20.952 [debug] QUERY OK source="media_profiles" db=0.1ms idle=395.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 10:52:20.953 [debug] QUERY OK source="sources" db=0.3ms queue=0.2ms idle=195.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 10:52:20.998 [debug] QUERY OK source="media_items" db=44.7ms idle=196.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:52:21.005 [debug] QUERY OK source="media_items" db=7.0ms idle=241.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:52:21.006 [debug] QUERY OK source="settings" db=0.6ms idle=54.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 [] 10:52:21.007 [debug] QUERY OK source="settings" db=0.3ms idle=54.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 [] 10:52:21.007 [debug] QUERY OK source="settings" db=0.1ms idle=54.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 [] 10:52:21.012 [debug] QUERY OK source="media_items" db=3.2ms idle=10.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 (NOT (m0."media_filepath" IS NULL)) [] 10:52:21.012 [debug] QUERY OK source="media_items" db=0.6ms idle=6.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:52:21.014 [debug] QUERY OK source="sources" db=0.7ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [6, 2] 10:52:21.103 [debug] QUERY OK source="media_items" db=86.2ms idle=9.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 (((((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:52:21.183 [debug] QUERY OK source="media_items" db=78.8ms queue=0.1ms idle=96.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 10:52:21.183 [debug] QUERY OK source="sources" db=0.2ms idle=171.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] 10:52:21.186 [debug] QUERY OK source="tasks" db=0.6ms idle=173.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:52:21.187 [debug] QUERY OK source="media_items" db=0.3ms idle=172.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3389, 3393] 10:52:21.188 [info] Sent 200 in 238ms 10:52:33.140 [info] {"source":"oban","duration":2591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:36.623 [info] {"args":{"id":1},"id":1605,"meta":{},"system_time":1774655556623494064,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:52:36.633 [debug] QUERY OK source="sources" db=8.9ms queue=0.2ms idle=1867.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] 10:52:36.642 [debug] QUERY OK source="settings" db=7.1ms queue=0.4ms idle=1877.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 [] 10:52:36.658 [debug] QUERY OK source="media_profiles" db=14.8ms queue=0.3ms idle=1032.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] 10:52:36.661 [debug] QUERY OK source="settings" db=1.2ms queue=0.3ms idle=44.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 [] 10:52:36.661 [debug] Fetching recent media IDs from YouTube API for playlist: UUISrVZmDM4x-Rq9mmNUw7Zw 10:52:36.663 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=39.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 [] 10:52:36.663 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 10:52:37.561 [debug] QUERY OK source="media_items" db=1.6ms idle=926.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "Q0qmHym16H4", "WcWL0_PlcO8", "dQV1WkSly7k", "Xpohopi2_tA", "fsZdCn4jIUY", "hgk2jMPnG2w", "oDh4gg7xiUs", "3LfUmSMW_qc", "5gN9QvwPLq8", "uSBe19ms3aw", "Eq1BmJikpHA", "OsKelxcQUNo", "zNP6Q_Yk9hU", "ZPPCc15thCc", "UzARiS2CyJ4", "r8X8HVGVV1o", "_JI7oYBFZIo", "niCh-EI1Kfo", "92mSBlpBEJo", "_6OAB_8iwqs", "tJbcC43WELc", "cPz1rUCNI0o", "hFzt_dOdElw", "nC-QKeluT0c", "i8ARsrsVUMM", "X30l-491qck", "rzQeUM-lMUY", "BkUHm95UvCw", "MQ2cHq3-J7A", "CtF5dLHITYA", "SGJkxRdkRGg", "OUCt85aJaAA", "9gARPYZOka4", "-uH-Gi5tjEw", "qwUBBQKYX94", "s8VLDSQJ8nA", "EvPfr0lKkh4", "msXzAxF49gA", "hQCWaSvjkU0", "RcmjVsy3a-g", "xtuNc9vYJG4", "fj2tcg8OzsM", "2FZ4IfPACDM", "2Q9DzW20YJ8", "IVsWFGOE_mw", "vPxpMcv2Z4Y", "Zverj_ldlhY", "pQK8xasPd9Q", "_Yo7nh8u9pk", ...] 10:52:37.564 [debug] QUERY OK source="media_items" db=1.6ms idle=920.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 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] 10:52:37.591 [debug] QUERY OK source="tasks" db=0.3ms idle=7.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1611, 1, ~U[2026-03-27 23:52:37Z], ~U[2026-03-27 23:52:37Z]] 10:52:37.591 [info] {"args":{"id":1},"id":1605,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":967683,"event":"job:stop","queue_time":671598,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:52:41.605 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IbJEyKE2Tko --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/bf/55/bf55d9ec991732b74a4e0b08817df879d2d9d49fa078d8a771f9e0fe38cacca9.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 10:52:41.675 [debug] Running yt-dlp command for action: download_thumbnail 10:52:41.676 [debug] QUERY OK source="settings" db=0.2ms idle=919.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 [] 10:52:41.677 [debug] QUERY OK source="settings" db=0.2ms idle=919.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 [] 10:52:41.677 [debug] QUERY OK source="settings" db=0.1ms idle=920.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 [] 10:52:41.677 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IbJEyKE2Tko --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3389/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/45/cf/45cf1fbc2adceeb2b5ae9b1859303d1530d2829c4526d1c91327430964d43eb1.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:53:00.682 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:53:03.143 [info] {"source":"oban","duration":2652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:11.233 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IbJEyKE2Tko --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3389/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/45/cf/45cf1fbc2adceeb2b5ae9b1859303d1530d2829c4526d1c91327430964d43eb1.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: Unable to download video thumbnail 41: [Errno -3] Temporary failure in name resolution WARNING: Unable to download video thumbnail 40: [Errno -3] Temporary failure in name resolution WARNING: Unable to download video thumbnail 39: [Errno -3] Temporary failure in name resolution 10:53:11.234 [debug] QUERY OK db=0.1ms queue=0.1ms idle=509.7ms begin [] 10:53:11.239 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-27 23:52:41Z], "/downloads/shows/Kevin Kos/Season 2024/s2024e032599 - Pineapple Liqueur with ZERO ADDED SUGAR?!.mp4", "/downloads/shows/Kevin Kos/Season 2024/s2024e032599 - Pineapple Liqueur with ZERO ADDED SUGAR?!.info.json", "/downloads/shows/Kevin Kos/Season 2024/s2024e032599 - Pineapple Liqueur with ZERO ADDED SUGAR?!.nfo", "/downloads/shows/Kevin Kos/Season 2024/s2024e032599 - Pineapple Liqueur with ZERO ADDED SUGAR?!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2024/s2024e032599 - Pineapple Liqueur with ZERO ADDED SUGAR?!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2024/s2024e032599 - Pineapple Liqueur with ZERO ADDED SUGAR?!-thumb.jpg", ~U[2026-03-27 23:53:11Z], 3389] 10:53:11.242 [debug] QUERY OK source="media_metadata" db=2.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/3389/metadata.json.gz", "/config/metadata/media_items/3389/thumbnail.jpg", 3389, ~U[2026-03-27 23:53:11Z], ~U[2026-03-27 23:53:11Z]] 10:53:11.243 [debug] QUERY OK db=0.7ms commit [] 10:53:11.253 [debug] QUERY OK source="media_items" db=6.1ms idle=490.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [69544662, ~U[2026-03-27 23:53:11Z], 3389] 10:53:11.253 [info] User scripts lifecyle file either not present or is empty. Skipping. 10:53:11.254 [info] {"args":{"id":3389},"id":566,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":182452627,"event":"job:stop","queue_time":71120797845,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 10:53:11.262 [info] {"args":{"id":3396},"id":568,"meta":{},"system_time":1774655591262234192,"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"]} 10:53:11.263 [debug] QUERY OK source="media_items" db=0.3ms idle=505.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" = ?) [3396] 10:53:11.263 [info] User scripts lifecyle file either not present or is empty. Skipping. 10:53:11.264 [debug] QUERY OK source="sources" db=0.3ms idle=20.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" = ?) [4] 10:53:11.264 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 10:53:11.265 [debug] QUERY OK source="media_items" db=0.3ms 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 [3396] 10:53:11.266 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.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" = ?) [3396] 10:53:11.266 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.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] 10:53:11.266 [debug] QUERY OK source="settings" db=0.1ms 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 [] 10:53:11.267 [debug] QUERY OK source="settings" db=0.0ms 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 [] 10:53:11.267 [debug] Running yt-dlp command for action: get_downloadable_status 10:53:11.268 [debug] QUERY OK source="settings" db=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 [] 10:53:11.268 [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 [] 10:53:11.268 [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 [] 10:53:11.268 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CctYctGh6So --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/38/f6/38f64be8c982f762d66d267b911957e0a00e13e3c05d6f6ff7cf77621b649e12.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:53:20.599 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CctYctGh6So --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/38/f6/38f64be8c982f762d66d267b911957e0a00e13e3c05d6f6ff7cf77621b649e12.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 10:53:20.599 [debug] Running yt-dlp command for action: download 10:53:20.600 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1842.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 [] 10:53:20.601 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1844.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 [] 10:53:20.602 [debug] QUERY OK source="settings" db=0.2ms idle=1844.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 [] 10:53:20.602 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CctYctGh6So --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e8/93/e893dd677b6146e506bd5180749eec237b984994e3f1f71048d415ab2de369aa.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:53:22.387 [info] GET / 10:53:22.387 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 10:53:22.389 [debug] QUERY OK source="settings" db=0.4ms queue=0.3ms idle=1623.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 [] 10:53:22.389 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=632.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 10:53:22.390 [debug] QUERY OK source="sources" db=0.3ms queue=0.2ms idle=632.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 10:53:22.431 [debug] QUERY OK source="media_items" db=40.4ms queue=0.1ms idle=633.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:53:22.439 [debug] QUERY OK source="media_items" db=6.9ms queue=0.1ms idle=664.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:53:22.440 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=50.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 [] 10:53:22.440 [debug] QUERY OK source="settings" db=0.3ms idle=50.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 [] 10:53:22.442 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=51.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 [] 10:53:22.450 [debug] QUERY OK source="media_items" db=7.2ms idle=12.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 (NOT (m0."media_filepath" IS NULL)) [] 10:53:22.453 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=12.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:53:22.454 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=13.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" IN (?,?)) [6, 2] 10:53:22.540 [debug] QUERY OK source="media_items" db=78.9ms idle=20.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 (((((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:53:22.612 [debug] QUERY OK source="media_items" db=71.9ms queue=0.1ms idle=98.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 10:53:22.614 [debug] QUERY OK source="sources" db=0.4ms idle=162.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] 10:53:22.620 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=166.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:53:22.621 [debug] QUERY OK source="media_items" db=0.5ms idle=165.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3393, 3396] 10:53:22.624 [info] Sent 200 in 237ms 10:53:33.148 [info] {"source":"oban","duration":3220,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:00.684 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:54:03.154 [info] {"source":"oban","duration":4986,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:06.780 [info] GET /sources/6/media/7358 10:54:06.780 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "7358", "source_id" => "6"} Pipelines: [:browser] 10:54:06.781 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=1023.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" = ?) [7358] 10:54:06.783 [debug] QUERY OK source="tasks" db=0.6ms idle=1025.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" [7358] 10:54:06.783 [debug] QUERY OK source="sources" db=0.9ms idle=1025.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] 10:54:06.784 [debug] QUERY OK source="settings" db=0.3ms idle=844.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 [] 10:54:06.785 [debug] QUERY OK source="settings" db=0.3ms idle=27.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 [] 10:54:06.786 [debug] QUERY OK source="settings" db=0.3ms 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 [] 10:54:06.787 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 10:54:06.789 [info] Sent 200 in 9ms 10:54:23.321 [info] GET / 10:54:23.321 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 10:54:23.322 [debug] QUERY OK source="settings" db=0.8ms idle=564.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 [] 10:54:23.323 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=565.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 10:54:23.324 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=566.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 10:54:23.373 [debug] QUERY OK source="media_items" db=48.0ms idle=567.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:54:23.376 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=362.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:54:23.377 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=54.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 [] 10:54:23.378 [debug] QUERY OK source="settings" db=0.2ms idle=54.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 [] 10:54:23.380 [debug] QUERY OK source="settings" db=0.6ms idle=55.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 [] 10:54:23.398 [debug] QUERY OK source="media_items" db=14.5ms idle=10.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 (NOT (m0."media_filepath" IS NULL)) [] 10:54:23.399 [debug] QUERY OK source="media_items" db=1.0ms idle=22.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:54:23.401 [debug] QUERY OK source="sources" db=0.4ms idle=22.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" IN (?,?)) [6, 2] 10:54:23.501 [debug] QUERY OK source="media_items" db=97.0ms idle=25.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 (((((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:54:23.516 [debug] QUERY OK source="media_items" db=14.9ms idle=120.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 10:54:23.517 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=119.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] 10:54:23.523 [debug] QUERY OK source="tasks" db=0.6ms idle=123.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:54:23.524 [debug] QUERY OK source="media_items" db=0.4ms idle=123.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3393, 3396] 10:54:23.527 [info] Sent 200 in 206ms 10:54:33.158 [info] {"source":"oban","duration":3500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:42.925 [info] GET /.well-known/acme-challenge/SVhMnD7Nxbha5ErZ3IoSgeHJ_FIshJCLM3R5qHMgRPo 10:54:42.927 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=840.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 [] 10:54:42.929 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=170.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 [] 10:54:42.929 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:54:42.930 [error] #PID<0.27083.0> running PinchflatWeb.Endpoint (connection #PID<0.27082.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/SVhMnD7Nxbha5ErZ3IoSgeHJ_FIshJCLM3R5qHMgRPo ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/SVhMnD7Nxbha5ErZ3IoSgeHJ_FIshJCLM3R5qHMgRPo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27082.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/SVhMnD7Nxbha5ErZ3IoSgeHJ_FIshJCLM3R5qHMgRPo", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 39132}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/SVhMnD7Nxbha5ErZ3IoSgeHJ_FIshJCLM3R5qHMgRPo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27083.0>, params: %{}, path_info: [".well-known", "acme-challenge", "SVhMnD7Nxbha5ErZ3IoSgeHJ_FIshJCLM3R5qHMgRPo"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/SVhMnD7Nxbha5ErZ3IoSgeHJ_FIshJCLM3R5qHMgRPo"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/SVhMnD7Nxbha5ErZ3IoSgeHJ_FIshJCLM3R5qHMgRPo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDX8OtnDQKYgzsAF5cB"} ], 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.27082.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/SVhMnD7Nxbha5ErZ3IoSgeHJ_FIshJCLM3R5qHMgRPo", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 39132}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/SVhMnD7Nxbha5ErZ3IoSgeHJ_FIshJCLM3R5qHMgRPo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/SVhMnD7Nxbha5ErZ3IoSgeHJ_FIshJCLM3R5qHMgRPo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27082.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/SVhMnD7Nxbha5ErZ3IoSgeHJ_FIshJCLM3R5qHMgRPo", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 39132}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/SVhMnD7Nxbha5ErZ3IoSgeHJ_FIshJCLM3R5qHMgRPo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27083.0>, params: %{}, path_info: [".well-known", "acme-challenge", "SVhMnD7Nxbha5ErZ3IoSgeHJ_FIshJCLM3R5qHMgRPo"], 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://pinchfla (truncated) 10:54:46.110 [info] GET /.well-known/acme-challenge/-EpNRPGSdMtBvPy3OybhbsPu7SxdAh5IPK_DMCPvWkM 10:54:46.111 [debug] QUERY OK source="settings" db=0.5ms idle=1353.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 [] 10:54:46.112 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1354.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 [] 10:54:46.112 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:54:46.113 [error] #PID<0.27084.0> running PinchflatWeb.Endpoint (connection #PID<0.27082.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/-EpNRPGSdMtBvPy3OybhbsPu7SxdAh5IPK_DMCPvWkM ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/-EpNRPGSdMtBvPy3OybhbsPu7SxdAh5IPK_DMCPvWkM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27082.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/-EpNRPGSdMtBvPy3OybhbsPu7SxdAh5IPK_DMCPvWkM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 39132}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/-EpNRPGSdMtBvPy3OybhbsPu7SxdAh5IPK_DMCPvWkM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27084.0>, params: %{}, path_info: [".well-known", "acme-challenge", "-EpNRPGSdMtBvPy3OybhbsPu7SxdAh5IPK_DMCPvWkM"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/-EpNRPGSdMtBvPy3OybhbsPu7SxdAh5IPK_DMCPvWkM"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/-EpNRPGSdMtBvPy3OybhbsPu7SxdAh5IPK_DMCPvWkM", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDX8ak30kDIw74AF5ch"} ], 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.27082.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/-EpNRPGSdMtBvPy3OybhbsPu7SxdAh5IPK_DMCPvWkM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 39132}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/-EpNRPGSdMtBvPy3OybhbsPu7SxdAh5IPK_DMCPvWkM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/-EpNRPGSdMtBvPy3OybhbsPu7SxdAh5IPK_DMCPvWkM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27082.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/-EpNRPGSdMtBvPy3OybhbsPu7SxdAh5IPK_DMCPvWkM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 39132}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/-EpNRPGSdMtBvPy3OybhbsPu7SxdAh5IPK_DMCPvWkM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27084.0>, params: %{}, path_info: [".well-known", "acme-challenge", "-EpNRPGSdMtBvPy3OybhbsPu7SxdAh5IPK_DMCPvWkM"], 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://pinchfla (truncated) 10:54:46.121 [info] GET /.well-known/acme-challenge/jkv1FbMiX0WcwDiuBKrhmmvIBzpd7J4VhJOx0EmByxg 10:54:46.122 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1364.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 [] 10:54:46.123 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1024.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 [] 10:54:46.123 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:54:46.124 [error] #PID<0.27086.0> running PinchflatWeb.Endpoint (connection #PID<0.27085.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/jkv1FbMiX0WcwDiuBKrhmmvIBzpd7J4VhJOx0EmByxg ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/jkv1FbMiX0WcwDiuBKrhmmvIBzpd7J4VhJOx0EmByxg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27085.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/jkv1FbMiX0WcwDiuBKrhmmvIBzpd7J4VhJOx0EmByxg", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 41356}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/jkv1FbMiX0WcwDiuBKrhmmvIBzpd7J4VhJOx0EmByxg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27086.0>, params: %{}, path_info: [".well-known", "acme-challenge", "jkv1FbMiX0WcwDiuBKrhmmvIBzpd7J4VhJOx0EmByxg"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/jkv1FbMiX0WcwDiuBKrhmmvIBzpd7J4VhJOx0EmByxg"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/jkv1FbMiX0WcwDiuBKrhmmvIBzpd7J4VhJOx0EmByxg", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDX8angWy3b-8UAF5dB"} ], 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.27085.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/jkv1FbMiX0WcwDiuBKrhmmvIBzpd7J4VhJOx0EmByxg", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 41356}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/jkv1FbMiX0WcwDiuBKrhmmvIBzpd7J4VhJOx0EmByxg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/jkv1FbMiX0WcwDiuBKrhmmvIBzpd7J4VhJOx0EmByxg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27085.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/jkv1FbMiX0WcwDiuBKrhmmvIBzpd7J4VhJOx0EmByxg", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 41356}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/jkv1FbMiX0WcwDiuBKrhmmvIBzpd7J4VhJOx0EmByxg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27086.0>, params: %{}, path_info: [".well-known", "acme-challenge", "jkv1FbMiX0WcwDiuBKrhmmvIBzpd7J4VhJOx0EmByxg"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 10:54:48.007 [info] GET /.well-known/acme-challenge/5qOzTOnHEupOPW1Xhsu-sArK6duhH3mCjEk4OrU8puI 10:54:48.008 [debug] QUERY OK source="settings" db=0.4ms idle=903.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 [] 10:54:48.009 [debug] QUERY OK source="settings" db=0.7ms idle=251.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 [] 10:54:48.009 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:54:48.010 [error] #PID<0.27087.0> running PinchflatWeb.Endpoint (connection #PID<0.27085.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/5qOzTOnHEupOPW1Xhsu-sArK6duhH3mCjEk4OrU8puI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/5qOzTOnHEupOPW1Xhsu-sArK6duhH3mCjEk4OrU8puI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27085.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/5qOzTOnHEupOPW1Xhsu-sArK6duhH3mCjEk4OrU8puI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 41356}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/5qOzTOnHEupOPW1Xhsu-sArK6duhH3mCjEk4OrU8puI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27087.0>, params: %{}, path_info: [".well-known", "acme-challenge", "5qOzTOnHEupOPW1Xhsu-sArK6duhH3mCjEk4OrU8puI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/5qOzTOnHEupOPW1Xhsu-sArK6duhH3mCjEk4OrU8puI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/5qOzTOnHEupOPW1Xhsu-sArK6duhH3mCjEk4OrU8puI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDX8hpI5wooFFMAF5dh"} ], 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.27085.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/5qOzTOnHEupOPW1Xhsu-sArK6duhH3mCjEk4OrU8puI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 41356}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/5qOzTOnHEupOPW1Xhsu-sArK6duhH3mCjEk4OrU8puI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/5qOzTOnHEupOPW1Xhsu-sArK6duhH3mCjEk4OrU8puI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27085.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/5qOzTOnHEupOPW1Xhsu-sArK6duhH3mCjEk4OrU8puI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 41356}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/5qOzTOnHEupOPW1Xhsu-sArK6duhH3mCjEk4OrU8puI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27087.0>, params: %{}, path_info: [".well-known", "acme-challenge", "5qOzTOnHEupOPW1Xhsu-sArK6duhH3mCjEk4OrU8puI"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 10:54:52.778 [info] GET /.well-known/acme-challenge/oncHT7Cazs4Bl-n-KocUsbwQpHwIn1BnLB764rksbv0 10:54:52.781 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1022.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 [] 10:54:52.781 [debug] QUERY OK source="settings" db=0.2ms idle=1024.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 [] 10:54:52.781 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:54:52.782 [error] #PID<0.27089.0> running PinchflatWeb.Endpoint (connection #PID<0.27088.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/oncHT7Cazs4Bl-n-KocUsbwQpHwIn1BnLB764rksbv0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/oncHT7Cazs4Bl-n-KocUsbwQpHwIn1BnLB764rksbv0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/oncHT7Cazs4Bl-n-KocUsbwQpHwIn1BnLB764rksbv0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41360}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/oncHT7Cazs4Bl-n-KocUsbwQpHwIn1BnLB764rksbv0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27089.0>, params: %{}, path_info: [".well-known", "acme-challenge", "oncHT7Cazs4Bl-n-KocUsbwQpHwIn1BnLB764rksbv0"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/oncHT7Cazs4Bl-n-KocUsbwQpHwIn1BnLB764rksbv0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/oncHT7Cazs4Bl-n-KocUsbwQpHwIn1BnLB764rksbv0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDX8za0dx2WP3EABYYj"} ], 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.27088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/oncHT7Cazs4Bl-n-KocUsbwQpHwIn1BnLB764rksbv0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41360}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/oncHT7Cazs4Bl-n-KocUsbwQpHwIn1BnLB764rksbv0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/oncHT7Cazs4Bl-n-KocUsbwQpHwIn1BnLB764rksbv0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/oncHT7Cazs4Bl-n-KocUsbwQpHwIn1BnLB764rksbv0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41360}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/oncHT7Cazs4Bl-n-KocUsbwQpHwIn1BnLB764rksbv0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27089.0>, params: %{}, path_info: [".well-known", "acme-challenge", "oncHT7Cazs4Bl-n-KocUsbwQpHwIn1BnLB764rksbv0"], 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://pinchfla (truncated) 10:54:56.654 [info] GET /.well-known/acme-challenge/_IVhX0FVO3EihhbKo_IS_SV9VtD2YBXfy1dV8l8QTJc 10:54:56.656 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1898.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 [] 10:54:56.657 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1522.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 [] 10:54:56.657 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:54:56.658 [error] #PID<0.27090.0> running PinchflatWeb.Endpoint (connection #PID<0.27088.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/_IVhX0FVO3EihhbKo_IS_SV9VtD2YBXfy1dV8l8QTJc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/_IVhX0FVO3EihhbKo_IS_SV9VtD2YBXfy1dV8l8QTJc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/_IVhX0FVO3EihhbKo_IS_SV9VtD2YBXfy1dV8l8QTJc", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41360}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/_IVhX0FVO3EihhbKo_IS_SV9VtD2YBXfy1dV8l8QTJc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27090.0>, params: %{}, path_info: [".well-known", "acme-challenge", "_IVhX0FVO3EihhbKo_IS_SV9VtD2YBXfy1dV8l8QTJc"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/_IVhX0FVO3EihhbKo_IS_SV9VtD2YBXfy1dV8l8QTJc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/_IVhX0FVO3EihhbKo_IS_SV9VtD2YBXfy1dV8l8QTJc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDX9B20XEg-XOcABYZD"} ], 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.27088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/_IVhX0FVO3EihhbKo_IS_SV9VtD2YBXfy1dV8l8QTJc", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41360}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/_IVhX0FVO3EihhbKo_IS_SV9VtD2YBXfy1dV8l8QTJc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/_IVhX0FVO3EihhbKo_IS_SV9VtD2YBXfy1dV8l8QTJc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/_IVhX0FVO3EihhbKo_IS_SV9VtD2YBXfy1dV8l8QTJc", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41360}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/_IVhX0FVO3EihhbKo_IS_SV9VtD2YBXfy1dV8l8QTJc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27090.0>, params: %{}, path_info: [".well-known", "acme-challenge", "_IVhX0FVO3EihhbKo_IS_SV9VtD2YBXfy1dV8l8QTJc"], 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://pinchfla (truncated) 10:55:00.686 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:55:00.778 [info] GET /.well-known/acme-challenge/0ou_t3qC86S2Rki9RLJsEfhkJWZwtYNnMDZESYSdFh0 10:55:00.780 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1022.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 [] 10:55:00.781 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1024.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 [] 10:55:00.782 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:55:00.782 [error] #PID<0.27091.0> running PinchflatWeb.Endpoint (connection #PID<0.27088.0>, stream id 3) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/0ou_t3qC86S2Rki9RLJsEfhkJWZwtYNnMDZESYSdFh0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/0ou_t3qC86S2Rki9RLJsEfhkJWZwtYNnMDZESYSdFh0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/0ou_t3qC86S2Rki9RLJsEfhkJWZwtYNnMDZESYSdFh0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41360}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/0ou_t3qC86S2Rki9RLJsEfhkJWZwtYNnMDZESYSdFh0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27091.0>, params: %{}, path_info: [".well-known", "acme-challenge", "0ou_t3qC86S2Rki9RLJsEfhkJWZwtYNnMDZESYSdFh0"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/0ou_t3qC86S2Rki9RLJsEfhkJWZwtYNnMDZESYSdFh0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/0ou_t3qC86S2Rki9RLJsEfhkJWZwtYNnMDZESYSdFh0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDX9ROIPucz9EoABYZj"} ], 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.27088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/0ou_t3qC86S2Rki9RLJsEfhkJWZwtYNnMDZESYSdFh0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41360}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/0ou_t3qC86S2Rki9RLJsEfhkJWZwtYNnMDZESYSdFh0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/0ou_t3qC86S2Rki9RLJsEfhkJWZwtYNnMDZESYSdFh0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/0ou_t3qC86S2Rki9RLJsEfhkJWZwtYNnMDZESYSdFh0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41360}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/0ou_t3qC86S2Rki9RLJsEfhkJWZwtYNnMDZESYSdFh0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27091.0>, params: %{}, path_info: [".well-known", "acme-challenge", "0ou_t3qC86S2Rki9RLJsEfhkJWZwtYNnMDZESYSdFh0"], 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://pinchfla (truncated) 10:55:03.161 [info] {"source":"oban","duration":2835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:12.441 [info] GET /.well-known/acme-challenge/6SoyseJWzqBum5VX2N1a64YBMhf96oN17JDUt72zJHQ 10:55:12.446 [debug] QUERY OK source="settings" db=4.6ms idle=1684.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 [] 10:55:12.447 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1248.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 [] 10:55:12.447 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:55:12.448 [error] #PID<0.27095.0> running PinchflatWeb.Endpoint (connection #PID<0.27094.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/6SoyseJWzqBum5VX2N1a64YBMhf96oN17JDUt72zJHQ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/6SoyseJWzqBum5VX2N1a64YBMhf96oN17JDUt72zJHQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27094.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6SoyseJWzqBum5VX2N1a64YBMhf96oN17JDUt72zJHQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53342}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/6SoyseJWzqBum5VX2N1a64YBMhf96oN17JDUt72zJHQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27095.0>, params: %{}, path_info: [".well-known", "acme-challenge", "6SoyseJWzqBum5VX2N1a64YBMhf96oN17JDUt72zJHQ"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/6SoyseJWzqBum5VX2N1a64YBMhf96oN17JDUt72zJHQ"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/6SoyseJWzqBum5VX2N1a64YBMhf96oN17JDUt72zJHQ", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDX98qruGEdmvkABYaj"} ], 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.27094.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6SoyseJWzqBum5VX2N1a64YBMhf96oN17JDUt72zJHQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53342}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/6SoyseJWzqBum5VX2N1a64YBMhf96oN17JDUt72zJHQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/6SoyseJWzqBum5VX2N1a64YBMhf96oN17JDUt72zJHQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27094.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6SoyseJWzqBum5VX2N1a64YBMhf96oN17JDUt72zJHQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53342}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/6SoyseJWzqBum5VX2N1a64YBMhf96oN17JDUt72zJHQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27095.0>, params: %{}, path_info: [".well-known", "acme-challenge", "6SoyseJWzqBum5VX2N1a64YBMhf96oN17JDUt72zJHQ"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 10:55:22.139 [info] GET /.well-known/acme-challenge/cAINc1vXR6Bs8rxT5hkEybXdIDlotywMTCX_k8SkKW0 10:55:22.140 [debug] QUERY OK source="settings" db=0.2ms idle=910.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 [] 10:55:22.141 [debug] QUERY OK source="settings" db=0.2ms idle=383.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 [] 10:55:22.141 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:55:22.141 [error] #PID<0.27097.0> running PinchflatWeb.Endpoint (connection #PID<0.27096.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/cAINc1vXR6Bs8rxT5hkEybXdIDlotywMTCX_k8SkKW0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/cAINc1vXR6Bs8rxT5hkEybXdIDlotywMTCX_k8SkKW0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27096.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/cAINc1vXR6Bs8rxT5hkEybXdIDlotywMTCX_k8SkKW0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 34150}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/cAINc1vXR6Bs8rxT5hkEybXdIDlotywMTCX_k8SkKW0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27097.0>, params: %{}, path_info: [".well-known", "acme-challenge", "cAINc1vXR6Bs8rxT5hkEybXdIDlotywMTCX_k8SkKW0"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/cAINc1vXR6Bs8rxT5hkEybXdIDlotywMTCX_k8SkKW0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/cAINc1vXR6Bs8rxT5hkEybXdIDlotywMTCX_k8SkKW0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDX-gzCtqjVIzkABYbD"} ], 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.27096.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/cAINc1vXR6Bs8rxT5hkEybXdIDlotywMTCX_k8SkKW0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 34150}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/cAINc1vXR6Bs8rxT5hkEybXdIDlotywMTCX_k8SkKW0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/cAINc1vXR6Bs8rxT5hkEybXdIDlotywMTCX_k8SkKW0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27096.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/cAINc1vXR6Bs8rxT5hkEybXdIDlotywMTCX_k8SkKW0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 34150}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/cAINc1vXR6Bs8rxT5hkEybXdIDlotywMTCX_k8SkKW0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27097.0>, params: %{}, path_info: [".well-known", "acme-challenge", "cAINc1vXR6Bs8rxT5hkEybXdIDlotywMTCX_k8SkKW0"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 10:55:22.574 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TgZA45CbjF4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ab/83/ab83bc7f5857c232a45e68a1584252f102b03acea4e742c59cb7c86579a186ee.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 10:55:22.634 [debug] Running yt-dlp command for action: download_thumbnail 10:55:22.636 [debug] QUERY OK source="settings" db=0.3ms idle=878.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 [] 10:55:22.636 [debug] QUERY OK source="settings" db=0.2ms idle=879.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 [] 10:55:22.637 [debug] QUERY OK source="settings" db=0.2ms idle=496.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 [] 10:55:22.637 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TgZA45CbjF4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3393/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/d4/7e/d47e7cb759d5deeedbc5f905e36817d65abbf45a57dadf0d56f2872987a79bb1.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:55:24.701 [info] GET / 10:55:24.702 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 10:55:24.703 [debug] QUERY OK source="settings" db=0.8ms idle=945.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 [] 10:55:24.704 [debug] QUERY OK source="media_profiles" db=0.3ms idle=947.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 10:55:24.704 [debug] QUERY OK source="sources" db=0.2ms idle=947.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 10:55:24.735 [debug] QUERY OK source="media_items" db=29.8ms idle=947.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:55:24.744 [debug] QUERY OK source="media_items" db=8.6ms idle=494.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:55:24.746 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=41.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 [] 10:55:24.747 [debug] QUERY OK source="settings" db=0.4ms idle=41.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 [] 10:55:24.749 [debug] QUERY OK source="settings" db=0.5ms idle=43.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 [] 10:55:24.766 [debug] QUERY OK source="media_items" db=14.3ms idle=16.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 (NOT (m0."media_filepath" IS NULL)) [] 10:55:24.769 [debug] QUERY OK source="media_items" db=2.5ms queue=0.2ms idle=22.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:55:24.771 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=24.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" IN (?,?)) [6, 2] 10:55:24.881 [debug] QUERY OK source="media_items" db=107.4ms idle=27.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 (((((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:55:24.932 [debug] QUERY OK source="media_items" db=50.2ms queue=0.1ms idle=132.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 10:55:24.933 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=167.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] 10:55:24.939 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=168.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:55:24.940 [debug] QUERY OK source="media_items" db=0.9ms idle=168.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3393, 3396] 10:55:24.943 [info] Sent 200 in 241ms 10:55:30.821 [info] GET /.well-known/acme-challenge/bO-1anZ50D4CJ1ddv24vLeUjHlq4_QlY0ioUznMFflk 10:55:30.823 [debug] QUERY OK source="settings" db=0.7ms idle=558.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 [] 10:55:30.824 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=66.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 [] 10:55:30.825 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:55:30.826 [error] #PID<0.27104.0> running PinchflatWeb.Endpoint (connection #PID<0.27103.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/bO-1anZ50D4CJ1ddv24vLeUjHlq4_QlY0ioUznMFflk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/bO-1anZ50D4CJ1ddv24vLeUjHlq4_QlY0ioUznMFflk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27103.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/bO-1anZ50D4CJ1ddv24vLeUjHlq4_QlY0ioUznMFflk", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36686}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/bO-1anZ50D4CJ1ddv24vLeUjHlq4_QlY0ioUznMFflk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27104.0>, params: %{}, path_info: [".well-known", "acme-challenge", "bO-1anZ50D4CJ1ddv24vLeUjHlq4_QlY0ioUznMFflk"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/bO-1anZ50D4CJ1ddv24vLeUjHlq4_QlY0ioUznMFflk"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/bO-1anZ50D4CJ1ddv24vLeUjHlq4_QlY0ioUznMFflk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDX_BI39eGN-lsAFLXi"} ], 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.27103.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/bO-1anZ50D4CJ1ddv24vLeUjHlq4_QlY0ioUznMFflk", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36686}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/bO-1anZ50D4CJ1ddv24vLeUjHlq4_QlY0ioUznMFflk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/bO-1anZ50D4CJ1ddv24vLeUjHlq4_QlY0ioUznMFflk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27103.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/bO-1anZ50D4CJ1ddv24vLeUjHlq4_QlY0ioUznMFflk", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36686}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/bO-1anZ50D4CJ1ddv24vLeUjHlq4_QlY0ioUznMFflk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27104.0>, params: %{}, path_info: [".well-known", "acme-challenge", "bO-1anZ50D4CJ1ddv24vLeUjHlq4_QlY0ioUznMFflk"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 10:55:33.164 [info] {"source":"oban","duration":1847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:33.861 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TgZA45CbjF4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3393/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/d4/7e/d47e7cb759d5deeedbc5f905e36817d65abbf45a57dadf0d56f2872987a79bb1.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 10:55:33.862 [debug] QUERY OK db=0.0ms idle=1105.1ms begin [] 10:55:33.864 [debug] QUERY OK source="media_items" db=1.7ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-27 23:55:22Z], "/downloads/shows/Kevin Kos/Season 2024/s2024e031899 - Make Better, Easy and Cheap Pink Grapefruit Soda!.mp4", "/downloads/shows/Kevin Kos/Season 2024/s2024e031899 - Make Better, Easy and Cheap Pink Grapefruit Soda!.info.json", "/downloads/shows/Kevin Kos/Season 2024/s2024e031899 - Make Better, Easy and Cheap Pink Grapefruit Soda!.nfo", "/downloads/shows/Kevin Kos/Season 2024/s2024e031899 - Make Better, Easy and Cheap Pink Grapefruit Soda!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2024/s2024e031899 - Make Better, Easy and Cheap Pink Grapefruit Soda!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2024/s2024e031899 - Make Better, Easy and Cheap Pink Grapefruit Soda!-thumb.jpg", ~U[2026-03-27 23:55:33Z], 3393] 10:55:33.865 [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/3393/metadata.json.gz", "/config/metadata/media_items/3393/thumbnail.jpg", 3393, ~U[2026-03-27 23:55:33Z], ~U[2026-03-27 23:55:33Z]] 10:55:33.867 [debug] QUERY OK db=1.2ms commit [] 10:55:33.900 [debug] QUERY OK source="media_items" db=29.8ms queue=0.1ms idle=1113.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [66134670, ~U[2026-03-27 23:55:33Z], 3393] 10:55:33.900 [info] User scripts lifecyle file either not present or is empty. Skipping. 10:55:33.930 [info] {"args":{"id":3393},"id":567,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":222698263,"event":"job:stop","queue_time":71215200906,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 10:55:33.962 [info] {"args":{"id":3399},"id":569,"meta":{},"system_time":1774655733962004386,"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"]} 10:55:33.992 [debug] QUERY OK source="media_items" db=29.7ms queue=0.1ms idle=689.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" = ?) [3399] 10:55:33.992 [info] User scripts lifecyle file either not present or is empty. Skipping. 10:55:34.002 [debug] QUERY OK source="sources" db=9.7ms queue=0.1ms idle=125.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" = ?) [4] 10:55:34.003 [debug] QUERY OK source="media_profiles" db=0.5ms idle=103.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] 10:55:34.004 [debug] QUERY OK source="media_items" db=0.4ms idle=73.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 [3399] 10:55:34.005 [debug] QUERY OK source="media_metadata" db=0.1ms idle=43.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" = ?) [3399] 10:55:34.006 [debug] QUERY OK source="media_profiles" db=0.3ms idle=13.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] 10:55:34.007 [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 [] 10:55:34.007 [debug] QUERY OK source="settings" db=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 [] 10:55:34.008 [debug] Running yt-dlp command for action: get_downloadable_status 10:55:34.009 [debug] QUERY OK source="settings" db=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 [] 10:55:34.010 [debug] QUERY OK source="settings" db=0.2ms 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 [] 10:55:34.010 [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 [] 10:55:34.010 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=bh2bpL7i9zs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a1/54/a154561cfc6db678a7488d8c1a2da7547ba978b7b51cc3a5b41830c29502ba23.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:55:43.173 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=bh2bpL7i9zs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a1/54/a154561cfc6db678a7488d8c1a2da7547ba978b7b51cc3a5b41830c29502ba23.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 10:55:43.173 [debug] Running yt-dlp command for action: download 10:55:43.174 [debug] QUERY OK source="settings" db=0.4ms idle=1416.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 [] 10:55:43.174 [debug] QUERY OK source="settings" db=0.4ms idle=1417.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 [] 10:55:43.175 [debug] QUERY OK source="settings" db=0.3ms idle=1417.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 [] 10:55:43.176 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=bh2bpL7i9zs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1a/ec/1aec73ca099fb3fc47f0c2f677eae8c0967084c6a23ee72ab75356917987563d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 10:56:00.688 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:56:03.169 [info] {"source":"oban","duration":3437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:26.050 [info] GET / 10:56:26.050 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 10:56:26.052 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1294.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 [] 10:56:26.053 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=1295.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 10:56:26.054 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1296.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 10:56:26.124 [debug] QUERY OK source="media_items" db=70.2ms idle=573.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:56:26.128 [debug] QUERY OK source="media_items" db=3.3ms queue=0.1ms idle=367.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:56:26.129 [debug] QUERY OK source="settings" db=0.2ms idle=77.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 [] 10:56:26.130 [debug] QUERY OK source="settings" db=0.2ms idle=76.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 [] 10:56:26.131 [debug] QUERY OK source="settings" db=0.2ms idle=76.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 [] 10:56:26.136 [debug] QUERY OK source="media_items" db=3.2ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 10:56:26.137 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=7.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:56:26.138 [debug] QUERY OK source="sources" db=0.2ms idle=8.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" IN (?,?)) [6, 2] 10:56:26.195 [debug] QUERY OK source="media_items" db=55.1ms idle=10.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 (((((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:56:26.264 [debug] QUERY OK source="media_items" db=67.8ms idle=65.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 10:56:26.264 [debug] QUERY OK source="sources" db=0.2ms idle=128.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] 10:56:26.267 [debug] QUERY OK source="tasks" db=0.4ms idle=129.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:56:26.268 [debug] QUERY OK source="media_items" db=0.3ms idle=129.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3396, 3399] 10:56:26.269 [info] Sent 200 in 219ms 10:56:33.171 [info] {"source":"oban","duration":1625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:00.689 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:57:03.175 [info] {"source":"oban","duration":3715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:27.222 [info] GET / 10:57:27.222 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 10:57:27.224 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1465.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 [] 10:57:27.225 [debug] QUERY OK source="media_profiles" db=0.6ms idle=1467.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 10:57:27.227 [debug] QUERY OK source="sources" db=0.4ms queue=0.5ms idle=1468.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 10:57:27.253 [debug] QUERY OK source="media_items" db=25.2ms queue=0.1ms idle=508.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:57:27.256 [debug] QUERY OK source="media_items" db=2.1ms queue=0.3ms idle=496.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:57:27.257 [debug] QUERY OK source="settings" db=0.4ms 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 [] 10:57:27.258 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=32.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 [] 10:57:27.259 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=32.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 [] 10:57:27.268 [debug] QUERY OK source="media_items" db=6.7ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 10:57:27.270 [debug] QUERY OK source="media_items" db=0.8ms queue=0.2ms idle=13.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:57:27.272 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=14.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" IN (?,?)) [6, 2] 10:57:27.369 [debug] QUERY OK source="media_items" db=89.8ms idle=21.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 (((((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:57:27.384 [debug] QUERY OK source="media_items" db=14.7ms queue=0.1ms idle=110.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 10:57:27.385 [debug] QUERY OK source="sources" db=0.2ms idle=116.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] 10:57:27.388 [debug] QUERY OK source="tasks" db=0.4ms idle=117.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:57:27.389 [debug] QUERY OK source="media_items" db=0.5ms idle=116.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3396, 3399] 10:57:27.390 [info] Sent 200 in 168ms 10:57:33.179 [info] {"source":"oban","duration":2297,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:00.690 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:58:03.181 [info] {"source":"oban","duration":1688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:08.501 [info] GET /sources/2/media/8244 10:58:08.502 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "8244", "prevent_download" => "true", "source_id" => "2"} Pipelines: [:browser] 10:58:08.504 [debug] QUERY OK source="media_items" db=1.0ms queue=0.2ms idle=1745.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" = ?) [8244] 10:58:08.506 [debug] QUERY OK source="tasks" db=1.0ms queue=0.1ms idle=1747.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" [8244] 10:58:08.506 [debug] QUERY OK source="sources" db=1.8ms idle=1747.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" = ?) [2] 10:58:08.508 [debug] QUERY OK source="settings" db=0.6ms idle=1619.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 [] 10:58:08.509 [debug] QUERY OK source="settings" db=0.4ms idle=616.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 [] 10:58:08.510 [debug] QUERY OK source="settings" db=0.4ms 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 [] 10:58:08.512 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 10:58:08.514 [info] Sent 200 in 12ms 10:58:28.383 [info] GET / 10:58:28.383 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 10:58:28.384 [debug] QUERY OK source="settings" db=0.7ms idle=626.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 [] 10:58:28.385 [debug] QUERY OK source="media_profiles" db=0.6ms idle=627.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 10:58:28.386 [debug] QUERY OK source="sources" db=0.4ms idle=628.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 10:58:28.418 [debug] QUERY OK source="media_items" db=30.7ms queue=0.1ms idle=629.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:58:28.427 [debug] QUERY OK source="media_items" db=8.0ms queue=0.2ms idle=446.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:58:28.428 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=43.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 [] 10:58:28.429 [debug] QUERY OK source="settings" db=0.3ms idle=43.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 [] 10:58:28.431 [debug] QUERY OK source="settings" db=0.2ms idle=44.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 [] 10:58:28.440 [debug] QUERY OK source="media_items" db=6.8ms idle=15.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 (NOT (m0."media_filepath" IS NULL)) [] 10:58:28.442 [debug] QUERY OK source="media_items" db=1.0ms idle=14.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:58:28.444 [debug] QUERY OK source="sources" db=0.8ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [6, 2] 10:58:28.505 [debug] QUERY OK source="media_items" db=53.8ms queue=0.2ms idle=21.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 (((((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:58:28.528 [debug] QUERY OK source="media_items" db=21.4ms queue=0.1ms idle=75.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 10:58:28.530 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=89.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] 10:58:28.536 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=93.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:58:28.538 [debug] QUERY OK source="media_items" db=0.6ms idle=93.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3396, 3399] 10:58:28.542 [info] Sent 200 in 159ms 10:58:33.185 [info] {"source":"oban","duration":2392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:00.693 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:59:03.189 [info] {"source":"oban","duration":2667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:29.203 [info] GET / 10:59:29.203 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 10:59:29.204 [debug] QUERY OK source="settings" db=0.4ms idle=1446.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 [] 10:59:29.205 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1447.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 10:59:29.206 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1448.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 10:59:29.257 [debug] QUERY OK source="media_items" db=50.5ms idle=969.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:59:29.259 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=52.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:59:29.261 [debug] QUERY OK source="settings" db=1.7ms queue=0.1ms idle=54.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 [] 10:59:29.261 [debug] QUERY OK source="settings" db=0.1ms idle=55.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 [] 10:59:29.262 [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 [] 10:59:29.264 [debug] QUERY OK source="media_items" db=1.4ms idle=4.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 (NOT (m0."media_filepath" IS NULL)) [] 10:59:29.265 [debug] QUERY OK source="media_items" db=0.5ms idle=4.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:59:29.266 [debug] QUERY OK source="sources" db=0.2ms idle=4.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" IN (?,?)) [6, 2] 10:59:29.331 [debug] QUERY OK source="media_items" db=62.3ms idle=7.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 (((((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:59:29.384 [debug] QUERY OK source="media_items" db=52.4ms queue=0.1ms idle=69.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 10:59:29.385 [debug] QUERY OK source="sources" db=0.3ms idle=120.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] 10:59:29.388 [debug] QUERY OK source="tasks" db=0.6ms idle=122.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:59:29.389 [debug] QUERY OK source="media_items" db=0.5ms idle=123.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3396, 3399] 10:59:29.391 [info] Sent 200 in 187ms 10:59:33.194 [info] {"source":"oban","duration":3875,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:39.318 [info] {"args":{"id":3},"id":1606,"meta":{},"system_time":1774655979318517201,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:59:39.330 [debug] QUERY OK source="sources" db=11.0ms idle=562.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" = ?) [3] 10:59:39.355 [debug] QUERY OK source="settings" db=23.6ms queue=0.2ms idle=573.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 [] 10:59:39.374 [debug] QUERY OK source="media_profiles" db=18.6ms queue=0.1ms idle=598.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] 10:59:39.392 [debug] QUERY OK source="settings" db=16.2ms queue=0.1ms idle=76.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 [] 10:59:39.392 [debug] Fetching recent media IDs from YouTube API for playlist: UUwnKziETDbHJtx78nIkfYug 10:59:39.393 [debug] QUERY OK source="settings" db=0.5ms idle=75.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 [] 10:59:39.394 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 10:59:40.652 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=1293.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "QtpFa0LdXEY", "8Rv4wwcQ89Y", "2cRKv1oqyX8", "mQfQwLW6CNw", "y0TZuhNixNk", "GZ7wE3XOwFU", "-aRdX-kZ9g4", "99bldMr1byI", "EzCiEv1IqiA", "mC5NdpSMDks", "ccV3u3D9ONE", "cVCDjEfPzII", "n0X2rqzKTgM", "dcuCvRNqmpY", "GG1qX8jHKGo", "k9wkleHFvo0", "CWoYVlMuUNQ", "xlfeieH4z38", "eZM2Ik-FHEU", "CtcTG8-qzbA", "6Mmj7mf1qlg", "InwVO9qBjqs", "1Hp-W2bpPrw", "VtE5sTpkn7k", "8dOJypt2F70", "Evm4t4prtWo", "taLzgvbrnv0", "rgCrnyf5JEI", "PHhc-48JT3U", "vFKjpNNjNGw", "VJQlOI70ubw", "E5cfNq0DO90", "DNBGSsZatbY", "pna1NyaHTls", "CUHao-vA98g", "cPN9BJe_RQw", "rCBt4XgCX-0", "f4g6KKGMmEI", "P_I5Jsc3xRw", "fPaU2l7RktM", "0PVwt01b6fs", "0qMDM4Y4Hwo", "Ld285PDsHvs", "p1mQC71wplA", "9k5JhKK6WlA", "WPxrifmtlQI", "nVNBmK7a1y8", "QDnMYztaxfI", "gxsaWhXG1Gg", ...] 10:59:40.661 [debug] QUERY OK source="media_items" db=7.4ms idle=1279.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 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] 10:59:40.667 [debug] QUERY OK source="tasks" db=0.9ms queue=0.1ms idle=361.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1612, 3, ~U[2026-03-27 23:59:40Z], ~U[2026-03-27 23:59:40Z]] 10:59:40.668 [info] {"args":{"id":3},"id":1606,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":1348746,"event":"job:stop","queue_time":629081,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:59:51.409 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CctYctGh6So --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e8/93/e893dd677b6146e506bd5180749eec237b984994e3f1f71048d415ab2de369aa.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 10:59:51.482 [debug] Running yt-dlp command for action: download_thumbnail 10:59:51.484 [debug] QUERY OK source="settings" db=0.3ms idle=1726.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 [] 10:59:51.484 [debug] QUERY OK source="settings" db=0.1ms idle=1727.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 [] 10:59:51.485 [debug] QUERY OK source="settings" db=0.1ms idle=1150.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 [] 10:59:51.485 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CctYctGh6So --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3396/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/de/3e/de3eceaf8295a740074f04892805b598f20e12d3f6f194ecda1339a7ca823752.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:00:00.694 [info] {"source":"oban","duration":463,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:00:03.200 [info] {"source":"oban","duration":3982,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:14.438 [info] {"args":{"id":2},"id":1607,"meta":{},"system_time":1774656014438765532,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:00:14.439 [debug] QUERY OK source="sources" db=0.7ms idle=1681.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] 11:00:14.440 [debug] QUERY OK source="settings" db=0.5ms idle=1682.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 [] 11:00:14.441 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1012.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] 11:00:14.442 [debug] QUERY OK source="settings" db=0.6ms 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 [] 11:00:14.442 [debug] Fetching recent media IDs from YouTube API for playlist: UUjzi56cxvmEDwjo1Bd2Yxpg 11:00:14.442 [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 [] 11:00:14.442 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:00:15.104 [debug] QUERY OK source="media_items" db=5.4ms idle=658.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "Hw2_s31u_4Q", "b4x9IzQtiA0", "16aM5Bop7Qw", "3hBk9xqT9hs", "xDa45wnAzc8", "Yq41acIvzj8", "Ttn_Q1B2ALc", "-bV0F6OP31U", "qAstyiKRt10", "NF2StvrYme0", "_Q-2UzYr3AA", "FeEEy3jZvlM", "EHaNwda0xto", "KL0u63mAy5M", "fzklfnO42ts", "oZ4kddHCFVY", "spSOp5s_6_A", "C48yl9fSYv8", "654RgtNwXZ8", "4wu_B_XF6wk", "wFLJxWyDJPs", "J5NKnYfn6qw", "fcVRuF6c-bc", "xNAFpSnpqjs", "cavmWZnCeJI", "_J0gQ5GdUSk", "_oISg668F40", "v34wa9QhF0s", "iEen_cClzkg", "CD9wUM2v-0U", "E8k9oqjl5_E", "lQDUMfg_SJc", "pPMD0YPBHQ4", "qq1IN4umTI8", "L63goFhe8KM", "5OXvwQ3CB1I", "doZvHBPoVCw", "9SXMTDO4lIo", "8JmSUN8jp3Q", "7oSgaaUEjZM", "sKSPwnFSRCw", "gdY_Q9ltw8w", "uHbviTslBFY", "gMzXgYFT4Ck", "NdsMuD-_5To", "9JXltNRqLu4", "7ThBvLBMacw", "7BTWa3jFBMw", "U2LsOO1upXY", ...] 11:00:15.193 [debug] QUERY OK source="media_items" db=87.2ms idle=665.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 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] 11:00:15.199 [debug] QUERY OK source="tasks" db=0.4ms idle=94.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1613, 2, ~U[2026-03-28 00:00:15Z], ~U[2026-03-28 00:00:15Z]] 11:00:15.206 [info] {"args":{"id":2},"id":1607,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":760720,"event":"job:stop","queue_time":942997,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:00:33.203 [info] {"source":"oban","duration":2837,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:38.750 [info] GET / 11:00:38.750 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:00:38.751 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=1993.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 [] 11:00:38.752 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1994.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:00:38.753 [debug] QUERY OK source="sources" db=0.4ms idle=1995.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:00:38.814 [debug] QUERY OK source="media_items" db=61.1ms idle=1236.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:00:38.819 [debug] QUERY OK source="media_items" db=4.6ms queue=0.1ms idle=293.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:00:38.820 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=68.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 [] 11:00:38.821 [debug] QUERY OK source="settings" db=0.1ms idle=68.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 [] 11:00:38.822 [debug] QUERY OK source="settings" db=0.3ms idle=68.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 [] 11:00:38.826 [debug] QUERY OK source="media_items" db=3.0ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 11:00:38.827 [debug] QUERY OK source="media_items" db=0.6ms idle=6.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:00:38.828 [debug] QUERY OK source="sources" db=0.3ms idle=6.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" IN (?,?)) [6, 2] 11:00:38.884 [debug] QUERY OK source="media_items" db=54.2ms idle=9.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 (((((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"))) [] 11:00:38.954 [debug] QUERY OK source="media_items" db=68.9ms idle=62.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:00:38.955 [debug] QUERY OK source="sources" db=0.6ms idle=128.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] 11:00:38.957 [debug] QUERY OK source="tasks" db=0.5ms idle=130.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:00:38.958 [debug] QUERY OK source="media_items" db=0.3ms idle=130.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3396, 3399] 11:00:38.960 [info] Sent 200 in 210ms 11:00:46.569 [info] {"args":{"id":4},"id":1608,"meta":{},"system_time":1774656046569385127,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:00:46.578 [debug] QUERY OK source="sources" db=8.7ms idle=1812.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] 11:00:46.585 [debug] QUERY OK source="settings" db=6.2ms idle=1822.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 [] 11:00:46.587 [debug] QUERY OK source="media_profiles" db=0.9ms idle=1037.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] 11:00:46.588 [debug] QUERY OK source="settings" db=0.4ms idle=35.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 [] 11:00:46.588 [debug] Fetching recent media IDs from YouTube API for playlist: UUEiui9T4ZYx8K8nuZ5YFSTw 11:00:46.589 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=19.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 [] 11:00:46.589 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:00:47.306 [debug] QUERY OK source="media_items" db=2.3ms idle=724.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [4, "gthI7e6zPWo", "psRX1C7auj8", "2ZtSRjGhStw", "Z8KiNkDP9c4", "AZibPvCnG4k", "QXNPI7Ucivo", "WtxCD4567G4", "80bkfWoOHaE", "pYBAEGrhggM", "9M3wLySdGXY", "mcvbD_Ipbf8", "E_Y7kLO3Iaw", "gPdh5lVJYD0", "qrkTK1UcvSM", "45UcuOLjxeY", "gnbhO9hJ198", "fiFzXo1wNno", "TM5mKkwC0Ok", "kS2A72peqmg", "ueDcEpRFW_M", "AN4-pHYBK2M", "TMNa6ocIv8o", "S1Vt1tQJczE", "_BEmUjtwhLw", "1bxoWiQ2AQY", "CZeRfNeKEBE", "2nftRe3tjLQ", "v1biAguVbg8", "cLDsQImoeHQ", "hhH7mchDBXY", "uQj2W5ej104", "vYRV_nprXBA", "1v_qsQL3mo8", "hfHxFTbVaTo", "mfWqziOaR4A", "AmCWMmKgHkI", "ZWgq-s8r2FE", "1dAkTDsD1c4", "ozdDp_eMPZY", "iHogtXxywLQ", "7ysd04ltGag", "5jq8kH9s0V8", "AB6bC9gtfoc", "R7Tm3zvyy9U", "dUHzocz0hLo", "9Oh6oVrf7kM", "LzUhByZ4jtc", "j7evpR_Fbsw", "_iGhJt3ah8E", ...] 11:00:47.314 [debug] QUERY OK source="media_items" db=6.2ms idle=722.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 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] 11:00:47.619 [debug] QUERY OK source="tasks" db=0.9ms idle=5.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1614, 4, ~U[2026-03-28 00:00:47Z], ~U[2026-03-28 00:00:47Z]] 11:00:47.620 [info] {"args":{"id":4},"id":1608,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":1050393,"event":"job:stop","queue_time":379560,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:00:48.931 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CctYctGh6So --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3396/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/de/3e/de3eceaf8295a740074f04892805b598f20e12d3f6f194ecda1339a7ca823752.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Failed to download m3u8 information: [Errno -3] Temporary failure in name resolution WARNING: Unable to download video thumbnail 41: [Errno -3] Temporary failure in name resolution WARNING: Unable to download video thumbnail 40: [Errno -3] Temporary failure in name resolution WARNING: Unable to download video thumbnail 39: [Errno -3] Temporary failure in name resolution WARNING: Unable to download video thumbnail 38: [Errno -3] Temporary failure in name resolution WARNING: Unable to download video thumbnail 37: [Errno -3] Temporary failure in name resolution WARNING: Unable to download video thumbnail 36: [Errno -3] Temporary failure in name resolution WARNING: Unable to download video thumbnail 35: [Errno -3] Temporary failure in name resolution 11:00:48.933 [debug] QUERY OK db=0.1ms queue=0.1ms idle=374.5ms begin [] 11:00:48.936 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-27 23:59:51Z], "/downloads/shows/Kevin Kos/Season 2024/s2024e031199 - What Makes the Best Margarita in the World?.mp4", "/downloads/shows/Kevin Kos/Season 2024/s2024e031199 - What Makes the Best Margarita in the World?.info.json", "/downloads/shows/Kevin Kos/Season 2024/s2024e031199 - What Makes the Best Margarita in the World?.nfo", "/downloads/shows/Kevin Kos/Season 2024/s2024e031199 - What Makes the Best Margarita in the World?.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2024/s2024e031199 - What Makes the Best Margarita in the World?.en.srt"]], "/downloads/shows/Kevin Kos/Season 2024/s2024e031199 - What Makes the Best Margarita in the World?-thumb.jpg", ~U[2026-03-28 00:00:48Z], 3396] 11:00:48.939 [debug] QUERY OK source="media_metadata" db=3.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/3396/metadata.json.gz", "/config/metadata/media_items/3396/thumbnail.jpg", 3396, ~U[2026-03-28 00:00:48Z], ~U[2026-03-28 00:00:48Z]] 11:00:48.940 [debug] QUERY OK db=0.8ms commit [] 11:00:48.984 [debug] QUERY OK source="media_items" db=8.4ms queue=0.1ms idle=218.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [86797740, ~U[2026-03-28 00:00:48Z], 3396] 11:00:48.986 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:00:48.988 [info] {"args":{"id":3396},"id":568,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":457724594,"event":"job:stop","queue_time":71289260834,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:00:48.997 [info] {"args":{"id":3402},"id":570,"meta":{},"system_time":1774656048996835985,"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"]} 11:00:48.999 [debug] QUERY OK source="media_items" db=0.4ms queue=0.2ms idle=240.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" = ?) [3402] 11:00:48.999 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:00:49.000 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=59.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" = ?) [4] 11:00:49.001 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms 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] 11:00:49.003 [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 [3402] 11:00:49.005 [debug] QUERY OK source="media_metadata" db=0.4ms 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" = ?) [3402] 11:00:49.006 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=7.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] 11:00:49.008 [debug] QUERY OK source="settings" db=0.4ms 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 [] 11:00:49.009 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 11:00:49.010 [debug] Running yt-dlp command for action: get_downloadable_status 11:00:49.011 [debug] QUERY OK source="settings" db=0.4ms 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 [] 11:00:49.012 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=6.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 [] 11:00:49.013 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 11:00:49.013 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IUiABKNurgw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/56/40/56408e38c875f174b7eccbae053461b55b68fbf59756e7db43382caeb57b81fa.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:00:57.327 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IUiABKNurgw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/56/40/56408e38c875f174b7eccbae053461b55b68fbf59756e7db43382caeb57b81fa.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:00:57.328 [debug] Running yt-dlp command for action: download 11:00:57.328 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=734.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 [] 11:00:57.329 [debug] QUERY OK source="settings" db=0.4ms idle=572.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 [] 11:00:57.330 [debug] QUERY OK source="settings" db=0.2ms idle=572.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 [] 11:00:57.330 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IUiABKNurgw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/81/a6/81a65d0d4e05457c7153dd7fff5de688e7052f3b4e47332e00c01c0197a0a01b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:01:00.695 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:01:03.207 [info] {"source":"oban","duration":2834,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:33.212 [info] {"source":"oban","duration":3703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:40.126 [info] GET / 11:01:40.127 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:01:40.128 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=1367.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 [] 11:01:40.129 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=1368.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:01:40.130 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1369.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:01:40.191 [debug] QUERY OK source="media_items" db=60.6ms queue=0.1ms idle=1365.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:01:40.200 [debug] QUERY OK source="media_items" db=8.5ms queue=0.2ms idle=422.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:01:40.202 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=72.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 [] 11:01:40.204 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=73.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 [] 11:01:40.206 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=74.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 [] 11:01:40.217 [debug] QUERY OK source="media_items" db=9.1ms idle=17.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 (NOT (m0."media_filepath" IS NULL)) [] 11:01:40.220 [debug] QUERY OK source="media_items" db=2.0ms queue=0.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:01:40.223 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=19.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" IN (?,?)) [6, 2] 11:01:40.313 [debug] QUERY OK source="media_items" db=83.2ms queue=0.1ms idle=25.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 (((((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"))) [] 11:01:40.383 [debug] QUERY OK source="media_items" db=69.3ms queue=0.1ms idle=107.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:01:40.384 [debug] QUERY OK source="sources" db=0.3ms idle=166.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] 11:01:40.387 [debug] QUERY OK source="tasks" db=0.5ms idle=166.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:01:40.388 [debug] QUERY OK source="media_items" db=0.4ms idle=164.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3399, 3402] 11:01:40.389 [info] Sent 200 in 262ms 11:01:43.802 [info] {"args":{"id":5},"id":1609,"meta":{},"system_time":1774656103802386251,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:01:43.804 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=42.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" = ?) [5] 11:01:43.806 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=44.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 [] 11:01:43.818 [debug] QUERY OK source="media_profiles" db=12.2ms idle=46.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] 11:01:43.829 [debug] QUERY OK source="settings" db=10.1ms idle=31.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 [] 11:01:43.830 [debug] Fetching recent media IDs from YouTube API for playlist: UUVwfqPkv08OTuHzkPU3EaDw 11:01:43.830 [debug] QUERY OK source="settings" db=0.5ms idle=27.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 [] 11:01:43.831 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:01:44.420 [debug] QUERY OK source="media_items" db=1.6ms idle=614.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [5, "k8Yr1jU-0EE", "NFrnhg8hI0c", "20XMhcpSNV0", "YVGFnwJho6E", "xQXiSGDXknA", "uZl0TO8i96g", "Hs5ewNKWUwk", "E5suxhHY0aY", "sCou7ut2L-o", "a0INtLdzUiE", "n0x8sH0M9CE", "W4Af6DIMqnE", "Q-sUbLem5aI", "s-jMj11w68U", "DS9HZG5JRBc", "_wLy-vzLi3E", "iFpZfYwRcns", "nPovqKKSKcE", "j_w4tRYm7Og", "laZpTO7IFtA", "FM5e9Vb1noE", "cK6g53lLgnw", "1X5WYEhzGyI", "QVpu66njzdE", "tfnANe2YUwM", "0-QK6hxLxgM", "TYUeXqSlcDg", "0322Pk-GKto", "1Em1UrRSEXc", "x2RT9Awsyi8", "4Yth52yml8E", "ky9Zo2FmjQ8", "npU2QpX5piA", "XEb_1Sq8jNo", "L3QQDAKxUIk", "l3s8S6bBbOs", "WyWBU1NpDf8", "7wZ0NVuoDWg", "-Ig2-rBZtSI", "5BG06-J1t4Y", "GcQ6vQEeQew", "ap8S88LeiB0", "4LvXP3XR6gw", "I9o65_aIq0Q", "Ut9XjFkGK6s", "PcFkjR5NELA", "Yl67318oP-s", "umbar5BKBus", "FEfCtNhVjJ0", ...] 11:01:44.424 [debug] QUERY OK source="media_items" db=1.8ms idle=616.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 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")))) [5] 11:01:44.677 [debug] QUERY OK source="tasks" db=0.4ms idle=7.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1615, 5, ~U[2026-03-28 00:01:44Z], ~U[2026-03-28 00:01:44Z]] 11:01:44.678 [info] {"args":{"id":5},"id":1609,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":875430,"event":"job:stop","queue_time":487517,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:01:55.834 [info] {"args":{"id":6},"id":1610,"meta":{},"system_time":1774656115834541280,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:01:55.835 [debug] QUERY OK source="sources" db=0.4ms idle=74.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] 11:01:55.836 [debug] QUERY OK source="settings" db=0.3ms idle=75.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 [] 11:01:55.836 [debug] QUERY OK source="media_profiles" db=0.2ms idle=76.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] 11:01:55.837 [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 [] 11:01:55.837 [debug] Fetching recent media IDs from YouTube API for playlist: UUOzMAa6IhV6uwYQATYG_2kg 11:01:55.838 [debug] QUERY OK source="settings" db=0.1ms queue=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 [] 11:01:55.838 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:01:56.432 [debug] QUERY OK source="media_items" db=1.5ms idle=595.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6, "dnia-38h1GA", "iZaN9NRWc28", "CJrLdBStrzc", "u-eoT-Foth8", "XHineC0YKjs", "VdlejwGkNoI", "ikIigkz2pMg", "qUdPPQ9-9Tg", "k9fuSOPjSXM", "hb-oXWK9r7k", "hDfrtCQmNOo", "zRIUM4OhyWU", "W7c0iVM4P2I", "KCFDp_kxT_4", "aZhuGRngq-g", "BgWbezF2M28", "ZJfHw71KKsk", "MisOg5bX0a4", "2UampQ_86ek", "7-iImzOel-s", "O8E47Ib_RoU", "RcVBMZd2_u8", "b-DHev8Uc6I", "0apH8xkS6PE", "I8m3hyPVsxA", "urqkKHRaT-8", "shyrhINSaPk", "Ze3bKcLbPWg", "ydk9KfgHUPo", "sFlgR1oiUXk", "jCieQsNXdBM", "Nz4uVkNMKdI", "tyX3PvjLSC8", "VeDDo4HhNVo", "2RmXPeBn3x0", "1sA4iEo0x1o", "KqAYebG_Bs0", "FelCut8wQ3o", "wY5Xb_t79SM", "-YqD-IWgaz8", "BdV0pSziReE", "u5VKDy7Dgj8", "hn89XxHJLQ0", "wE60s-NuU6c", "LBwtYK3W-vw", "FGpCwqNklsw", "79hW_qeneEY", "aNpJxLXZATY", "9JhGit6JRw0", ...] 11:01:56.433 [debug] QUERY OK source="settings" db=0.2ms idle=597.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 [] 11:01:56.434 [debug] QUERY OK source="settings" db=0.1ms idle=597.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 [] 11:01:56.434 [debug] Running yt-dlp command for action: get_media_attributes 11:01:56.436 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms 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 [] 11:01:56.437 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 11:01:56.438 [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 [] 11:01:56.438 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/82/be/82be5d43713b4ec386da4d0c05342c8e28fbc64b5b62796f0dc6060543707e20.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:02:00.696 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:02:03.217 [info] {"source":"oban","duration":3390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:07.787 [info] GET /sources/8/media/8461/force_download 11:02:07.789 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1028.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 [] 11:02:07.790 [debug] QUERY OK source="settings" db=0.3ms idle=905.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 [] 11:02:07.790 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:02:07.790 [error] #PID<0.27174.0> running PinchflatWeb.Endpoint (connection #PID<0.27173.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /sources/8/media/8461/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/8/media/8461/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27173.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/8461/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50954}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "47.128.19.191", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27174.0>, params: %{}, path_info: ["sources", "8", "media", "8461", "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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"host", "pinchflat.suranyami.com"}, {"priority", "u=0, i"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "47.128.19.191"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/8/media/8461/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDYWH9CjjrxTXYAF7qB"} ], 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.27173.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/8461/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50954}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "47.128.19.191", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/8/media/8461/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27173.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/8461/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50954}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Byt (truncated) 11:02:13.881 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=bh2bpL7i9zs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1a/ec/1aec73ca099fb3fc47f0c2f677eae8c0967084c6a23ee72ab75356917987563d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (1/3)... WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (2/3)... WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (3/3)... WARNING: [youtube] Unable to download webpage: [Errno -3] Temporary failure in name resolution (caused by TransportError('[Errno -3] Temporary failure in name resolution')). Giving up after 3 retries WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (1/3)... WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 11:02:13.949 [debug] Running yt-dlp command for action: download_thumbnail 11:02:13.950 [debug] QUERY OK source="settings" db=0.3ms idle=190.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 [] 11:02:13.951 [debug] QUERY OK source="settings" db=0.1ms idle=190.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 [] 11:02:13.951 [debug] QUERY OK source="settings" db=0.1ms idle=191.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 [] 11:02:13.952 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=bh2bpL7i9zs --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3399/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/72/a1/72a1d78a183218e48b9b5ba27df4a6ff8592c6652d8faf80b3a05bd702b38cdd.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:02:23.941 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/82/be/82be5d43713b4ec386da4d0c05342c8e28fbc64b5b62796f0dc6060543707e20.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (1/3)... WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (2/3)... WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (3/3)... ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days. 11:02:23.941 [error] Error creating media item 'u-eoT-Foth8' from URL: {:error, "WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (1/3)...\nWARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (2/3)...\nWARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (3/3)...\nERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days.\n", 1} 11:02:23.985 [debug] QUERY OK source="media_items" db=42.9ms queue=0.1ms idle=999.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 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] 11:02:24.249 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=10.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1616, 6, ~U[2026-03-28 00:02:24Z], ~U[2026-03-28 00:02:24Z]] 11:02:24.250 [info] {"args":{"id":6},"id":1610,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":28415065,"event":"job:stop","queue_time":561272,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:02:33.088 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=bh2bpL7i9zs --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3399/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/72/a1/72a1d78a183218e48b9b5ba27df4a6ff8592c6652d8faf80b3a05bd702b38cdd.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:02:33.089 [debug] QUERY OK db=0.3ms queue=0.1ms idle=1328.8ms begin [] 11:02:33.091 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [454, ~U[2026-03-28 00:02:13Z], "/downloads/shows/Kevin Kos/Season 2024/s2024e030199 - Cheese Liqueur with Chocolate and Bubbles. Does it Work?!.mp4", "/downloads/shows/Kevin Kos/Season 2024/s2024e030199 - Cheese Liqueur with Chocolate and Bubbles. Does it Work?!.info.json", "/downloads/shows/Kevin Kos/Season 2024/s2024e030199 - Cheese Liqueur with Chocolate and Bubbles. Does it Work?!.nfo", "/downloads/shows/Kevin Kos/Season 2024/s2024e030199 - Cheese Liqueur with Chocolate and Bubbles. Does it Work?!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2024/s2024e030199 - Cheese Liqueur with Chocolate and Bubbles. Does it Work?!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2024/s2024e030199 - Cheese Liqueur with Chocolate and Bubbles. Does it Work?!-thumb.jpg", ~U[2026-03-28 00:02:33Z], 3399] 11:02:33.093 [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/3399/metadata.json.gz", "/config/metadata/media_items/3399/thumbnail.jpg", 3399, ~U[2026-03-28 00:02:33Z], ~U[2026-03-28 00:02:33Z]] 11:02:33.094 [debug] QUERY OK db=0.3ms commit [] 11:02:33.116 [debug] QUERY OK source="media_items" db=6.3ms idle=1349.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [91029684, ~U[2026-03-28 00:02:33Z], 3399] 11:02:33.116 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:02:33.117 [info] {"args":{"id":3399},"id":569,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":419154759,"event":"job:stop","queue_time":71425936824,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:02:33.125 [info] {"args":{"id":3405},"id":571,"meta":{},"system_time":1774656153125325296,"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"]} 11:02:33.126 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=127.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" = ?) [3405] 11:02:33.126 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:02:33.127 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=32.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" = ?) [4] 11:02:33.128 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=11.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] 11:02:33.129 [debug] QUERY OK source="media_items" db=0.4ms idle=11.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 [3405] 11:02:33.130 [debug] QUERY OK source="media_metadata" db=0.1ms idle=5.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" = ?) [3405] 11:02:33.131 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.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] 11:02:33.132 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:02:33.132 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 11:02:33.133 [debug] Running yt-dlp command for action: get_downloadable_status 11:02:33.135 [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 [] 11:02:33.135 [debug] QUERY OK source="settings" db=0.2ms queue=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 [] 11:02:33.136 [debug] QUERY OK source="settings" db=0.2ms queue=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 [] 11:02:33.136 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CTP9MoNbuCk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b6/2c/b62cb96d8d9a9f792c84d702537269da4f6a6423cda63c114261df9790c33cc3.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:02:33.220 [info] {"source":"oban","duration":2930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:38.027 [info] {"args":{"id":1},"id":1611,"meta":{},"system_time":1774656158027519980,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:02:38.029 [debug] QUERY OK source="sources" db=0.8ms idle=1267.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" = ?) [1] 11:02:38.029 [debug] QUERY OK source="settings" db=0.3ms idle=1269.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 [] 11:02:38.030 [debug] QUERY OK source="media_profiles" db=0.6ms idle=1015.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] 11:02:38.031 [debug] QUERY OK source="settings" db=0.5ms 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 [] 11:02:38.032 [debug] Fetching recent media IDs from YouTube API for playlist: UUISrVZmDM4x-Rq9mmNUw7Zw 11:02:38.032 [debug] QUERY OK source="settings" db=0.4ms 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 [] 11:02:38.033 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:02:38.704 [debug] QUERY OK source="media_items" db=3.9ms idle=671.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 m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "Q0qmHym16H4", "WcWL0_PlcO8", "dQV1WkSly7k", "Xpohopi2_tA", "fsZdCn4jIUY", "hgk2jMPnG2w", "oDh4gg7xiUs", "3LfUmSMW_qc", "5gN9QvwPLq8", "uSBe19ms3aw", "Eq1BmJikpHA", "OsKelxcQUNo", "zNP6Q_Yk9hU", "ZPPCc15thCc", "UzARiS2CyJ4", "r8X8HVGVV1o", "_JI7oYBFZIo", "niCh-EI1Kfo", "92mSBlpBEJo", "_6OAB_8iwqs", "tJbcC43WELc", "cPz1rUCNI0o", "hFzt_dOdElw", "nC-QKeluT0c", "i8ARsrsVUMM", "X30l-491qck", "rzQeUM-lMUY", "BkUHm95UvCw", "MQ2cHq3-J7A", "CtF5dLHITYA", "SGJkxRdkRGg", "OUCt85aJaAA", "9gARPYZOka4", "-uH-Gi5tjEw", "qwUBBQKYX94", "s8VLDSQJ8nA", "EvPfr0lKkh4", "msXzAxF49gA", "hQCWaSvjkU0", "RcmjVsy3a-g", "xtuNc9vYJG4", "fj2tcg8OzsM", "2FZ4IfPACDM", "2Q9DzW20YJ8", "IVsWFGOE_mw", "vPxpMcv2Z4Y", "Zverj_ldlhY", "pQK8xasPd9Q", "_Yo7nh8u9pk", ...] 11:02:38.708 [debug] QUERY OK source="media_items" db=2.3ms idle=676.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 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] 11:02:38.796 [debug] QUERY OK source="tasks" db=0.7ms idle=24.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1617, 1, ~U[2026-03-28 00:02:38Z], ~U[2026-03-28 00:02:38Z]] 11:02:38.797 [info] {"args":{"id":1},"id":1611,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":769504,"event":"job:stop","queue_time":435420,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:02:41.079 [info] GET / 11:02:41.079 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:02:41.080 [debug] QUERY OK source="settings" db=0.5ms idle=319.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 [] 11:02:41.081 [debug] QUERY OK source="media_profiles" db=0.3ms idle=320.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:02:41.081 [debug] QUERY OK source="sources" db=0.2ms idle=320.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:02:41.134 [debug] QUERY OK source="media_items" db=53.1ms idle=321.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:02:41.138 [debug] QUERY OK source="media_items" db=3.2ms idle=105.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:02:41.139 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=58.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 [] 11:02:41.139 [debug] QUERY OK source="settings" db=0.1ms idle=58.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 [] 11:02:41.140 [debug] QUERY OK source="settings" db=0.1ms idle=59.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 [] 11:02:41.146 [debug] QUERY OK source="media_items" db=3.3ms idle=7.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 (NOT (m0."media_filepath" IS NULL)) [] 11:02:41.147 [debug] QUERY OK source="media_items" db=0.8ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:02:41.148 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms 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" IN (?,?)) [6, 2] 11:02:41.216 [debug] QUERY OK source="media_items" db=61.4ms queue=0.1ms idle=15.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 (((((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"))) [] 11:02:41.296 [debug] QUERY OK source="media_items" db=78.6ms queue=0.2ms idle=76.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:02:41.298 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms idle=151.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] 11:02:41.307 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=158.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:02:41.308 [debug] QUERY OK source="media_items" db=0.3ms idle=159.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3402, 3405] 11:02:41.311 [info] Sent 200 in 232ms 11:02:43.756 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CTP9MoNbuCk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b6/2c/b62cb96d8d9a9f792c84d702537269da4f6a6423cda63c114261df9790c33cc3.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:02:43.756 [debug] Running yt-dlp command for action: download 11:02:43.757 [debug] QUERY OK source="settings" db=0.4ms idle=996.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 [] 11:02:43.758 [debug] QUERY OK source="settings" db=0.2ms idle=997.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 [] 11:02:43.758 [debug] QUERY OK source="settings" db=0.1ms idle=997.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 [] 11:02:43.759 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CTP9MoNbuCk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7b/87/7b8772b66da6cac3ee20abc245e99804016ac64ba378148fab1d74c2dc8ec689.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:03:00.699 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:03:03.224 [info] {"source":"oban","duration":2659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:33.230 [info] {"source":"oban","duration":4109,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:42.297 [info] GET / 11:03:42.297 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:03:42.298 [debug] QUERY OK source="settings" db=0.4ms idle=1537.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 [] 11:03:42.299 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1538.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:03:42.299 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1539.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:03:42.374 [debug] QUERY OK source="media_items" db=74.4ms idle=1021.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:03:42.380 [debug] QUERY OK source="media_items" db=4.6ms queue=0.1ms idle=93.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:03:42.380 [debug] QUERY OK source="settings" db=0.2ms idle=82.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 [] 11:03:42.381 [debug] QUERY OK source="settings" db=0.1ms idle=81.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 [] 11:03:42.382 [debug] QUERY OK source="settings" db=0.2ms idle=81.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 [] 11:03:42.384 [debug] QUERY OK source="media_items" db=1.5ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 11:03:42.385 [debug] QUERY OK source="media_items" db=0.5ms idle=4.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:03:42.386 [debug] QUERY OK source="sources" db=0.3ms idle=4.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" IN (?,?)) [6, 2] 11:03:42.418 [debug] QUERY OK source="media_items" db=29.7ms idle=7.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 (((((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"))) [] 11:03:42.468 [debug] QUERY OK source="media_items" db=49.1ms queue=0.1ms idle=36.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:03:42.470 [debug] QUERY OK source="sources" db=0.4ms idle=85.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] 11:03:42.475 [debug] QUERY OK source="tasks" db=0.6ms idle=89.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:03:42.476 [debug] QUERY OK source="media_items" db=0.4ms idle=89.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3402, 3405] 11:03:42.480 [info] Sent 200 in 182ms 11:04:00.700 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:04:03.236 [info] {"source":"oban","duration":4868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:33.241 [info] {"source":"oban","duration":2698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:43.177 [info] GET / 11:04:43.177 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:04:43.179 [debug] QUERY OK source="settings" db=0.8ms idle=1418.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 [] 11:04:43.180 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1419.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:04:43.180 [debug] QUERY OK source="sources" db=0.2ms idle=662.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:04:43.209 [debug] QUERY OK source="media_items" db=28.1ms idle=421.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:04:43.212 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=449.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:04:43.214 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=34.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 [] 11:04:43.214 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=34.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 [] 11:04:43.215 [debug] QUERY OK source="settings" db=0.1ms idle=34.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 [] 11:04:43.224 [debug] QUERY OK source="media_items" db=6.3ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 11:04:43.226 [debug] QUERY OK source="media_items" db=1.1ms queue=0.2ms idle=12.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:04:43.228 [debug] QUERY OK source="sources" db=0.3ms idle=13.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" IN (?,?)) [6, 2] 11:04:43.314 [debug] QUERY OK source="media_items" db=79.3ms queue=0.1ms idle=20.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 (((((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"))) [] 11:04:43.329 [debug] QUERY OK source="media_items" db=14.5ms idle=98.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:04:43.331 [debug] QUERY OK source="sources" db=0.7ms idle=105.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] 11:04:43.336 [debug] QUERY OK source="tasks" db=0.6ms idle=109.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:04:43.337 [debug] QUERY OK source="media_items" db=0.3ms idle=109.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3402, 3405] 11:04:43.340 [info] Sent 200 in 162ms 11:04:49.048 [info] GET /.well-known/acme-challenge/LUP6kGkdi9fPREM3D1XJssxfhtrF72zrKedh0CTh86U 11:04:49.049 [debug] QUERY OK source="settings" db=0.3ms idle=512.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 [] 11:04:49.050 [debug] QUERY OK source="settings" db=0.2ms idle=289.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 [] 11:04:49.050 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:04:49.050 [error] #PID<0.27205.0> running PinchflatWeb.Endpoint (connection #PID<0.27204.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/LUP6kGkdi9fPREM3D1XJssxfhtrF72zrKedh0CTh86U ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/LUP6kGkdi9fPREM3D1XJssxfhtrF72zrKedh0CTh86U (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27204.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/LUP6kGkdi9fPREM3D1XJssxfhtrF72zrKedh0CTh86U", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 54676}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/LUP6kGkdi9fPREM3D1XJssxfhtrF72zrKedh0CTh86U", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27205.0>, params: %{}, path_info: [".well-known", "acme-challenge", "LUP6kGkdi9fPREM3D1XJssxfhtrF72zrKedh0CTh86U"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/LUP6kGkdi9fPREM3D1XJssxfhtrF72zrKedh0CTh86U"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/LUP6kGkdi9fPREM3D1XJssxfhtrF72zrKedh0CTh86U", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDYfgsm9WQUsf0AFLzi"} ], 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.27204.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/LUP6kGkdi9fPREM3D1XJssxfhtrF72zrKedh0CTh86U", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 54676}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/LUP6kGkdi9fPREM3D1XJssxfhtrF72zrKedh0CTh86U", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/LUP6kGkdi9fPREM3D1XJssxfhtrF72zrKedh0CTh86U (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27204.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/LUP6kGkdi9fPREM3D1XJssxfhtrF72zrKedh0CTh86U", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 54676}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/LUP6kGkdi9fPREM3D1XJssxfhtrF72zrKedh0CTh86U", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27205.0>, params: %{}, path_info: [".well-known", "acme-challenge", "LUP6kGkdi9fPREM3D1XJssxfhtrF72zrKedh0CTh86U"], 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://pinchfla (truncated) 11:04:51.682 [info] GET /.well-known/acme-challenge/sbyHoEOB4gEkenjA4lg4tjRpCfrinx0LgXihGhNwt_k 11:04:51.684 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=923.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 [] 11:04:51.684 [debug] QUERY OK source="settings" db=0.2ms idle=924.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 [] 11:04:51.684 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:04:51.685 [error] #PID<0.27206.0> running PinchflatWeb.Endpoint (connection #PID<0.27204.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/sbyHoEOB4gEkenjA4lg4tjRpCfrinx0LgXihGhNwt_k ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/sbyHoEOB4gEkenjA4lg4tjRpCfrinx0LgXihGhNwt_k (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27204.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/sbyHoEOB4gEkenjA4lg4tjRpCfrinx0LgXihGhNwt_k", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 54676}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/sbyHoEOB4gEkenjA4lg4tjRpCfrinx0LgXihGhNwt_k", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27206.0>, params: %{}, path_info: [".well-known", "acme-challenge", "sbyHoEOB4gEkenjA4lg4tjRpCfrinx0LgXihGhNwt_k"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/sbyHoEOB4gEkenjA4lg4tjRpCfrinx0LgXihGhNwt_k"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/sbyHoEOB4gEkenjA4lg4tjRpCfrinx0LgXihGhNwt_k", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDYfqggyoqiYLYAF8ZB"} ], 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.27204.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/sbyHoEOB4gEkenjA4lg4tjRpCfrinx0LgXihGhNwt_k", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 54676}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/sbyHoEOB4gEkenjA4lg4tjRpCfrinx0LgXihGhNwt_k", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/sbyHoEOB4gEkenjA4lg4tjRpCfrinx0LgXihGhNwt_k (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27204.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/sbyHoEOB4gEkenjA4lg4tjRpCfrinx0LgXihGhNwt_k", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 54676}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/sbyHoEOB4gEkenjA4lg4tjRpCfrinx0LgXihGhNwt_k", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27206.0>, params: %{}, path_info: [".well-known", "acme-challenge", "sbyHoEOB4gEkenjA4lg4tjRpCfrinx0LgXihGhNwt_k"], 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://pinchfla (truncated) 11:04:52.637 [info] GET /.well-known/acme-challenge/Syz9NlOD--gEflZueL4oRonWGOcyIEAsTWytu7aYOY8 11:04:52.639 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1878.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 [] 11:04:52.640 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1094.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 [] 11:04:52.640 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:04:52.641 [error] #PID<0.27208.0> running PinchflatWeb.Endpoint (connection #PID<0.27207.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/Syz9NlOD--gEflZueL4oRonWGOcyIEAsTWytu7aYOY8 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Syz9NlOD--gEflZueL4oRonWGOcyIEAsTWytu7aYOY8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27207.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Syz9NlOD--gEflZueL4oRonWGOcyIEAsTWytu7aYOY8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54682}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Syz9NlOD--gEflZueL4oRonWGOcyIEAsTWytu7aYOY8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27208.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Syz9NlOD--gEflZueL4oRonWGOcyIEAsTWytu7aYOY8"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/Syz9NlOD--gEflZueL4oRonWGOcyIEAsTWytu7aYOY8"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/Syz9NlOD--gEflZueL4oRonWGOcyIEAsTWytu7aYOY8", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDYfuENjo7AK8gAF8Zh"} ], 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.27207.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Syz9NlOD--gEflZueL4oRonWGOcyIEAsTWytu7aYOY8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54682}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Syz9NlOD--gEflZueL4oRonWGOcyIEAsTWytu7aYOY8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Syz9NlOD--gEflZueL4oRonWGOcyIEAsTWytu7aYOY8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27207.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Syz9NlOD--gEflZueL4oRonWGOcyIEAsTWytu7aYOY8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54682}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Syz9NlOD--gEflZueL4oRonWGOcyIEAsTWytu7aYOY8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27208.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Syz9NlOD--gEflZueL4oRonWGOcyIEAsTWytu7aYOY8"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:04:53.508 [info] GET /.well-known/acme-challenge/r9rFSX8JB7_e9Gnd1r3z19V60SRESHWwV4ggQLn2sEQ 11:04:53.509 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=960.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 [] 11:04:53.510 [debug] QUERY OK source="settings" db=0.3ms idle=870.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 [] 11:04:53.511 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:04:53.512 [error] #PID<0.27209.0> running PinchflatWeb.Endpoint (connection #PID<0.27207.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/r9rFSX8JB7_e9Gnd1r3z19V60SRESHWwV4ggQLn2sEQ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/r9rFSX8JB7_e9Gnd1r3z19V60SRESHWwV4ggQLn2sEQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27207.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/r9rFSX8JB7_e9Gnd1r3z19V60SRESHWwV4ggQLn2sEQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54682}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/r9rFSX8JB7_e9Gnd1r3z19V60SRESHWwV4ggQLn2sEQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27209.0>, params: %{}, path_info: [".well-known", "acme-challenge", "r9rFSX8JB7_e9Gnd1r3z19V60SRESHWwV4ggQLn2sEQ"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/r9rFSX8JB7_e9Gnd1r3z19V60SRESHWwV4ggQLn2sEQ"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/r9rFSX8JB7_e9Gnd1r3z19V60SRESHWwV4ggQLn2sEQ", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDYfxT4B7ar8dYAF8aB"} ], 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.27207.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/r9rFSX8JB7_e9Gnd1r3z19V60SRESHWwV4ggQLn2sEQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54682}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/r9rFSX8JB7_e9Gnd1r3z19V60SRESHWwV4ggQLn2sEQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/r9rFSX8JB7_e9Gnd1r3z19V60SRESHWwV4ggQLn2sEQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27207.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/r9rFSX8JB7_e9Gnd1r3z19V60SRESHWwV4ggQLn2sEQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54682}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/r9rFSX8JB7_e9Gnd1r3z19V60SRESHWwV4ggQLn2sEQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27209.0>, params: %{}, path_info: [".well-known", "acme-challenge", "r9rFSX8JB7_e9Gnd1r3z19V60SRESHWwV4ggQLn2sEQ"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:04:58.655 [info] GET /.well-known/acme-challenge/ngegzQ6XedJAxrbtXZ2JC9fx5Q31iEpirFUeU2Xc9z8 11:04:58.657 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1896.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 [] 11:04:58.658 [debug] QUERY OK source="settings" db=0.2ms idle=1897.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 [] 11:04:58.658 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:04:58.658 [error] #PID<0.27211.0> running PinchflatWeb.Endpoint (connection #PID<0.27210.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/ngegzQ6XedJAxrbtXZ2JC9fx5Q31iEpirFUeU2Xc9z8 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ngegzQ6XedJAxrbtXZ2JC9fx5Q31iEpirFUeU2Xc9z8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27210.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ngegzQ6XedJAxrbtXZ2JC9fx5Q31iEpirFUeU2Xc9z8", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52942}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ngegzQ6XedJAxrbtXZ2JC9fx5Q31iEpirFUeU2Xc9z8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27211.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ngegzQ6XedJAxrbtXZ2JC9fx5Q31iEpirFUeU2Xc9z8"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ngegzQ6XedJAxrbtXZ2JC9fx5Q31iEpirFUeU2Xc9z8"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/ngegzQ6XedJAxrbtXZ2JC9fx5Q31iEpirFUeU2Xc9z8", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDYgEfGC5fx8LQAFL0C"} ], 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.27210.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ngegzQ6XedJAxrbtXZ2JC9fx5Q31iEpirFUeU2Xc9z8", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52942}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ngegzQ6XedJAxrbtXZ2JC9fx5Q31iEpirFUeU2Xc9z8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ngegzQ6XedJAxrbtXZ2JC9fx5Q31iEpirFUeU2Xc9z8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27210.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ngegzQ6XedJAxrbtXZ2JC9fx5Q31iEpirFUeU2Xc9z8", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52942}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ngegzQ6XedJAxrbtXZ2JC9fx5Q31iEpirFUeU2Xc9z8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27211.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ngegzQ6XedJAxrbtXZ2JC9fx5Q31iEpirFUeU2Xc9z8"], 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://pinchfla (truncated) 11:05:00.702 [info] {"source":"oban","duration":1196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:05:02.521 [info] GET /.well-known/acme-challenge/fa70Wl2VIbqOIOFrT6b-DqoxnMtVTr9fRixPQYPvhmM 11:05:02.523 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1762.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 [] 11:05:02.525 [debug] QUERY OK source="settings" db=0.2ms idle=940.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 [] 11:05:02.525 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:05:02.526 [error] #PID<0.27212.0> running PinchflatWeb.Endpoint (connection #PID<0.27210.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/fa70Wl2VIbqOIOFrT6b-DqoxnMtVTr9fRixPQYPvhmM ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/fa70Wl2VIbqOIOFrT6b-DqoxnMtVTr9fRixPQYPvhmM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27210.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/fa70Wl2VIbqOIOFrT6b-DqoxnMtVTr9fRixPQYPvhmM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52942}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/fa70Wl2VIbqOIOFrT6b-DqoxnMtVTr9fRixPQYPvhmM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27212.0>, params: %{}, path_info: [".well-known", "acme-challenge", "fa70Wl2VIbqOIOFrT6b-DqoxnMtVTr9fRixPQYPvhmM"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/fa70Wl2VIbqOIOFrT6b-DqoxnMtVTr9fRixPQYPvhmM"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/fa70Wl2VIbqOIOFrT6b-DqoxnMtVTr9fRixPQYPvhmM", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDYgS4waG5Gab8AF8ah"} ], 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.27210.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/fa70Wl2VIbqOIOFrT6b-DqoxnMtVTr9fRixPQYPvhmM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52942}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/fa70Wl2VIbqOIOFrT6b-DqoxnMtVTr9fRixPQYPvhmM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/fa70Wl2VIbqOIOFrT6b-DqoxnMtVTr9fRixPQYPvhmM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27210.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/fa70Wl2VIbqOIOFrT6b-DqoxnMtVTr9fRixPQYPvhmM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52942}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/fa70Wl2VIbqOIOFrT6b-DqoxnMtVTr9fRixPQYPvhmM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27212.0>, params: %{}, path_info: [".well-known", "acme-challenge", "fa70Wl2VIbqOIOFrT6b-DqoxnMtVTr9fRixPQYPvhmM"], 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://pinchfla (truncated) 11:05:03.245 [info] {"source":"oban","duration":2488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:06.254 [info] GET /.well-known/acme-challenge/6dr5ZIjCe_P2hgfFGiENBXmyJDpPtrAayTdLlf5YIM0 11:05:06.256 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1495.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 [] 11:05:06.256 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=659.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 [] 11:05:06.257 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:05:06.258 [error] #PID<0.27213.0> running PinchflatWeb.Endpoint (connection #PID<0.27210.0>, stream id 3) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/6dr5ZIjCe_P2hgfFGiENBXmyJDpPtrAayTdLlf5YIM0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/6dr5ZIjCe_P2hgfFGiENBXmyJDpPtrAayTdLlf5YIM0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27210.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6dr5ZIjCe_P2hgfFGiENBXmyJDpPtrAayTdLlf5YIM0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52942}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/6dr5ZIjCe_P2hgfFGiENBXmyJDpPtrAayTdLlf5YIM0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27213.0>, params: %{}, path_info: [".well-known", "acme-challenge", "6dr5ZIjCe_P2hgfFGiENBXmyJDpPtrAayTdLlf5YIM0"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/6dr5ZIjCe_P2hgfFGiENBXmyJDpPtrAayTdLlf5YIM0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/6dr5ZIjCe_P2hgfFGiENBXmyJDpPtrAayTdLlf5YIM0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDYggy33qCFRhgAF8bB"} ], 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.27210.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6dr5ZIjCe_P2hgfFGiENBXmyJDpPtrAayTdLlf5YIM0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52942}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/6dr5ZIjCe_P2hgfFGiENBXmyJDpPtrAayTdLlf5YIM0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/6dr5ZIjCe_P2hgfFGiENBXmyJDpPtrAayTdLlf5YIM0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27210.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6dr5ZIjCe_P2hgfFGiENBXmyJDpPtrAayTdLlf5YIM0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52942}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/6dr5ZIjCe_P2hgfFGiENBXmyJDpPtrAayTdLlf5YIM0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27213.0>, params: %{}, path_info: [".well-known", "acme-challenge", "6dr5ZIjCe_P2hgfFGiENBXmyJDpPtrAayTdLlf5YIM0"], 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://pinchfla (truncated) 11:05:18.024 [info] GET /.well-known/acme-challenge/I0PrSAYiYJxVZWHF7DWVclvfhib4Rj_c5x1wVLAXyD0 11:05:18.026 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1265.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 [] 11:05:18.026 [debug] QUERY OK source="settings" db=0.4ms idle=387.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 [] 11:05:18.026 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:05:18.027 [error] #PID<0.27217.0> running PinchflatWeb.Endpoint (connection #PID<0.27216.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/I0PrSAYiYJxVZWHF7DWVclvfhib4Rj_c5x1wVLAXyD0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/I0PrSAYiYJxVZWHF7DWVclvfhib4Rj_c5x1wVLAXyD0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27216.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/I0PrSAYiYJxVZWHF7DWVclvfhib4Rj_c5x1wVLAXyD0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50824}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/I0PrSAYiYJxVZWHF7DWVclvfhib4Rj_c5x1wVLAXyD0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27217.0>, params: %{}, path_info: [".well-known", "acme-challenge", "I0PrSAYiYJxVZWHF7DWVclvfhib4Rj_c5x1wVLAXyD0"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/I0PrSAYiYJxVZWHF7DWVclvfhib4Rj_c5x1wVLAXyD0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/I0PrSAYiYJxVZWHF7DWVclvfhib4Rj_c5x1wVLAXyD0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDYhMpFS-w5LdoAF8bh"} ], 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.27216.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/I0PrSAYiYJxVZWHF7DWVclvfhib4Rj_c5x1wVLAXyD0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50824}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/I0PrSAYiYJxVZWHF7DWVclvfhib4Rj_c5x1wVLAXyD0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/I0PrSAYiYJxVZWHF7DWVclvfhib4Rj_c5x1wVLAXyD0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27216.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/I0PrSAYiYJxVZWHF7DWVclvfhib4Rj_c5x1wVLAXyD0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50824}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/I0PrSAYiYJxVZWHF7DWVclvfhib4Rj_c5x1wVLAXyD0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27217.0>, params: %{}, path_info: [".well-known", "acme-challenge", "I0PrSAYiYJxVZWHF7DWVclvfhib4Rj_c5x1wVLAXyD0"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:05:27.816 [info] GET /.well-known/acme-challenge/ArcDQZSe6BAldCKfDJVl-idDvSniheo2gm826y1K7B8 11:05:27.819 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=147.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 [] 11:05:27.824 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=62.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 [] 11:05:27.824 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:05:27.826 [error] #PID<0.27219.0> running PinchflatWeb.Endpoint (connection #PID<0.27218.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/ArcDQZSe6BAldCKfDJVl-idDvSniheo2gm826y1K7B8 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ArcDQZSe6BAldCKfDJVl-idDvSniheo2gm826y1K7B8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27218.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ArcDQZSe6BAldCKfDJVl-idDvSniheo2gm826y1K7B8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 39160}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/ArcDQZSe6BAldCKfDJVl-idDvSniheo2gm826y1K7B8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27219.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ArcDQZSe6BAldCKfDJVl-idDvSniheo2gm826y1K7B8"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/ArcDQZSe6BAldCKfDJVl-idDvSniheo2gm826y1K7B8"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/ArcDQZSe6BAldCKfDJVl-idDvSniheo2gm826y1K7B8", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDYhxHqBqvDvGIAFL1C"} ], 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.27218.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ArcDQZSe6BAldCKfDJVl-idDvSniheo2gm826y1K7B8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 39160}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/ArcDQZSe6BAldCKfDJVl-idDvSniheo2gm826y1K7B8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ArcDQZSe6BAldCKfDJVl-idDvSniheo2gm826y1K7B8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27218.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ArcDQZSe6BAldCKfDJVl-idDvSniheo2gm826y1K7B8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 39160}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/ArcDQZSe6BAldCKfDJVl-idDvSniheo2gm826y1K7B8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27219.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ArcDQZSe6BAldCKfDJVl-idDvSniheo2gm826y1K7B8"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:05:33.254 [info] {"source":"oban","duration":7884,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:36.255 [info] GET /.well-known/acme-challenge/92eCvSze3qY1D42Ka9KNieQFBAk_kq5ko0RrnDetvFI 11:05:36.256 [debug] QUERY OK source="settings" db=0.2ms idle=1496.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 [] 11:05:36.256 [debug] QUERY OK source="settings" db=0.1ms idle=561.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 [] 11:05:36.257 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:05:36.257 [error] #PID<0.27221.0> running PinchflatWeb.Endpoint (connection #PID<0.27220.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/92eCvSze3qY1D42Ka9KNieQFBAk_kq5ko0RrnDetvFI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/92eCvSze3qY1D42Ka9KNieQFBAk_kq5ko0RrnDetvFI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27220.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/92eCvSze3qY1D42Ka9KNieQFBAk_kq5ko0RrnDetvFI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 40092}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/92eCvSze3qY1D42Ka9KNieQFBAk_kq5ko0RrnDetvFI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27221.0>, params: %{}, path_info: [".well-known", "acme-challenge", "92eCvSze3qY1D42Ka9KNieQFBAk_kq5ko0RrnDetvFI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/92eCvSze3qY1D42Ka9KNieQFBAk_kq5ko0RrnDetvFI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/92eCvSze3qY1D42Ka9KNieQFBAk_kq5ko0RrnDetvFI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDYiQjrDyxOl4gAFL1i"} ], 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.27220.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/92eCvSze3qY1D42Ka9KNieQFBAk_kq5ko0RrnDetvFI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 40092}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/92eCvSze3qY1D42Ka9KNieQFBAk_kq5ko0RrnDetvFI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/92eCvSze3qY1D42Ka9KNieQFBAk_kq5ko0RrnDetvFI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27220.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/92eCvSze3qY1D42Ka9KNieQFBAk_kq5ko0RrnDetvFI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 40092}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/92eCvSze3qY1D42Ka9KNieQFBAk_kq5ko0RrnDetvFI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27221.0>, params: %{}, path_info: [".well-known", "acme-challenge", "92eCvSze3qY1D42Ka9KNieQFBAk_kq5ko0RrnDetvFI"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:05:44.480 [info] GET / 11:05:44.480 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:05:44.481 [debug] QUERY OK source="settings" db=0.6ms idle=766.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 [] 11:05:44.482 [debug] QUERY OK source="media_profiles" db=0.2ms idle=721.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:05:44.482 [debug] QUERY OK source="sources" db=0.1ms idle=722.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:05:44.500 [debug] QUERY OK source="media_items" db=17.6ms idle=722.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:05:44.504 [debug] QUERY OK source="media_items" db=2.6ms idle=740.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:05:44.505 [debug] QUERY OK source="settings" db=0.5ms idle=23.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 [] 11:05:44.506 [debug] QUERY OK source="settings" db=0.4ms idle=23.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 [] 11:05:44.507 [debug] QUERY OK source="settings" db=0.2ms idle=23.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 [] 11:05:44.516 [debug] QUERY OK source="media_items" db=6.7ms queue=0.1ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 11:05:44.518 [debug] QUERY OK source="media_items" db=1.0ms queue=0.3ms idle=13.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:05:44.521 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=14.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" IN (?,?)) [6, 2] 11:05:44.546 [debug] QUERY OK source="media_items" db=17.8ms idle=22.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 (((((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"))) [] 11:05:44.622 [debug] QUERY OK source="media_items" db=76.0ms idle=39.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:05:44.623 [debug] QUERY OK source="sources" db=0.2ms idle=107.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] 11:05:44.626 [debug] QUERY OK source="tasks" db=0.6ms idle=107.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:05:44.627 [debug] QUERY OK source="media_items" db=0.3ms idle=105.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3402, 3405] 11:05:44.628 [info] Sent 200 in 148ms 11:05:48.939 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IUiABKNurgw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/81/a6/81a65d0d4e05457c7153dd7fff5de688e7052f3b4e47332e00c01c0197a0a01b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 11:05:49.003 [debug] Running yt-dlp command for action: download_thumbnail 11:05:49.005 [debug] QUERY OK source="settings" db=0.8ms idle=1244.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 [] 11:05:49.007 [debug] QUERY OK source="settings" db=0.9ms idle=1245.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 [] 11:05:49.007 [debug] QUERY OK source="settings" db=0.3ms idle=1247.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 [] 11:05:49.008 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IUiABKNurgw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3402/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/78/bb/78bbc3743c9aa65a6119a4af2c91527f53bbda9fe5f6832f0a5b731231e3519d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:05:58.649 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IUiABKNurgw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3402/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/78/bb/78bbc3743c9aa65a6119a4af2c91527f53bbda9fe5f6832f0a5b731231e3519d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:05:58.650 [debug] QUERY OK db=0.0ms queue=0.1ms idle=1889.5ms begin [] 11:05:58.653 [debug] QUERY OK source="media_items" db=2.3ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 00:05:48Z], "/downloads/shows/Kevin Kos/Season 2024/s2024e022399 - DO NOT use these ingredients before watching this!!.mp4", "/downloads/shows/Kevin Kos/Season 2024/s2024e022399 - DO NOT use these ingredients before watching this!!.info.json", "/downloads/shows/Kevin Kos/Season 2024/s2024e022399 - DO NOT use these ingredients before watching this!!.nfo", "/downloads/shows/Kevin Kos/Season 2024/s2024e022399 - DO NOT use these ingredients before watching this!!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2024/s2024e022399 - DO NOT use these ingredients before watching this!!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2024/s2024e022399 - DO NOT use these ingredients before watching this!!-thumb.jpg", ~U[2026-03-28 00:05:58Z], 3402] 11:05:58.655 [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/3402/metadata.json.gz", "/config/metadata/media_items/3402/thumbnail.jpg", 3402, ~U[2026-03-28 00:05:58Z], ~U[2026-03-28 00:05:58Z]] 11:05:58.661 [debug] QUERY OK db=5.4ms commit [] 11:05:58.705 [debug] QUERY OK source="media_items" db=9.8ms idle=1928.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [148285242, ~U[2026-03-28 00:05:58Z], 3402] 11:05:58.705 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:05:58.714 [info] {"args":{"id":3402},"id":570,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":309709204,"event":"job:stop","queue_time":71735994905,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:05:58.736 [info] {"args":{"id":3407},"id":572,"meta":{},"system_time":1774656358736308930,"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"]} 11:05:58.747 [debug] QUERY OK source="media_items" db=10.7ms idle=967.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" = ?) [3407] 11:05:58.748 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:05:58.760 [debug] QUERY OK source="sources" db=12.0ms idle=87.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" = ?) [4] 11:05:58.761 [debug] QUERY OK source="media_profiles" db=0.3ms idle=56.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] 11:05:58.762 [debug] QUERY OK source="media_items" db=0.3ms idle=47.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 [3407] 11:05:58.763 [debug] QUERY OK source="media_metadata" db=0.2ms idle=27.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" = ?) [3407] 11:05:58.764 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 11:05:58.765 [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 [] 11:05:58.766 [debug] QUERY OK source="settings" db=0.5ms 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 [] 11:05:58.769 [debug] Running yt-dlp command for action: get_downloadable_status 11:05:58.770 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:05:58.771 [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 [] 11:05:58.772 [debug] QUERY OK source="settings" db=0.1ms idle=6.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 [] 11:05:58.773 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_pT1xLfwazc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/35/08/35080ae2e0e3bde15ded7b1426e0d759485f051afe12c357b36a069595e9eb48.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:06:00.705 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:06:03.257 [info] {"source":"oban","duration":1807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:08.109 [info] GET /sources/6/media/7358/force_download 11:06:08.111 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1349.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 [] 11:06:08.113 [debug] QUERY OK source="settings" db=0.7ms queue=0.5ms idle=1350.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 [] 11:06:08.114 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:06:08.114 [error] #PID<0.27235.0> running PinchflatWeb.Endpoint (connection #PID<0.27234.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /sources/6/media/7358/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/6/media/7358/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27234.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/7358/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 45996}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "47.128.19.211", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27235.0>, params: %{}, path_info: ["sources", "6", "media", "7358", "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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"host", "pinchflat.suranyami.com"}, {"priority", "u=0, i"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "47.128.19.211"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/6/media/7358/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDYkHOGEP4ySEMAFL3C"} ], 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.27234.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/7358/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 45996}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "47.128.19.211", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/7358/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27234.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/7358/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 45996}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Byt (truncated) 11:06:10.631 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_pT1xLfwazc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/35/08/35080ae2e0e3bde15ded7b1426e0d759485f051afe12c357b36a069595e9eb48.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:06:10.631 [debug] Running yt-dlp command for action: download 11:06:10.632 [debug] QUERY OK source="settings" db=0.5ms idle=1870.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 [] 11:06:10.632 [debug] QUERY OK source="settings" db=0.3ms idle=1827.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 [] 11:06:10.633 [debug] QUERY OK source="settings" db=0.3ms idle=871.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 [] 11:06:10.634 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_pT1xLfwazc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c9/ef/c9ef28b363ad44675784f0c82a821b1beb594d9fdc2b8eec738b9a4fd96e91c1.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:06:14.224 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CTP9MoNbuCk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7b/87/7b8772b66da6cac3ee20abc245e99804016ac64ba378148fab1d74c2dc8ec689.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 11:06:14.318 [debug] Running yt-dlp command for action: download_thumbnail 11:06:14.320 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=559.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 [] 11:06:14.321 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=559.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 [] 11:06:14.321 [debug] QUERY OK source="settings" db=0.2ms idle=560.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 [] 11:06:14.322 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CTP9MoNbuCk --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3405/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/af/d3/afd30a1820f8307d53398b75391a4ff78dc3c043e64546fa81863fbfa4544cb0.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:06:33.262 [info] {"source":"oban","duration":3157,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:45.891 [info] GET / 11:06:45.891 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:06:45.893 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=1131.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 [] 11:06:45.894 [debug] QUERY OK source="media_profiles" db=0.5ms idle=934.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:06:45.895 [debug] QUERY OK source="sources" db=0.5ms idle=133.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:06:45.937 [debug] QUERY OK source="media_items" db=41.5ms idle=134.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:06:45.942 [debug] QUERY OK source="media_items" db=4.7ms queue=0.2ms idle=176.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:06:45.944 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=50.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 [] 11:06:45.945 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=49.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 [] 11:06:45.947 [debug] QUERY OK source="settings" db=0.5ms idle=51.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 [] 11:06:45.958 [debug] QUERY OK source="media_items" db=8.9ms idle=11.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 (NOT (m0."media_filepath" IS NULL)) [] 11:06:45.961 [debug] QUERY OK source="media_items" db=2.3ms queue=0.2ms idle=16.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:06:45.963 [debug] QUERY OK source="sources" db=1.0ms idle=17.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" IN (?,?)) [6, 2] 11:06:46.045 [debug] QUERY OK source="media_items" db=75.8ms queue=0.1ms idle=22.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 (((((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"))) [] 11:06:46.094 [debug] QUERY OK source="media_items" db=47.3ms queue=0.1ms idle=88.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:06:46.095 [debug] QUERY OK source="sources" db=0.3ms idle=133.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" = ?) [6] 11:06:46.100 [debug] QUERY OK source="tasks" db=0.6ms idle=135.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:06:46.101 [debug] QUERY OK source="media_items" db=0.3ms idle=137.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3405, 3407] 11:06:46.104 [info] Sent 200 in 213ms 11:06:50.010 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CTP9MoNbuCk --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3405/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/af/d3/afd30a1820f8307d53398b75391a4ff78dc3c043e64546fa81863fbfa4544cb0.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: Unable to download video thumbnail 41: [Errno 101] Network is unreachable WARNING: Unable to download video thumbnail 40: [Errno 101] Network is unreachable WARNING: Unable to download video thumbnail 39: [Errno -3] Temporary failure in name resolution WARNING: Unable to download video thumbnail 38: [Errno -3] Temporary failure in name resolution WARNING: Unable to download video thumbnail 37: [Errno -3] Temporary failure in name resolution 11:06:50.011 [debug] QUERY OK db=0.0ms queue=0.1ms idle=249.8ms begin [] 11:06:50.013 [debug] QUERY OK source="media_items" db=1.6ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 00:06:14Z], "/downloads/shows/Kevin Kos/Season 2024/s2024e021699 - Creme de Menthe - Homemade & EASY!.mp4", "/downloads/shows/Kevin Kos/Season 2024/s2024e021699 - Creme de Menthe - Homemade & EASY!.info.json", "/downloads/shows/Kevin Kos/Season 2024/s2024e021699 - Creme de Menthe - Homemade & EASY!.nfo", "/downloads/shows/Kevin Kos/Season 2024/s2024e021699 - Creme de Menthe - Homemade & EASY!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2024/s2024e021699 - Creme de Menthe - Homemade & EASY!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2024/s2024e021699 - Creme de Menthe - Homemade & EASY!-thumb.jpg", ~U[2026-03-28 00:06:50Z], 3405] 11:06:50.015 [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/3405/metadata.json.gz", "/config/metadata/media_items/3405/thumbnail.jpg", 3405, ~U[2026-03-28 00:06:50Z], ~U[2026-03-28 00:06:50Z]] 11:06:50.016 [debug] QUERY OK db=1.1ms commit [] 11:06:50.025 [debug] QUERY OK source="media_items" db=2.7ms idle=260.9ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [79459905, ~U[2026-03-28 00:06:50Z], 3405] 11:06:50.025 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:06:50.026 [info] {"args":{"id":3405},"id":571,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":256900393,"event":"job:stop","queue_time":71834123836,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:06:50.033 [info] {"args":{"id":3410},"id":573,"meta":{},"system_time":1774656410033169974,"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"]} 11:06:50.040 [debug] QUERY OK source="media_items" db=6.9ms idle=55.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" = ?) [3410] 11:06:50.040 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:06:50.047 [debug] QUERY OK source="sources" db=6.7ms idle=24.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" = ?) [4] 11:06:50.048 [debug] QUERY OK source="media_profiles" db=0.4ms idle=23.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] 11:06:50.049 [debug] QUERY OK source="media_items" db=0.4ms idle=22.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 [3410] 11:06:50.051 [debug] QUERY OK source="media_metadata" db=0.1ms idle=17.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" = ?) [3410] 11:06:50.051 [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] 11:06:50.052 [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 [] 11:06:50.053 [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 [] 11:06:50.053 [debug] Running yt-dlp command for action: get_downloadable_status 11:06:50.055 [debug] QUERY OK source="settings" db=0.2ms idle=5.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 [] 11:06:50.055 [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 [] 11:06:50.055 [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 [] 11:06:50.056 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9WccMbeoN7Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/48/3e/483ef63935592d4981f64f5c798dc48f010e4fb4b2d17cf0a77ac72857d47eb2.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:06:59.993 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9WccMbeoN7Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/48/3e/483ef63935592d4981f64f5c798dc48f010e4fb4b2d17cf0a77ac72857d47eb2.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:06:59.994 [debug] Running yt-dlp command for action: download 11:06:59.994 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1233.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 [] 11:06:59.995 [debug] QUERY OK source="settings" db=0.2ms idle=974.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 [] 11:06:59.995 [debug] QUERY OK source="settings" db=0.1ms idle=234.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 [] 11:06:59.996 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9WccMbeoN7Q --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/37/6d/376dbe588d4239b3c4a9ccad33abb365885738bce2d4cd1f32225bcfa6b7b769.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:07:00.707 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:07:03.267 [info] {"source":"oban","duration":4461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:33.271 [info] {"source":"oban","duration":3165,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:47.040 [info] GET / 11:07:47.040 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:07:47.042 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1280.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 [] 11:07:47.043 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1281.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:07:47.043 [debug] QUERY OK source="sources" db=0.2ms idle=846.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:07:47.085 [debug] QUERY OK source="media_items" db=40.9ms idle=282.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:07:47.094 [debug] QUERY OK source="media_items" db=8.4ms queue=0.1ms idle=323.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:07:47.096 [debug] QUERY OK source="settings" db=0.8ms queue=0.3ms idle=52.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 [] 11:07:47.097 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=53.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 [] 11:07:47.098 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=54.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 [] 11:07:47.105 [debug] QUERY OK source="media_items" db=4.7ms idle=15.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 (NOT (m0."media_filepath" IS NULL)) [] 11:07:47.107 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=12.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:07:47.109 [debug] QUERY OK source="sources" db=1.0ms idle=12.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" IN (?,?)) [6, 2] 11:07:47.203 [debug] QUERY OK source="media_items" db=87.0ms idle=19.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 (((((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"))) [] 11:07:47.294 [debug] QUERY OK source="media_items" db=90.1ms idle=98.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:07:47.295 [debug] QUERY OK source="sources" db=0.4ms idle=187.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] 11:07:47.300 [debug] QUERY OK source="tasks" db=0.6ms idle=190.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:07:47.301 [debug] QUERY OK source="media_items" db=0.3ms idle=97.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3407, 3410] 11:07:47.304 [info] Sent 200 in 264ms 11:08:00.708 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:08:03.275 [info] {"source":"oban","duration":3421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:33.277 [info] {"source":"oban","duration":1464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:48.640 [info] GET / 11:08:48.641 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:08:48.642 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1880.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 [] 11:08:48.643 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1881.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:08:48.643 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=1882.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:08:48.655 [debug] QUERY OK source="media_items" db=10.9ms idle=1207.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:08:48.657 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=215.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:08:48.658 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms 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 [] 11:08:48.659 [debug] QUERY OK source="settings" db=0.2ms idle=16.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 [] 11:08:48.660 [debug] QUERY OK source="settings" db=0.2ms idle=16.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 [] 11:08:48.665 [debug] QUERY OK source="media_items" db=2.3ms idle=7.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 (NOT (m0."media_filepath" IS NULL)) [] 11:08:48.667 [debug] QUERY OK source="media_items" db=0.6ms queue=0.2ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:08:48.668 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=9.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" IN (?,?)) [6, 2] 11:08:48.785 [debug] QUERY OK source="media_items" db=108.8ms queue=0.1ms idle=16.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 (((((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"))) [] 11:08:48.863 [debug] QUERY OK source="media_items" db=77.8ms queue=0.1ms idle=124.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:08:48.865 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=199.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" = ?) [6] 11:08:48.868 [debug] QUERY OK source="tasks" db=0.4ms idle=200.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:08:48.869 [debug] QUERY OK source="media_items" db=0.4ms idle=199.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3407, 3410] 11:08:48.870 [info] Sent 200 in 230ms 11:09:00.710 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:09:03.279 [info] {"source":"oban","duration":1580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:33.284 [info] {"source":"oban","duration":3552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:41.655 [info] {"args":{"id":3},"id":1612,"meta":{},"system_time":1774656581655221531,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:09:41.664 [debug] QUERY OK source="sources" db=9.2ms idle=894.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] 11:09:41.665 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=904.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 [] 11:09:41.673 [debug] QUERY OK source="media_profiles" db=7.1ms idle=905.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] 11:09:41.685 [debug] QUERY OK source="settings" db=12.0ms idle=38.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 [] 11:09:41.686 [debug] Fetching recent media IDs from YouTube API for playlist: UUwnKziETDbHJtx78nIkfYug 11:09:41.686 [debug] QUERY OK source="settings" db=0.3ms idle=31.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 [] 11:09:41.686 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:09:42.677 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=1008.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "QtpFa0LdXEY", "8Rv4wwcQ89Y", "2cRKv1oqyX8", "mQfQwLW6CNw", "y0TZuhNixNk", "GZ7wE3XOwFU", "-aRdX-kZ9g4", "99bldMr1byI", "EzCiEv1IqiA", "mC5NdpSMDks", "ccV3u3D9ONE", "cVCDjEfPzII", "n0X2rqzKTgM", "dcuCvRNqmpY", "GG1qX8jHKGo", "k9wkleHFvo0", "CWoYVlMuUNQ", "xlfeieH4z38", "eZM2Ik-FHEU", "CtcTG8-qzbA", "6Mmj7mf1qlg", "InwVO9qBjqs", "1Hp-W2bpPrw", "VtE5sTpkn7k", "8dOJypt2F70", "Evm4t4prtWo", "taLzgvbrnv0", "rgCrnyf5JEI", "PHhc-48JT3U", "vFKjpNNjNGw", "VJQlOI70ubw", "E5cfNq0DO90", "DNBGSsZatbY", "pna1NyaHTls", "CUHao-vA98g", "cPN9BJe_RQw", "rCBt4XgCX-0", "f4g6KKGMmEI", "P_I5Jsc3xRw", "fPaU2l7RktM", "0PVwt01b6fs", "0qMDM4Y4Hwo", "Ld285PDsHvs", "p1mQC71wplA", "9k5JhKK6WlA", "WPxrifmtlQI", "nVNBmK7a1y8", "QDnMYztaxfI", "gxsaWhXG1Gg", ...] 11:09:42.683 [debug] QUERY OK source="media_items" db=2.6ms idle=1006.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 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] 11:09:42.685 [debug] QUERY OK source="tasks" db=0.6ms idle=47.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1618, 3, ~U[2026-03-28 00:09:42Z], ~U[2026-03-28 00:09:42Z]] 11:09:42.686 [info] {"args":{"id":3},"id":1612,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":1030828,"event":"job:stop","queue_time":978916,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:09:49.736 [info] GET / 11:09:49.736 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:09:49.738 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=1976.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 [] 11:09:49.739 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1978.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:09:49.740 [debug] QUERY OK source="sources" db=0.3ms idle=1978.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:09:49.796 [debug] QUERY OK source="media_items" db=55.8ms idle=1082.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:09:49.799 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=136.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:09:49.800 [debug] QUERY OK source="settings" db=0.1ms idle=61.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 [] 11:09:49.800 [debug] QUERY OK source="settings" db=0.1ms idle=60.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 [] 11:09:49.801 [debug] QUERY OK source="settings" db=0.2ms idle=60.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 [] 11:09:49.805 [debug] QUERY OK source="media_items" db=3.1ms 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 (NOT (m0."media_filepath" IS NULL)) [] 11:09:49.806 [debug] QUERY OK source="media_items" db=0.6ms idle=6.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:09:49.807 [debug] QUERY OK source="sources" db=0.2ms idle=6.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" IN (?,?)) [6, 2] 11:09:49.868 [debug] QUERY OK source="media_items" db=58.8ms idle=9.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 (((((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"))) [] 11:09:49.928 [debug] QUERY OK source="media_items" db=59.2ms idle=67.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:09:49.929 [debug] QUERY OK source="sources" db=0.3ms idle=123.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] 11:09:49.931 [debug] QUERY OK source="tasks" db=0.5ms idle=124.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:09:49.932 [debug] QUERY OK source="media_items" db=0.3ms idle=124.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3407, 3410] 11:09:49.933 [info] Sent 200 in 197ms 11:10:00.711 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:10:03.287 [info] {"source":"oban","duration":1815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:05.767 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9WccMbeoN7Q --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/37/6d/376dbe588d4239b3c4a9ccad33abb365885738bce2d4cd1f32225bcfa6b7b769.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 11:10:05.891 [debug] Running yt-dlp command for action: download_thumbnail 11:10:05.893 [debug] QUERY OK source="settings" db=0.6ms idle=1128.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 [] 11:10:05.893 [debug] QUERY OK source="settings" db=0.6ms idle=183.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 [] 11:10:05.895 [debug] QUERY OK source="settings" db=1.4ms idle=129.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 [] 11:10:05.896 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9WccMbeoN7Q --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3410/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/7e/ec/7eec6c2c0f2398b801eec8918d908c55ed8799a202a4dd7b25273707e8d3cc36.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:10:11.961 [info] GET /sources/2/media/8244 11:10:11.962 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "8244", "source_id" => "2"} Pipelines: [:browser] 11:10:11.963 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=227.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" = ?) [8244] 11:10:11.965 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=200.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" [8244] 11:10:11.965 [debug] QUERY OK source="sources" db=0.6ms idle=200.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" = ?) [2] 11:10:11.968 [debug] QUERY OK source="settings" db=0.6ms idle=203.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 [] 11:10:11.970 [debug] QUERY OK source="settings" db=0.5ms queue=0.3ms idle=204.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 [] 11:10:11.972 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms 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 [] 11:10:11.976 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms 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] 11:10:11.978 [info] Sent 200 in 17ms 11:10:15.772 [info] {"args":{"id":2},"id":1613,"meta":{},"system_time":1774656615771652968,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:10:15.774 [debug] QUERY OK source="sources" db=1.2ms queue=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" = ?) [2] 11:10:15.784 [debug] QUERY OK source="settings" db=9.4ms 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 [] 11:10:15.786 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.3ms idle=21.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] 11:10:15.799 [debug] QUERY OK source="settings" db=11.4ms queue=0.1ms idle=23.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 [] 11:10:15.799 [debug] Fetching recent media IDs from YouTube API for playlist: UUjzi56cxvmEDwjo1Bd2Yxpg 11:10:15.801 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=29.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 [] 11:10:15.801 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:10:16.493 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=715.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "Hw2_s31u_4Q", "b4x9IzQtiA0", "16aM5Bop7Qw", "3hBk9xqT9hs", "xDa45wnAzc8", "Yq41acIvzj8", "Ttn_Q1B2ALc", "-bV0F6OP31U", "qAstyiKRt10", "NF2StvrYme0", "_Q-2UzYr3AA", "FeEEy3jZvlM", "EHaNwda0xto", "KL0u63mAy5M", "fzklfnO42ts", "oZ4kddHCFVY", "spSOp5s_6_A", "C48yl9fSYv8", "654RgtNwXZ8", "4wu_B_XF6wk", "wFLJxWyDJPs", "J5NKnYfn6qw", "fcVRuF6c-bc", "xNAFpSnpqjs", "cavmWZnCeJI", "_J0gQ5GdUSk", "_oISg668F40", "v34wa9QhF0s", "iEen_cClzkg", "CD9wUM2v-0U", "E8k9oqjl5_E", "lQDUMfg_SJc", "pPMD0YPBHQ4", "qq1IN4umTI8", "L63goFhe8KM", "5OXvwQ3CB1I", "doZvHBPoVCw", "9SXMTDO4lIo", "8JmSUN8jp3Q", "7oSgaaUEjZM", "sKSPwnFSRCw", "gdY_Q9ltw8w", "uHbviTslBFY", "gMzXgYFT4Ck", "NdsMuD-_5To", "9JXltNRqLu4", "7ThBvLBMacw", "7BTWa3jFBMw", "U2LsOO1upXY", ...] 11:10:16.549 [debug] QUERY OK source="media_items" db=53.1ms idle=712.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 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] 11:10:16.558 [debug] QUERY OK source="tasks" db=0.6ms idle=64.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1619, 2, ~U[2026-03-28 00:10:16Z], ~U[2026-03-28 00:10:16Z]] 11:10:16.566 [info] {"args":{"id":2},"id":1613,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":786629,"event":"job:stop","queue_time":559454,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:10:19.074 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9WccMbeoN7Q --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3410/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/7e/ec/7eec6c2c0f2398b801eec8918d908c55ed8799a202a4dd7b25273707e8d3cc36.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:10:19.075 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1310.7ms begin [] 11:10:19.077 [debug] QUERY OK source="media_items" db=1.6ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 00:10:05Z], "/downloads/shows/Kevin Kos/Season 2024/s2024e020299 - EGGS ARE DONE! Super Foam Is Here!.mp4", "/downloads/shows/Kevin Kos/Season 2024/s2024e020299 - EGGS ARE DONE! Super Foam Is Here!.info.json", "/downloads/shows/Kevin Kos/Season 2024/s2024e020299 - EGGS ARE DONE! Super Foam Is Here!.nfo", "/downloads/shows/Kevin Kos/Season 2024/s2024e020299 - EGGS ARE DONE! Super Foam Is Here!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2024/s2024e020299 - EGGS ARE DONE! Super Foam Is Here!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2024/s2024e020299 - EGGS ARE DONE! Super Foam Is Here!-thumb.jpg", ~U[2026-03-28 00:10:19Z], 3410] 11:10:19.082 [debug] QUERY OK source="media_metadata" db=4.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/3410/metadata.json.gz", "/config/metadata/media_items/3410/thumbnail.jpg", 3410, ~U[2026-03-28 00:10:19Z], ~U[2026-03-28 00:10:19Z]] 11:10:19.083 [debug] QUERY OK db=0.5ms commit [] 11:10:19.090 [debug] QUERY OK source="media_items" db=2.4ms idle=1323.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [76549320, ~U[2026-03-28 00:10:19Z], 3410] 11:10:19.090 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:10:19.091 [info] {"args":{"id":3410},"id":573,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":209057852,"event":"job:stop","queue_time":72079031824,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:10:19.099 [info] {"args":{"id":3413},"id":574,"meta":{},"system_time":1774656619099211400,"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"]} 11:10:19.100 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=335.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" = ?) [3413] 11:10:19.100 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:10:19.101 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=17.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" = ?) [4] 11:10:19.102 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms 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] 11:10:19.103 [debug] QUERY OK source="media_items" db=0.3ms idle=11.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 [3413] 11:10:19.105 [debug] QUERY OK source="media_metadata" db=0.2ms queue=0.1ms idle=5.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" = ?) [3413] 11:10:19.105 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 11:10:19.106 [debug] QUERY OK source="settings" db=0.1ms 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 [] 11:10:19.106 [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 [] 11:10:19.107 [debug] Running yt-dlp command for action: get_downloadable_status 11:10:19.108 [debug] QUERY OK source="settings" db=0.1ms 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 [] 11:10:19.109 [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 [] 11:10:19.109 [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 [] 11:10:19.109 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QT5nSxIIQBw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/40/62/406294bdd3d6423e69d1f7162f473a2980f7bf1246500d26d23fd2b989b0a71d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:10:27.397 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QT5nSxIIQBw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/40/62/406294bdd3d6423e69d1f7162f473a2980f7bf1246500d26d23fd2b989b0a71d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:10:27.398 [debug] Running yt-dlp command for action: download 11:10:27.399 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=634.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 [] 11:10:27.399 [debug] QUERY OK source="settings" db=0.1ms idle=635.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 [] 11:10:27.400 [debug] QUERY OK source="settings" db=0.1ms idle=635.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 [] 11:10:27.401 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QT5nSxIIQBw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/98/28/9828ece7bb75e666f7f027f972e4b979fe7cc95453de3833e02a2443ad63381a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:10:33.293 [info] {"source":"oban","duration":5062,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:47.866 [info] {"args":{"id":4},"id":1614,"meta":{},"system_time":1774656647865631599,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:10:47.867 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1102.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] 11:10:47.868 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1103.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 [] 11:10:47.869 [debug] QUERY OK source="media_profiles" db=0.7ms idle=1014.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] 11:10:47.870 [debug] QUERY OK source="settings" db=0.5ms idle=11.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 [] 11:10:47.870 [debug] Fetching recent media IDs from YouTube API for playlist: UUEiui9T4ZYx8K8nuZ5YFSTw 11:10:47.871 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms 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 [] 11:10:47.872 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:10:48.440 [debug] QUERY OK source="media_items" db=5.1ms queue=0.1ms idle=567.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 m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [4, "gthI7e6zPWo", "psRX1C7auj8", "2ZtSRjGhStw", "Z8KiNkDP9c4", "AZibPvCnG4k", "QXNPI7Ucivo", "WtxCD4567G4", "80bkfWoOHaE", "pYBAEGrhggM", "9M3wLySdGXY", "mcvbD_Ipbf8", "E_Y7kLO3Iaw", "gPdh5lVJYD0", "qrkTK1UcvSM", "45UcuOLjxeY", "gnbhO9hJ198", "fiFzXo1wNno", "TM5mKkwC0Ok", "kS2A72peqmg", "ueDcEpRFW_M", "AN4-pHYBK2M", "TMNa6ocIv8o", "S1Vt1tQJczE", "_BEmUjtwhLw", "1bxoWiQ2AQY", "CZeRfNeKEBE", "2nftRe3tjLQ", "v1biAguVbg8", "cLDsQImoeHQ", "hhH7mchDBXY", "uQj2W5ej104", "vYRV_nprXBA", "1v_qsQL3mo8", "hfHxFTbVaTo", "mfWqziOaR4A", "AmCWMmKgHkI", "ZWgq-s8r2FE", "1dAkTDsD1c4", "ozdDp_eMPZY", "iHogtXxywLQ", "7ysd04ltGag", "5jq8kH9s0V8", "AB6bC9gtfoc", "R7Tm3zvyy9U", "dUHzocz0hLo", "9Oh6oVrf7kM", "LzUhByZ4jtc", "j7evpR_Fbsw", "_iGhJt3ah8E", ...] 11:10:48.451 [debug] QUERY OK source="media_items" db=6.5ms idle=575.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 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] 11:10:48.799 [debug] QUERY OK source="tasks" db=0.4ms idle=5.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1620, 4, ~U[2026-03-28 00:10:48Z], ~U[2026-03-28 00:10:48Z]] 11:10:48.800 [info] {"args":{"id":4},"id":1614,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":934027,"event":"job:stop","queue_time":246851,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:10:50.789 [info] GET / 11:10:50.789 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:10:50.790 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=924.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 [] 11:10:50.791 [debug] QUERY OK source="media_profiles" db=0.3ms idle=27.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:10:50.792 [debug] QUERY OK source="sources" db=0.3ms idle=27.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:10:50.856 [debug] QUERY OK source="media_items" db=64.0ms idle=28.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:10:50.861 [debug] QUERY OK source="media_items" db=4.5ms queue=0.1ms idle=92.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:10:50.862 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=71.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 [] 11:10:50.863 [debug] QUERY OK source="settings" db=0.1ms idle=71.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 [] 11:10:50.864 [debug] QUERY OK source="settings" db=0.1ms idle=71.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 [] 11:10:50.869 [debug] QUERY OK source="media_items" db=4.8ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 11:10:50.870 [debug] QUERY OK source="media_items" db=0.5ms idle=7.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:10:50.871 [debug] QUERY OK source="sources" db=0.2ms idle=7.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" IN (?,?)) [6, 2] 11:10:50.934 [debug] QUERY OK source="media_items" db=58.6ms idle=11.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 (((((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"))) [] 11:10:51.006 [debug] QUERY OK source="media_items" db=72.0ms idle=67.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:10:51.008 [debug] QUERY OK source="sources" db=0.3ms idle=137.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] 11:10:51.010 [debug] QUERY OK source="tasks" db=0.4ms idle=139.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:10:51.011 [debug] QUERY OK source="media_items" db=0.3ms idle=139.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3407, 3413] 11:10:51.012 [info] Sent 200 in 223ms 11:11:00.713 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:11:03.299 [info] {"source":"oban","duration":4033,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:33.307 [info] {"source":"oban","duration":7475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:45.099 [info] {"args":{"id":5},"id":1615,"meta":{},"system_time":1774656705098894680,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:11:45.117 [debug] QUERY OK source="sources" db=17.0ms idle=335.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" = ?) [5] 11:11:45.119 [debug] QUERY OK source="settings" db=1.1ms idle=353.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 [] 11:11:45.131 [debug] QUERY OK source="media_profiles" db=11.8ms idle=355.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] 11:11:45.132 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=60.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 [] 11:11:45.132 [debug] Fetching recent media IDs from YouTube API for playlist: UUVwfqPkv08OTuHzkPU3EaDw 11:11:45.133 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms 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 [] 11:11:45.134 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:11:45.744 [debug] QUERY OK source="media_items" db=2.7ms idle=624.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [5, "k8Yr1jU-0EE", "NFrnhg8hI0c", "20XMhcpSNV0", "YVGFnwJho6E", "xQXiSGDXknA", "uZl0TO8i96g", "Hs5ewNKWUwk", "E5suxhHY0aY", "sCou7ut2L-o", "a0INtLdzUiE", "n0x8sH0M9CE", "W4Af6DIMqnE", "Q-sUbLem5aI", "s-jMj11w68U", "DS9HZG5JRBc", "_wLy-vzLi3E", "iFpZfYwRcns", "nPovqKKSKcE", "j_w4tRYm7Og", "laZpTO7IFtA", "FM5e9Vb1noE", "cK6g53lLgnw", "1X5WYEhzGyI", "QVpu66njzdE", "tfnANe2YUwM", "0-QK6hxLxgM", "TYUeXqSlcDg", "0322Pk-GKto", "1Em1UrRSEXc", "x2RT9Awsyi8", "4Yth52yml8E", "ky9Zo2FmjQ8", "npU2QpX5piA", "XEb_1Sq8jNo", "L3QQDAKxUIk", "l3s8S6bBbOs", "WyWBU1NpDf8", "7wZ0NVuoDWg", "-Ig2-rBZtSI", "5BG06-J1t4Y", "GcQ6vQEeQew", "ap8S88LeiB0", "4LvXP3XR6gw", "I9o65_aIq0Q", "Ut9XjFkGK6s", "PcFkjR5NELA", "Yl67318oP-s", "umbar5BKBus", "FEfCtNhVjJ0", ...] 11:11:45.748 [debug] QUERY OK source="media_items" db=2.4ms idle=626.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 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")))) [5] 11:11:46.014 [debug] QUERY OK source="tasks" db=0.4ms idle=9.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1621, 5, ~U[2026-03-28 00:11:46Z], ~U[2026-03-28 00:11:46Z]] 11:11:46.015 [info] {"args":{"id":5},"id":1615,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":915805,"event":"job:stop","queue_time":401603,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:11:51.786 [info] GET / 11:11:51.786 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:11:51.789 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=693.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 [] 11:11:51.790 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.2ms idle=25.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:11:51.792 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=27.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:11:51.824 [debug] QUERY OK source="media_items" db=31.5ms queue=0.1ms idle=28.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:11:51.828 [debug] QUERY OK source="media_items" db=3.1ms idle=60.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:11:51.829 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=40.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 [] 11:11:51.829 [debug] QUERY OK source="settings" db=0.2ms idle=38.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 [] 11:11:51.831 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=38.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 [] 11:11:51.836 [debug] QUERY OK source="media_items" db=3.2ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 11:11:51.837 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:11:51.838 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=9.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" IN (?,?)) [6, 2] 11:11:51.900 [debug] QUERY OK source="media_items" db=55.5ms idle=14.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 (((((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"))) [] 11:11:51.975 [debug] QUERY OK source="media_items" db=73.9ms queue=0.2ms idle=69.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:11:51.977 [debug] QUERY OK source="sources" db=0.3ms idle=140.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] 11:11:51.982 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=144.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:11:51.983 [debug] QUERY OK source="media_items" db=0.4ms idle=144.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3407, 3413] 11:11:51.986 [info] Sent 200 in 200ms 11:12:00.715 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:12:03.310 [info] {"source":"oban","duration":1966,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:25.260 [info] {"args":{"id":6},"id":1616,"meta":{},"system_time":1774656745260680556,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:12:25.266 [debug] QUERY OK source="sources" db=5.1ms queue=0.1ms idle=1495.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] 11:12:25.268 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=1038.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 [] 11:12:25.270 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.1ms idle=503.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] 11:12:25.283 [debug] QUERY OK source="settings" db=12.3ms queue=0.1ms idle=35.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 [] 11:12:25.283 [debug] Fetching recent media IDs from YouTube API for playlist: UUOzMAa6IhV6uwYQATYG_2kg 11:12:25.284 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=23.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 [] 11:12:25.285 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:12:26.723 [debug] QUERY OK source="media_items" db=4.6ms queue=0.1ms idle=1450.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 m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6, "dnia-38h1GA", "iZaN9NRWc28", "CJrLdBStrzc", "u-eoT-Foth8", "XHineC0YKjs", "VdlejwGkNoI", "ikIigkz2pMg", "qUdPPQ9-9Tg", "k9fuSOPjSXM", "hb-oXWK9r7k", "hDfrtCQmNOo", "zRIUM4OhyWU", "W7c0iVM4P2I", "KCFDp_kxT_4", "aZhuGRngq-g", "BgWbezF2M28", "ZJfHw71KKsk", "MisOg5bX0a4", "2UampQ_86ek", "7-iImzOel-s", "O8E47Ib_RoU", "RcVBMZd2_u8", "b-DHev8Uc6I", "0apH8xkS6PE", "I8m3hyPVsxA", "urqkKHRaT-8", "shyrhINSaPk", "Ze3bKcLbPWg", "ydk9KfgHUPo", "sFlgR1oiUXk", "jCieQsNXdBM", "Nz4uVkNMKdI", "tyX3PvjLSC8", "VeDDo4HhNVo", "2RmXPeBn3x0", "1sA4iEo0x1o", "KqAYebG_Bs0", "FelCut8wQ3o", "wY5Xb_t79SM", "-YqD-IWgaz8", "BdV0pSziReE", "u5VKDy7Dgj8", "hn89XxHJLQ0", "wE60s-NuU6c", "LBwtYK3W-vw", "FGpCwqNklsw", "79hW_qeneEY", "aNpJxLXZATY", "9JhGit6JRw0", ...] 11:12:26.729 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1458.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 [] 11:12:26.730 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1446.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 [] 11:12:26.730 [debug] Running yt-dlp command for action: get_media_attributes 11:12:26.732 [debug] QUERY OK source="settings" db=0.3ms idle=1446.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 [] 11:12:26.732 [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 [] 11:12:26.732 [debug] QUERY OK source="settings" db=0.1ms 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 [] 11:12:26.733 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/b7/ac/b7ac5efbf3a427d72369b4d0c70d3454461213fd3d59cebe761f7e016ee19541.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:12:30.215 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/b7/ac/b7ac5efbf3a427d72369b4d0c70d3454461213fd3d59cebe761f7e016ee19541.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days. 11:12:30.215 [error] Error creating media item 'u-eoT-Foth8' from URL: {:error, "ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days.\n", 1} 11:12:30.233 [debug] QUERY OK source="media_items" db=16.8ms queue=0.1ms idle=963.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 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] 11:12:30.421 [debug] QUERY OK source="tasks" db=0.4ms idle=8.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1622, 6, ~U[2026-03-28 00:12:30Z], ~U[2026-03-28 00:12:30Z]] 11:12:30.422 [info] {"args":{"id":6},"id":1616,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":5160562,"event":"job:stop","queue_time":993775,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:12:33.314 [info] {"source":"oban","duration":2732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:39.298 [info] {"args":{"id":1},"id":1617,"meta":{},"system_time":1774656759297880949,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:12:39.299 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1533.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" = ?) [1] 11:12:39.300 [debug] QUERY OK source="settings" db=0.4ms idle=1014.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 [] 11:12:39.300 [debug] QUERY OK source="media_profiles" db=0.3ms idle=535.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] 11:12:39.301 [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 [] 11:12:39.301 [debug] Fetching recent media IDs from YouTube API for playlist: UUISrVZmDM4x-Rq9mmNUw7Zw 11:12:39.302 [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 [] 11:12:39.302 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:12:39.994 [debug] QUERY OK source="media_items" db=2.5ms idle=691.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "Q0qmHym16H4", "WcWL0_PlcO8", "dQV1WkSly7k", "Xpohopi2_tA", "fsZdCn4jIUY", "hgk2jMPnG2w", "oDh4gg7xiUs", "3LfUmSMW_qc", "5gN9QvwPLq8", "uSBe19ms3aw", "Eq1BmJikpHA", "OsKelxcQUNo", "zNP6Q_Yk9hU", "ZPPCc15thCc", "UzARiS2CyJ4", "r8X8HVGVV1o", "_JI7oYBFZIo", "niCh-EI1Kfo", "92mSBlpBEJo", "_6OAB_8iwqs", "tJbcC43WELc", "cPz1rUCNI0o", "hFzt_dOdElw", "nC-QKeluT0c", "i8ARsrsVUMM", "X30l-491qck", "rzQeUM-lMUY", "BkUHm95UvCw", "MQ2cHq3-J7A", "CtF5dLHITYA", "SGJkxRdkRGg", "OUCt85aJaAA", "9gARPYZOka4", "-uH-Gi5tjEw", "qwUBBQKYX94", "s8VLDSQJ8nA", "EvPfr0lKkh4", "msXzAxF49gA", "hQCWaSvjkU0", "RcmjVsy3a-g", "xtuNc9vYJG4", "fj2tcg8OzsM", "2FZ4IfPACDM", "2Q9DzW20YJ8", "IVsWFGOE_mw", "vPxpMcv2Z4Y", "Zverj_ldlhY", "pQK8xasPd9Q", "_Yo7nh8u9pk", ...] 11:12:39.997 [debug] QUERY OK source="media_items" db=2.3ms idle=695.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 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] 11:12:40.071 [debug] QUERY OK source="tasks" db=0.7ms idle=25.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1623, 1, ~U[2026-03-28 00:12:40Z], ~U[2026-03-28 00:12:40Z]] 11:12:40.072 [info] {"args":{"id":1},"id":1617,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":773969,"event":"job:stop","queue_time":502982,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:12:52.660 [info] GET / 11:12:52.660 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:12:52.661 [debug] QUERY OK source="settings" db=0.3ms idle=896.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 [] 11:12:52.662 [debug] QUERY OK source="media_profiles" db=0.3ms idle=896.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:12:52.663 [debug] QUERY OK source="sources" db=0.2ms idle=898.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:12:52.729 [debug] QUERY OK source="media_items" db=65.9ms idle=898.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:12:52.737 [debug] QUERY OK source="media_items" db=5.9ms queue=0.5ms idle=386.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:12:52.738 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=76.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 [] 11:12:52.739 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=76.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 [] 11:12:52.740 [debug] QUERY OK source="settings" db=0.3ms idle=77.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 [] 11:12:52.745 [debug] QUERY OK source="media_items" db=3.3ms idle=12.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 (NOT (m0."media_filepath" IS NULL)) [] 11:12:52.747 [debug] QUERY OK source="media_items" db=1.9ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:12:52.748 [debug] QUERY OK source="sources" db=0.3ms idle=9.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" IN (?,?)) [6, 2] 11:12:52.810 [debug] QUERY OK source="media_items" db=59.4ms idle=11.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 (((((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"))) [] 11:12:52.890 [debug] QUERY OK source="media_items" db=79.0ms idle=69.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:12:52.891 [debug] QUERY OK source="sources" db=0.5ms idle=145.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] 11:12:52.900 [debug] QUERY OK source="tasks" db=0.8ms queue=0.4ms idle=151.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:12:52.903 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=153.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3407, 3413] 11:12:52.921 [info] Sent 200 in 260ms 11:13:00.718 [info] {"source":"oban","duration":842,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:13:03.317 [info] {"source":"oban","duration":1382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:29.596 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_pT1xLfwazc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c9/ef/c9ef28b363ad44675784f0c82a821b1beb594d9fdc2b8eec738b9a4fd96e91c1.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies WARNING: Unable to download video thumbnail 41: [Errno 101] Network is unreachable WARNING: Unable to download video thumbnail 40: [Errno 101] Network is unreachable WARNING: Unable to download video thumbnail 39: [Errno -3] Temporary failure in name resolution WARNING: Unable to download video thumbnail 38: [Errno -3] Temporary failure in name resolution WARNING: Unable to download video thumbnail 37: [Errno -3] Temporary failure in name resolution 11:13:29.650 [debug] Running yt-dlp command for action: download_thumbnail 11:13:29.651 [debug] QUERY OK source="settings" db=0.5ms idle=1134.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 [] 11:13:29.652 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:13:29.652 [debug] QUERY OK source="settings" db=0.2ms idle=886.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 [] 11:13:29.653 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_pT1xLfwazc --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3407/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/1f/2d/1f2d173bdc3d7bbd0c961155a4af88c5906a8b4b2da41be44d6110a070134b06.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:13:33.320 [info] {"source":"oban","duration":2690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:39.657 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QT5nSxIIQBw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/98/28/9828ece7bb75e666f7f027f972e4b979fe7cc95453de3833e02a2443ad63381a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 11:13:39.764 [debug] Running yt-dlp command for action: download_thumbnail 11:13:39.766 [debug] QUERY OK source="settings" db=0.6ms idle=1.0e3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:39.767 [debug] QUERY OK source="settings" db=0.5ms idle=1001.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 [] 11:13:39.768 [debug] QUERY OK source="settings" db=0.3ms idle=1001.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 [] 11:13:39.768 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QT5nSxIIQBw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3413/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c4/a8/c4a8a2d8d7da32d45ed4d5caa8c78d9a141ec8449fc31eeb54ba28b6b48756e3.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:13:40.123 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_pT1xLfwazc --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3407/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/1f/2d/1f2d173bdc3d7bbd0c961155a4af88c5906a8b4b2da41be44d6110a070134b06.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:13:40.124 [debug] QUERY OK db=0.1ms queue=0.2ms idle=1358.3ms begin [] 11:13:40.129 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 00:13:29Z], "/downloads/shows/Kevin Kos/Season 2024/s2024e020999 - Your Cocktail Needs Baking Soda!.mp4", "/downloads/shows/Kevin Kos/Season 2024/s2024e020999 - Your Cocktail Needs Baking Soda!.info.json", "/downloads/shows/Kevin Kos/Season 2024/s2024e020999 - Your Cocktail Needs Baking Soda!.nfo", "/downloads/shows/Kevin Kos/Season 2024/s2024e020999 - Your Cocktail Needs Baking Soda!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2024/s2024e020999 - Your Cocktail Needs Baking Soda!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2024/s2024e020999 - Your Cocktail Needs Baking Soda!-thumb.jpg", ~U[2026-03-28 00:13:40Z], 3407] 11:13:40.133 [debug] QUERY OK source="media_metadata" db=3.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/3407/metadata.json.gz", "/config/metadata/media_items/3407/thumbnail.jpg", 3407, ~U[2026-03-28 00:13:40Z], ~U[2026-03-28 00:13:40Z]] 11:13:40.137 [debug] QUERY OK db=3.4ms commit [] 11:13:40.158 [debug] QUERY OK source="media_items" db=14.8ms idle=591.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [88209013, ~U[2026-03-28 00:13:40Z], 3407] 11:13:40.158 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:13:40.159 [info] {"args":{"id":3407},"id":572,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":461422330,"event":"job:stop","queue_time":72033720810,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:13:40.179 [info] {"args":{"id":3415},"id":576,"meta":{},"system_time":1774656820179601222,"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"]} 11:13:40.181 [debug] QUERY OK source="media_items" db=1.1ms idle=411.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" = ?) [3415] 11:13:40.181 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:13:40.190 [debug] QUERY OK source="sources" db=8.4ms idle=44.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" = ?) [4] 11:13:40.191 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=33.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] 11:13:40.193 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=33.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 [3415] 11:13:40.194 [debug] QUERY OK source="media_metadata" db=0.2ms idle=14.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" = ?) [3415] 11:13:40.195 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 11:13:40.196 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:13:40.197 [debug] QUERY OK source="settings" db=0.1ms 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 [] 11:13:40.197 [debug] Running yt-dlp command for action: get_downloadable_status 11:13:40.198 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:13:40.199 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:13:40.199 [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 [] 11:13:40.200 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TEQPrFsSIcY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8b/ec/8bec0d557a4e3d7c3672cff8a1af73aba01d17e8e1042631f2ff7d72244da896.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:13:50.704 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TEQPrFsSIcY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8b/ec/8bec0d557a4e3d7c3672cff8a1af73aba01d17e8e1042631f2ff7d72244da896.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:13:50.704 [debug] Running yt-dlp command for action: download 11:13:50.705 [debug] QUERY OK source="settings" db=0.6ms idle=938.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 [] 11:13:50.705 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=939.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 [] 11:13:50.706 [debug] QUERY OK source="settings" db=0.1ms idle=940.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 [] 11:13:50.707 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TEQPrFsSIcY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/85/8b/858b31bad8ccac51365968de68e9aa06b485fac9c310a612272ce4ffe1400bab.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:13:53.669 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QT5nSxIIQBw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3413/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c4/a8/c4a8a2d8d7da32d45ed4d5caa8c78d9a141ec8449fc31eeb54ba28b6b48756e3.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:13:53.670 [debug] QUERY OK db=0.1ms idle=1904.1ms begin [] 11:13:53.674 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 00:13:39Z], "/downloads/shows/Kevin Kos/Season 2024/s2024e012699 - An Iconic Cocktail & Sex? The Cosmopolitan.mp4", "/downloads/shows/Kevin Kos/Season 2024/s2024e012699 - An Iconic Cocktail & Sex? The Cosmopolitan.info.json", "/downloads/shows/Kevin Kos/Season 2024/s2024e012699 - An Iconic Cocktail & Sex? The Cosmopolitan.nfo", "/downloads/shows/Kevin Kos/Season 2024/s2024e012699 - An Iconic Cocktail & Sex? The Cosmopolitan.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2024/s2024e012699 - An Iconic Cocktail & Sex? The Cosmopolitan.en.srt"]], "/downloads/shows/Kevin Kos/Season 2024/s2024e012699 - An Iconic Cocktail & Sex? The Cosmopolitan-thumb.jpg", ~U[2026-03-28 00:13:53Z], 3413] 11:13:53.678 [debug] QUERY OK source="media_metadata" db=3.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/3413/metadata.json.gz", "/config/metadata/media_items/3413/thumbnail.jpg", 3413, ~U[2026-03-28 00:13:53Z], ~U[2026-03-28 00:13:53Z]] 11:13:53.679 [debug] QUERY OK db=0.7ms commit [] 11:13:53.710 [debug] QUERY OK source="media_items" db=6.6ms idle=1937.6ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [71135079, ~U[2026-03-28 00:13:53Z], 3413] 11:13:53.711 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:13:53.713 [info] {"args":{"id":3413},"id":574,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":214612341,"event":"job:stop","queue_time":72283097780,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:13:53.722 [info] {"args":{"id":3418},"id":577,"meta":{},"system_time":1774656833722488923,"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"]} 11:13:53.723 [debug] QUERY OK source="media_items" db=0.7ms idle=116.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" = ?) [3418] 11:13:53.724 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:13:53.725 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=44.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" = ?) [4] 11:13:53.727 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=15.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] 11:13:53.728 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=14.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 [3418] 11:13:53.731 [debug] QUERY OK source="media_metadata" db=0.3ms 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" = ?) [3418] 11:13:53.732 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms 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] 11:13:53.734 [debug] QUERY OK source="settings" db=0.2ms queue=0.5ms 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 [] 11:13:53.735 [debug] QUERY OK source="settings" db=0.5ms queue=0.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 [] 11:13:53.736 [debug] Running yt-dlp command for action: get_downloadable_status 11:13:53.738 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms 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 [] 11:13:53.739 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 11:13:53.740 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 11:13:53.741 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=5yHm_v9cvUk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8a/16/8a1695ad95d53f51364d8a8f90b8556b2e8afdad99087f5509d8d775e9aa2ee5.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:13:54.213 [info] GET / 11:13:54.213 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:13:54.214 [debug] QUERY OK source="settings" db=0.5ms idle=479.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 [] 11:13:54.215 [debug] QUERY OK source="media_profiles" db=0.2ms idle=479.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:13:54.216 [debug] QUERY OK source="sources" db=0.3ms idle=476.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:13:54.243 [debug] QUERY OK source="media_items" db=27.5ms idle=476.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:13:54.249 [debug] QUERY OK source="media_items" db=5.0ms queue=0.2ms idle=503.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:13:54.251 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=35.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 [] 11:13:54.252 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=35.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 [] 11:13:54.253 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=37.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 [] 11:13:54.259 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=12.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 (NOT (m0."media_filepath" IS NULL)) [] 11:13:54.261 [debug] QUERY OK source="media_items" db=0.9ms queue=0.2ms idle=10.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:13:54.263 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=12.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" IN (?,?)) [6, 2] 11:13:54.332 [debug] QUERY OK source="media_items" db=58.4ms queue=0.1ms idle=21.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 (((((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"))) [] 11:13:54.406 [debug] QUERY OK source="media_items" db=74.0ms idle=78.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:13:54.408 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=148.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] 11:13:54.415 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=152.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:13:54.416 [debug] QUERY OK source="media_items" db=0.7ms idle=151.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3415, 3418] 11:13:54.418 [info] Sent 200 in 204ms 11:14:00.719 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:14:01.490 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=5yHm_v9cvUk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8a/16/8a1695ad95d53f51364d8a8f90b8556b2e8afdad99087f5509d8d775e9aa2ee5.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:14:01.491 [debug] Running yt-dlp command for action: download 11:14:01.492 [debug] QUERY OK source="settings" db=0.5ms idle=1719.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 [] 11:14:01.492 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1720.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 [] 11:14:01.493 [debug] QUERY OK source="settings" db=0.4ms idle=1720.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 [] 11:14:01.494 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=5yHm_v9cvUk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/49/51/4951c747f350b776ed0e0aa801cebe1c12588dc800c65875df2ba7507a8cea03.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:14:03.325 [info] {"source":"oban","duration":3165,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:10.661 [info] GET /sources/6/media/7358/edit 11:14:10.661 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "7358", "source_id" => "6"} Pipelines: [:browser] 11:14:10.663 [debug] QUERY OK source="media_items" db=0.8ms idle=1889.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" = ?) [7358] 11:14:10.664 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1891.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 [] 11:14:10.664 [debug] QUERY OK source="settings" db=0.1ms idle=1892.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 [] 11:14:10.665 [debug] QUERY OK source="settings" db=0.3ms idle=1892.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 [] 11:14:10.669 [info] Sent 200 in 7ms 11:14:33.329 [info] {"source":"oban","duration":3449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:55.141 [info] GET /.well-known/acme-challenge/_CCUCMFxN7RSaKhJavSsASD0MtbAaX_GVxWfrm-jCJc 11:14:55.143 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=1370.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 [] 11:14:55.144 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=1371.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 [] 11:14:55.144 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:14:55.145 [error] #PID<0.27340.0> running PinchflatWeb.Endpoint (connection #PID<0.27339.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/_CCUCMFxN7RSaKhJavSsASD0MtbAaX_GVxWfrm-jCJc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/_CCUCMFxN7RSaKhJavSsASD0MtbAaX_GVxWfrm-jCJc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27339.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/_CCUCMFxN7RSaKhJavSsASD0MtbAaX_GVxWfrm-jCJc", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51332}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/_CCUCMFxN7RSaKhJavSsASD0MtbAaX_GVxWfrm-jCJc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27340.0>, params: %{}, path_info: [".well-known", "acme-challenge", "_CCUCMFxN7RSaKhJavSsASD0MtbAaX_GVxWfrm-jCJc"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/_CCUCMFxN7RSaKhJavSsASD0MtbAaX_GVxWfrm-jCJc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/_CCUCMFxN7RSaKhJavSsASD0MtbAaX_GVxWfrm-jCJc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZCykYbCJLDFcAF-jB"} ], 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.27339.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/_CCUCMFxN7RSaKhJavSsASD0MtbAaX_GVxWfrm-jCJc", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51332}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/_CCUCMFxN7RSaKhJavSsASD0MtbAaX_GVxWfrm-jCJc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/_CCUCMFxN7RSaKhJavSsASD0MtbAaX_GVxWfrm-jCJc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27339.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/_CCUCMFxN7RSaKhJavSsASD0MtbAaX_GVxWfrm-jCJc", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51332}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/_CCUCMFxN7RSaKhJavSsASD0MtbAaX_GVxWfrm-jCJc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27340.0>, params: %{}, path_info: [".well-known", "acme-challenge", "_CCUCMFxN7RSaKhJavSsASD0MtbAaX_GVxWfrm-jCJc"], 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://pinchfla (truncated) 11:14:55.214 [info] GET / 11:14:55.214 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:14:55.215 [debug] QUERY OK source="settings" db=0.7ms idle=1396.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 [] 11:14:55.216 [debug] QUERY OK source="media_profiles" db=0.5ms idle=443.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:14:55.217 [debug] QUERY OK source="sources" db=0.4ms idle=394.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:14:55.302 [debug] QUERY OK source="media_items" db=85.1ms idle=74.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:14:55.309 [debug] QUERY OK source="media_items" db=6.4ms queue=0.1ms idle=159.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:14:55.310 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=94.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 [] 11:14:55.311 [debug] QUERY OK source="settings" db=0.1ms idle=94.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 [] 11:14:55.311 [debug] QUERY OK source="settings" db=0.1ms idle=94.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 [] 11:14:55.318 [debug] QUERY OK source="media_items" db=5.6ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 11:14:55.319 [debug] QUERY OK source="media_items" db=0.6ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:14:55.320 [debug] QUERY OK source="sources" db=0.3ms idle=9.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" IN (?,?)) [6, 2] 11:14:55.340 [debug] QUERY OK source="media_items" db=17.0ms idle=11.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 (((((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"))) [] 11:14:55.388 [debug] QUERY OK source="media_items" db=48.1ms idle=28.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:14:55.390 [debug] QUERY OK source="sources" db=0.7ms idle=70.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] 11:14:55.393 [debug] QUERY OK source="tasks" db=1.1ms idle=72.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:14:55.393 [debug] QUERY OK source="media_items" db=0.3ms idle=72.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3415, 3418] 11:14:55.394 [info] Sent 200 in 180ms 11:14:58.190 [info] GET /.well-known/acme-challenge/eAjJMdPVE6dP8XZMVu-PM4-NAgfgk-pvs7AB4t1QSHc 11:14:58.192 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1419.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 [] 11:14:58.193 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1420.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 [] 11:14:58.194 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:14:58.195 [error] #PID<0.27343.0> running PinchflatWeb.Endpoint (connection #PID<0.27339.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/eAjJMdPVE6dP8XZMVu-PM4-NAgfgk-pvs7AB4t1QSHc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/eAjJMdPVE6dP8XZMVu-PM4-NAgfgk-pvs7AB4t1QSHc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27339.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/eAjJMdPVE6dP8XZMVu-PM4-NAgfgk-pvs7AB4t1QSHc", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51332}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/eAjJMdPVE6dP8XZMVu-PM4-NAgfgk-pvs7AB4t1QSHc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27343.0>, params: %{}, path_info: [".well-known", "acme-challenge", "eAjJMdPVE6dP8XZMVu-PM4-NAgfgk-pvs7AB4t1QSHc"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/eAjJMdPVE6dP8XZMVu-PM4-NAgfgk-pvs7AB4t1QSHc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/eAjJMdPVE6dP8XZMVu-PM4-NAgfgk-pvs7AB4t1QSHc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZC97cUvi32YYAF-oB"} ], 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.27339.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/eAjJMdPVE6dP8XZMVu-PM4-NAgfgk-pvs7AB4t1QSHc", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51332}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/eAjJMdPVE6dP8XZMVu-PM4-NAgfgk-pvs7AB4t1QSHc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/eAjJMdPVE6dP8XZMVu-PM4-NAgfgk-pvs7AB4t1QSHc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27339.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/eAjJMdPVE6dP8XZMVu-PM4-NAgfgk-pvs7AB4t1QSHc", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51332}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/eAjJMdPVE6dP8XZMVu-PM4-NAgfgk-pvs7AB4t1QSHc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27343.0>, params: %{}, path_info: [".well-known", "acme-challenge", "eAjJMdPVE6dP8XZMVu-PM4-NAgfgk-pvs7AB4t1QSHc"], 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://pinchfla (truncated) 11:14:58.843 [info] GET /.well-known/acme-challenge/0_VMcdz1al79mx_GH7DtdUHVxzAdaMufE7Ro1aN2j30 11:14:58.845 [debug] QUERY OK source="settings" db=0.5ms idle=652.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 [] 11:14:58.846 [debug] QUERY OK source="settings" db=0.4ms idle=652.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 [] 11:14:58.846 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:14:58.847 [error] #PID<0.27344.0> running PinchflatWeb.Endpoint (connection #PID<0.27341.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/0_VMcdz1al79mx_GH7DtdUHVxzAdaMufE7Ro1aN2j30 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/0_VMcdz1al79mx_GH7DtdUHVxzAdaMufE7Ro1aN2j30 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27341.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/0_VMcdz1al79mx_GH7DtdUHVxzAdaMufE7Ro1aN2j30", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 51344}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/0_VMcdz1al79mx_GH7DtdUHVxzAdaMufE7Ro1aN2j30", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27344.0>, params: %{}, path_info: [".well-known", "acme-challenge", "0_VMcdz1al79mx_GH7DtdUHVxzAdaMufE7Ro1aN2j30"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/0_VMcdz1al79mx_GH7DtdUHVxzAdaMufE7Ro1aN2j30"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/0_VMcdz1al79mx_GH7DtdUHVxzAdaMufE7Ro1aN2j30", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZDAXIf6kKIYoAF-oh"} ], 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.27341.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/0_VMcdz1al79mx_GH7DtdUHVxzAdaMufE7Ro1aN2j30", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 51344}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/0_VMcdz1al79mx_GH7DtdUHVxzAdaMufE7Ro1aN2j30", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/0_VMcdz1al79mx_GH7DtdUHVxzAdaMufE7Ro1aN2j30 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27341.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/0_VMcdz1al79mx_GH7DtdUHVxzAdaMufE7Ro1aN2j30", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 51344}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/0_VMcdz1al79mx_GH7DtdUHVxzAdaMufE7Ro1aN2j30", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27344.0>, params: %{}, path_info: [".well-known", "acme-challenge", "0_VMcdz1al79mx_GH7DtdUHVxzAdaMufE7Ro1aN2j30"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:14:59.420 [info] GET /.well-known/acme-challenge/XI2lIy8s9l0rhW9toB0YuJvs_z9f9hqYFczrqhrlNAM 11:14:59.422 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=649.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 [] 11:14:59.423 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=650.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 [] 11:14:59.423 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:14:59.425 [error] #PID<0.27345.0> running PinchflatWeb.Endpoint (connection #PID<0.27341.0>, stream id 3) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/XI2lIy8s9l0rhW9toB0YuJvs_z9f9hqYFczrqhrlNAM ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/XI2lIy8s9l0rhW9toB0YuJvs_z9f9hqYFczrqhrlNAM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27341.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/XI2lIy8s9l0rhW9toB0YuJvs_z9f9hqYFczrqhrlNAM", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 51344}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/XI2lIy8s9l0rhW9toB0YuJvs_z9f9hqYFczrqhrlNAM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27345.0>, params: %{}, path_info: [".well-known", "acme-challenge", "XI2lIy8s9l0rhW9toB0YuJvs_z9f9hqYFczrqhrlNAM"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/XI2lIy8s9l0rhW9toB0YuJvs_z9f9hqYFczrqhrlNAM"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/XI2lIy8s9l0rhW9toB0YuJvs_z9f9hqYFczrqhrlNAM", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZDCgkMsQ7G5QAF-pB"} ], 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.27341.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/XI2lIy8s9l0rhW9toB0YuJvs_z9f9hqYFczrqhrlNAM", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 51344}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/XI2lIy8s9l0rhW9toB0YuJvs_z9f9hqYFczrqhrlNAM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/XI2lIy8s9l0rhW9toB0YuJvs_z9f9hqYFczrqhrlNAM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27341.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/XI2lIy8s9l0rhW9toB0YuJvs_z9f9hqYFczrqhrlNAM", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 51344}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/XI2lIy8s9l0rhW9toB0YuJvs_z9f9hqYFczrqhrlNAM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27345.0>, params: %{}, path_info: [".well-known", "acme-challenge", "XI2lIy8s9l0rhW9toB0YuJvs_z9f9hqYFczrqhrlNAM"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:15:00.722 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:15:03.332 [info] {"source":"oban","duration":2879,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:04.346 [info] GET /.well-known/acme-challenge/TxXneDQEeG3g6RXCtB_ECZFzdjgKbKUfsPuf2x6Cxm0 11:15:04.347 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1574.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 [] 11:15:04.347 [debug] QUERY OK source="settings" db=0.1ms idle=1575.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 [] 11:15:04.348 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:15:04.348 [error] #PID<0.27347.0> running PinchflatWeb.Endpoint (connection #PID<0.27346.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/TxXneDQEeG3g6RXCtB_ECZFzdjgKbKUfsPuf2x6Cxm0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/TxXneDQEeG3g6RXCtB_ECZFzdjgKbKUfsPuf2x6Cxm0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27346.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/TxXneDQEeG3g6RXCtB_ECZFzdjgKbKUfsPuf2x6Cxm0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51348}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/TxXneDQEeG3g6RXCtB_ECZFzdjgKbKUfsPuf2x6Cxm0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27347.0>, params: %{}, path_info: [".well-known", "acme-challenge", "TxXneDQEeG3g6RXCtB_ECZFzdjgKbKUfsPuf2x6Cxm0"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/TxXneDQEeG3g6RXCtB_ECZFzdjgKbKUfsPuf2x6Cxm0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/TxXneDQEeG3g6RXCtB_ECZFzdjgKbKUfsPuf2x6Cxm0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZDU2_gGkEelMAF-ph"} ], 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.27346.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/TxXneDQEeG3g6RXCtB_ECZFzdjgKbKUfsPuf2x6Cxm0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51348}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/TxXneDQEeG3g6RXCtB_ECZFzdjgKbKUfsPuf2x6Cxm0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/TxXneDQEeG3g6RXCtB_ECZFzdjgKbKUfsPuf2x6Cxm0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27346.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/TxXneDQEeG3g6RXCtB_ECZFzdjgKbKUfsPuf2x6Cxm0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51348}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/TxXneDQEeG3g6RXCtB_ECZFzdjgKbKUfsPuf2x6Cxm0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27347.0>, params: %{}, path_info: [".well-known", "acme-challenge", "TxXneDQEeG3g6RXCtB_ECZFzdjgKbKUfsPuf2x6Cxm0"], 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://pinchfla (truncated) 11:15:12.037 [info] GET /.well-known/acme-challenge/YZ30BdkcgX3x-Z7KueCgV7-k5lfetM8tjlG42gSLbJY 11:15:12.039 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1266.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 [] 11:15:12.040 [debug] QUERY OK source="settings" db=0.6ms idle=1159.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 [] 11:15:12.040 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:15:12.041 [error] #PID<0.27349.0> running PinchflatWeb.Endpoint (connection #PID<0.27348.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/YZ30BdkcgX3x-Z7KueCgV7-k5lfetM8tjlG42gSLbJY ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/YZ30BdkcgX3x-Z7KueCgV7-k5lfetM8tjlG42gSLbJY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27348.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/YZ30BdkcgX3x-Z7KueCgV7-k5lfetM8tjlG42gSLbJY", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 33116}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/YZ30BdkcgX3x-Z7KueCgV7-k5lfetM8tjlG42gSLbJY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27349.0>, params: %{}, path_info: [".well-known", "acme-challenge", "YZ30BdkcgX3x-Z7KueCgV7-k5lfetM8tjlG42gSLbJY"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/YZ30BdkcgX3x-Z7KueCgV7-k5lfetM8tjlG42gSLbJY"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/YZ30BdkcgX3x-Z7KueCgV7-k5lfetM8tjlG42gSLbJY", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZDxgwBcpwBa0AF-qB"} ], 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.27348.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/YZ30BdkcgX3x-Z7KueCgV7-k5lfetM8tjlG42gSLbJY", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 33116}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/YZ30BdkcgX3x-Z7KueCgV7-k5lfetM8tjlG42gSLbJY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/YZ30BdkcgX3x-Z7KueCgV7-k5lfetM8tjlG42gSLbJY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27348.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/YZ30BdkcgX3x-Z7KueCgV7-k5lfetM8tjlG42gSLbJY", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 33116}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/YZ30BdkcgX3x-Z7KueCgV7-k5lfetM8tjlG42gSLbJY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27349.0>, params: %{}, path_info: [".well-known", "acme-challenge", "YZ30BdkcgX3x-Z7KueCgV7-k5lfetM8tjlG42gSLbJY"], 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://pinchfla (truncated) 11:15:18.849 [info] GET /.well-known/acme-challenge/7da9BbZC6mneZltOUwXXHcCR-R7mEEmX4v5AGtIy_Yk 11:15:18.850 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1078.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 [] 11:15:18.852 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1079.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 [] 11:15:18.852 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:15:18.853 [error] #PID<0.27353.0> running PinchflatWeb.Endpoint (connection #PID<0.27352.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/7da9BbZC6mneZltOUwXXHcCR-R7mEEmX4v5AGtIy_Yk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/7da9BbZC6mneZltOUwXXHcCR-R7mEEmX4v5AGtIy_Yk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27352.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/7da9BbZC6mneZltOUwXXHcCR-R7mEEmX4v5AGtIy_Yk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 35902}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/7da9BbZC6mneZltOUwXXHcCR-R7mEEmX4v5AGtIy_Yk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27353.0>, params: %{}, path_info: [".well-known", "acme-challenge", "7da9BbZC6mneZltOUwXXHcCR-R7mEEmX4v5AGtIy_Yk"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/7da9BbZC6mneZltOUwXXHcCR-R7mEEmX4v5AGtIy_Yk"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/7da9BbZC6mneZltOUwXXHcCR-R7mEEmX4v5AGtIy_Yk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZEK4tvNzR23YAF-rB"} ], 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.27352.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/7da9BbZC6mneZltOUwXXHcCR-R7mEEmX4v5AGtIy_Yk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 35902}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/7da9BbZC6mneZltOUwXXHcCR-R7mEEmX4v5AGtIy_Yk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/7da9BbZC6mneZltOUwXXHcCR-R7mEEmX4v5AGtIy_Yk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27352.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/7da9BbZC6mneZltOUwXXHcCR-R7mEEmX4v5AGtIy_Yk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 35902}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/7da9BbZC6mneZltOUwXXHcCR-R7mEEmX4v5AGtIy_Yk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27353.0>, params: %{}, path_info: [".well-known", "acme-challenge", "7da9BbZC6mneZltOUwXXHcCR-R7mEEmX4v5AGtIy_Yk"], 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://pinchfla (truncated) 11:15:26.281 [info] GET /.well-known/acme-challenge/iL1wj2riFW7OOdJnRbEiEv9DNzt2vGvkE_QzBIaQn6k 11:15:26.283 [debug] QUERY OK source="settings" db=1.1ms idle=1510.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 [] 11:15:26.284 [debug] QUERY OK source="settings" db=0.4ms idle=1353.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 [] 11:15:26.284 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:15:26.285 [error] #PID<0.27355.0> running PinchflatWeb.Endpoint (connection #PID<0.27354.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/iL1wj2riFW7OOdJnRbEiEv9DNzt2vGvkE_QzBIaQn6k ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/iL1wj2riFW7OOdJnRbEiEv9DNzt2vGvkE_QzBIaQn6k (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27354.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/iL1wj2riFW7OOdJnRbEiEv9DNzt2vGvkE_QzBIaQn6k", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36768}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/iL1wj2riFW7OOdJnRbEiEv9DNzt2vGvkE_QzBIaQn6k", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27355.0>, params: %{}, path_info: [".well-known", "acme-challenge", "iL1wj2riFW7OOdJnRbEiEv9DNzt2vGvkE_QzBIaQn6k"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/iL1wj2riFW7OOdJnRbEiEv9DNzt2vGvkE_QzBIaQn6k"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/iL1wj2riFW7OOdJnRbEiEv9DNzt2vGvkE_QzBIaQn6k", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZEmk2lqzm_EcAF-rh"} ], 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.27354.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/iL1wj2riFW7OOdJnRbEiEv9DNzt2vGvkE_QzBIaQn6k", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36768}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/iL1wj2riFW7OOdJnRbEiEv9DNzt2vGvkE_QzBIaQn6k", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/iL1wj2riFW7OOdJnRbEiEv9DNzt2vGvkE_QzBIaQn6k (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27354.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/iL1wj2riFW7OOdJnRbEiEv9DNzt2vGvkE_QzBIaQn6k", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36768}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/iL1wj2riFW7OOdJnRbEiEv9DNzt2vGvkE_QzBIaQn6k", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27355.0>, params: %{}, path_info: [".well-known", "acme-challenge", "iL1wj2riFW7OOdJnRbEiEv9DNzt2vGvkE_QzBIaQn6k"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:15:33.335 [info] {"source":"oban","duration":1555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:33.638 [info] GET /.well-known/acme-challenge/JfJiUx1L-GD0hotarIgsOEqg-K4J2m-ucbuKSSc-mmM 11:15:33.639 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1866.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 [] 11:15:33.640 [debug] QUERY OK source="settings" db=0.6ms idle=1685.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 [] 11:15:33.640 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:15:33.641 [error] #PID<0.27357.0> running PinchflatWeb.Endpoint (connection #PID<0.27356.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/JfJiUx1L-GD0hotarIgsOEqg-K4J2m-ucbuKSSc-mmM ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/JfJiUx1L-GD0hotarIgsOEqg-K4J2m-ucbuKSSc-mmM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27356.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/JfJiUx1L-GD0hotarIgsOEqg-K4J2m-ucbuKSSc-mmM", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36770}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/JfJiUx1L-GD0hotarIgsOEqg-K4J2m-ucbuKSSc-mmM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27357.0>, params: %{}, path_info: [".well-known", "acme-challenge", "JfJiUx1L-GD0hotarIgsOEqg-K4J2m-ucbuKSSc-mmM"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/JfJiUx1L-GD0hotarIgsOEqg-K4J2m-ucbuKSSc-mmM"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/JfJiUx1L-GD0hotarIgsOEqg-K4J2m-ucbuKSSc-mmM", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZFB-0TJAUpUUAF-sB"} ], 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.27356.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/JfJiUx1L-GD0hotarIgsOEqg-K4J2m-ucbuKSSc-mmM", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36770}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/JfJiUx1L-GD0hotarIgsOEqg-K4J2m-ucbuKSSc-mmM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/JfJiUx1L-GD0hotarIgsOEqg-K4J2m-ucbuKSSc-mmM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27356.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/JfJiUx1L-GD0hotarIgsOEqg-K4J2m-ucbuKSSc-mmM", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36770}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/JfJiUx1L-GD0hotarIgsOEqg-K4J2m-ucbuKSSc-mmM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27357.0>, params: %{}, path_info: [".well-known", "acme-challenge", "JfJiUx1L-GD0hotarIgsOEqg-K4J2m-ucbuKSSc-mmM"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:15:49.350 [info] GET /.well-known/acme-challenge/VwwLVX_SQM89Z1gZImLGC2BDzSYeEYIwx_FhNqHrA9M 11:15:49.352 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=579.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 [] 11:15:49.353 [debug] QUERY OK source="settings" db=0.4ms idle=580.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 [] 11:15:49.353 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:15:49.354 [error] #PID<0.27361.0> running PinchflatWeb.Endpoint (connection #PID<0.27360.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/VwwLVX_SQM89Z1gZImLGC2BDzSYeEYIwx_FhNqHrA9M ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/VwwLVX_SQM89Z1gZImLGC2BDzSYeEYIwx_FhNqHrA9M (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27360.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/VwwLVX_SQM89Z1gZImLGC2BDzSYeEYIwx_FhNqHrA9M", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 40966}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/VwwLVX_SQM89Z1gZImLGC2BDzSYeEYIwx_FhNqHrA9M", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27361.0>, params: %{}, path_info: [".well-known", "acme-challenge", "VwwLVX_SQM89Z1gZImLGC2BDzSYeEYIwx_FhNqHrA9M"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/VwwLVX_SQM89Z1gZImLGC2BDzSYeEYIwx_FhNqHrA9M"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.210"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/VwwLVX_SQM89Z1gZImLGC2BDzSYeEYIwx_FhNqHrA9M", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZF8g8PH-4hFwAF-tB"} ], 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.27360.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/VwwLVX_SQM89Z1gZImLGC2BDzSYeEYIwx_FhNqHrA9M", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 40966}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/VwwLVX_SQM89Z1gZImLGC2BDzSYeEYIwx_FhNqHrA9M", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/VwwLVX_SQM89Z1gZImLGC2BDzSYeEYIwx_FhNqHrA9M (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27360.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/VwwLVX_SQM89Z1gZImLGC2BDzSYeEYIwx_FhNqHrA9M", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 40966}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/VwwLVX_SQM89Z1gZImLGC2BDzSYeEYIwx_FhNqHrA9M", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27361.0>, params: %{}, path_info: [".well-known", "acme-challenge", "VwwLVX_SQM89Z1gZImLGC2BDzSYeEYIwx_FhNqHrA9M"], 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://pinchflat.suranyami.com", :phoenix_router => Pinc (truncated) 11:15:56.063 [info] GET / 11:15:56.063 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:15:56.064 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1292.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 [] 11:15:56.065 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1293.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:15:56.066 [debug] QUERY OK source="sources" db=0.2ms idle=1293.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:15:56.087 [debug] QUERY OK source="media_items" db=20.5ms idle=1030.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:15:56.106 [debug] QUERY OK source="media_items" db=19.0ms idle=48.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:15:56.108 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=42.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 [] 11:15:56.109 [debug] QUERY OK source="settings" db=0.4ms idle=43.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 [] 11:15:56.110 [debug] QUERY OK source="settings" db=0.3ms idle=43.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 [] 11:15:56.119 [debug] QUERY OK source="media_items" db=7.5ms idle=25.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 (NOT (m0."media_filepath" IS NULL)) [] 11:15:56.122 [debug] QUERY OK source="media_items" db=1.7ms queue=0.2ms idle=13.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:15:56.124 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms 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" IN (?,?)) [6, 2] 11:15:56.192 [debug] QUERY OK source="media_items" db=61.1ms queue=0.1ms idle=21.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 (((((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"))) [] 11:15:56.290 [debug] QUERY OK source="media_items" db=96.1ms queue=0.3ms idle=83.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:15:56.291 [debug] QUERY OK source="sources" db=0.3ms idle=170.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] 11:15:56.296 [debug] QUERY OK source="tasks" db=0.4ms idle=173.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:15:56.297 [debug] QUERY OK source="media_items" db=0.4ms idle=172.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3415, 3418] 11:15:56.298 [info] Sent 200 in 235ms 11:15:59.157 [info] GET /.well-known/acme-challenge/dNx6LtS1eY8ucFAODMTn7t-GMry02Nm8h61HNKk14MY 11:15:59.159 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1386.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 [] 11:15:59.160 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1387.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 [] 11:15:59.160 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:15:59.161 [error] #PID<0.27366.0> running PinchflatWeb.Endpoint (connection #PID<0.27365.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/dNx6LtS1eY8ucFAODMTn7t-GMry02Nm8h61HNKk14MY ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/dNx6LtS1eY8ucFAODMTn7t-GMry02Nm8h61HNKk14MY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27365.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/dNx6LtS1eY8ucFAODMTn7t-GMry02Nm8h61HNKk14MY", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 42212}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/dNx6LtS1eY8ucFAODMTn7t-GMry02Nm8h61HNKk14MY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.213", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27366.0>, params: %{}, path_info: [".well-known", "acme-challenge", "dNx6LtS1eY8ucFAODMTn7t-GMry02Nm8h61HNKk14MY"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/dNx6LtS1eY8ucFAODMTn7t-GMry02Nm8h61HNKk14MY"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.213"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/dNx6LtS1eY8ucFAODMTn7t-GMry02Nm8h61HNKk14MY", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZGhDG0G5ASQsAF-vB"} ], 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.27365.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/dNx6LtS1eY8ucFAODMTn7t-GMry02Nm8h61HNKk14MY", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 42212}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/dNx6LtS1eY8ucFAODMTn7t-GMry02Nm8h61HNKk14MY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.213", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/dNx6LtS1eY8ucFAODMTn7t-GMry02Nm8h61HNKk14MY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27365.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/dNx6LtS1eY8ucFAODMTn7t-GMry02Nm8h61HNKk14MY", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 42212}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/dNx6LtS1eY8ucFAODMTn7t-GMry02Nm8h61HNKk14MY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.213", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27366.0>, params: %{}, path_info: [".well-known", "acme-challenge", "dNx6LtS1eY8ucFAODMTn7t-GMry02Nm8h61HNKk14MY"], 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://pinc (truncated) 11:15:59.842 [info] GET /.well-known/acme-challenge/svl_6BVQ3zAY7Frh95_0J-rvx-h4EpuH7_Kd3g9t2Hw 11:15:59.844 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=792.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 [] 11:15:59.845 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=684.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 [] 11:15:59.845 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:15:59.846 [error] #PID<0.27367.0> running PinchflatWeb.Endpoint (connection #PID<0.27365.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/svl_6BVQ3zAY7Frh95_0J-rvx-h4EpuH7_Kd3g9t2Hw ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/svl_6BVQ3zAY7Frh95_0J-rvx-h4EpuH7_Kd3g9t2Hw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27365.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/svl_6BVQ3zAY7Frh95_0J-rvx-h4EpuH7_Kd3g9t2Hw", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 42212}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/svl_6BVQ3zAY7Frh95_0J-rvx-h4EpuH7_Kd3g9t2Hw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.219", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27367.0>, params: %{}, path_info: [".well-known", "acme-challenge", "svl_6BVQ3zAY7Frh95_0J-rvx-h4EpuH7_Kd3g9t2Hw"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/svl_6BVQ3zAY7Frh95_0J-rvx-h4EpuH7_Kd3g9t2Hw"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.219"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/svl_6BVQ3zAY7Frh95_0J-rvx-h4EpuH7_Kd3g9t2Hw", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZGjmRKAMkdikAF-vh"} ], 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.27365.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/svl_6BVQ3zAY7Frh95_0J-rvx-h4EpuH7_Kd3g9t2Hw", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 42212}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/svl_6BVQ3zAY7Frh95_0J-rvx-h4EpuH7_Kd3g9t2Hw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.219", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/svl_6BVQ3zAY7Frh95_0J-rvx-h4EpuH7_Kd3g9t2Hw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27365.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/svl_6BVQ3zAY7Frh95_0J-rvx-h4EpuH7_Kd3g9t2Hw", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 42212}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/svl_6BVQ3zAY7Frh95_0J-rvx-h4EpuH7_Kd3g9t2Hw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.219", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27367.0>, params: %{}, path_info: [".well-known", "acme-challenge", "svl_6BVQ3zAY7Frh95_0J-rvx-h4EpuH7_Kd3g9t2Hw"], 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://pinc (truncated) 11:16:00.724 [info] {"source":"oban","duration":1101,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:16:03.337 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:03.948 [info] GET /.well-known/acme-challenge/1W3L8uq2rkhxYwoN4Ga_L-X6zDxpE8DquYHlfpCpMT4 11:16:03.950 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=883.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 [] 11:16:03.951 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=613.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 [] 11:16:03.952 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:16:03.953 [error] #PID<0.27369.0> running PinchflatWeb.Endpoint (connection #PID<0.27368.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/1W3L8uq2rkhxYwoN4Ga_L-X6zDxpE8DquYHlfpCpMT4 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/1W3L8uq2rkhxYwoN4Ga_L-X6zDxpE8DquYHlfpCpMT4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27368.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/1W3L8uq2rkhxYwoN4Ga_L-X6zDxpE8DquYHlfpCpMT4", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 42220}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/1W3L8uq2rkhxYwoN4Ga_L-X6zDxpE8DquYHlfpCpMT4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.108", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27369.0>, params: %{}, path_info: [".well-known", "acme-challenge", "1W3L8uq2rkhxYwoN4Ga_L-X6zDxpE8DquYHlfpCpMT4"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/1W3L8uq2rkhxYwoN4Ga_L-X6zDxpE8DquYHlfpCpMT4"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.108"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/1W3L8uq2rkhxYwoN4Ga_L-X6zDxpE8DquYHlfpCpMT4", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZGy5UEfnose4AF-wB"} ], 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.27368.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/1W3L8uq2rkhxYwoN4Ga_L-X6zDxpE8DquYHlfpCpMT4", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 42220}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/1W3L8uq2rkhxYwoN4Ga_L-X6zDxpE8DquYHlfpCpMT4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.108", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/1W3L8uq2rkhxYwoN4Ga_L-X6zDxpE8DquYHlfpCpMT4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27368.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/1W3L8uq2rkhxYwoN4Ga_L-X6zDxpE8DquYHlfpCpMT4", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 42220}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/1W3L8uq2rkhxYwoN4Ga_L-X6zDxpE8DquYHlfpCpMT4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.108", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27369.0>, params: %{}, path_info: [".well-known", "acme-challenge", "1W3L8uq2rkhxYwoN4Ga_L-X6zDxpE8DquYHlfpCpMT4"], 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://pinchflat.suranyami.com", :phoenix_router => Pinc (truncated) 11:16:11.254 [info] GET /.well-known/acme-challenge/uExv9V4S-3_oCPYHLaNTwZ7EeqVTWQNfzm1wJ_dZT1M 11:16:11.256 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=1483.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 [] 11:16:11.257 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1484.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 [] 11:16:11.258 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:16:11.259 [error] #PID<0.27371.0> running PinchflatWeb.Endpoint (connection #PID<0.27370.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/uExv9V4S-3_oCPYHLaNTwZ7EeqVTWQNfzm1wJ_dZT1M ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/uExv9V4S-3_oCPYHLaNTwZ7EeqVTWQNfzm1wJ_dZT1M (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27370.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/uExv9V4S-3_oCPYHLaNTwZ7EeqVTWQNfzm1wJ_dZT1M", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53626}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/uExv9V4S-3_oCPYHLaNTwZ7EeqVTWQNfzm1wJ_dZT1M", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.219", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27371.0>, params: %{}, path_info: [".well-known", "acme-challenge", "uExv9V4S-3_oCPYHLaNTwZ7EeqVTWQNfzm1wJ_dZT1M"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/uExv9V4S-3_oCPYHLaNTwZ7EeqVTWQNfzm1wJ_dZT1M"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.219"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/uExv9V4S-3_oCPYHLaNTwZ7EeqVTWQNfzm1wJ_dZT1M", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZHOHOCrXUJHkAF-wh"} ], 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.27370.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/uExv9V4S-3_oCPYHLaNTwZ7EeqVTWQNfzm1wJ_dZT1M", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53626}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/uExv9V4S-3_oCPYHLaNTwZ7EeqVTWQNfzm1wJ_dZT1M", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.219", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/uExv9V4S-3_oCPYHLaNTwZ7EeqVTWQNfzm1wJ_dZT1M (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27370.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/uExv9V4S-3_oCPYHLaNTwZ7EeqVTWQNfzm1wJ_dZT1M", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53626}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/uExv9V4S-3_oCPYHLaNTwZ7EeqVTWQNfzm1wJ_dZT1M", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.219", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27371.0>, params: %{}, path_info: [".well-known", "acme-challenge", "uExv9V4S-3_oCPYHLaNTwZ7EeqVTWQNfzm1wJ_dZT1M"], 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://pinchflat.suranyami.com", :phoenix_router => Pinc (truncated) 11:16:18.180 [info] GET /.well-known/acme-challenge/FLhBBfao7lxIzXLJkrlJLIbG_E7PxKFlaBjK1MCFbT4 11:16:18.181 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1408.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 [] 11:16:18.182 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1048.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 [] 11:16:18.183 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:16:18.183 [error] #PID<0.27375.0> running PinchflatWeb.Endpoint (connection #PID<0.27374.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/FLhBBfao7lxIzXLJkrlJLIbG_E7PxKFlaBjK1MCFbT4 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/FLhBBfao7lxIzXLJkrlJLIbG_E7PxKFlaBjK1MCFbT4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27374.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/FLhBBfao7lxIzXLJkrlJLIbG_E7PxKFlaBjK1MCFbT4", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 46906}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/FLhBBfao7lxIzXLJkrlJLIbG_E7PxKFlaBjK1MCFbT4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.219", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27375.0>, params: %{}, path_info: [".well-known", "acme-challenge", "FLhBBfao7lxIzXLJkrlJLIbG_E7PxKFlaBjK1MCFbT4"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/FLhBBfao7lxIzXLJkrlJLIbG_E7PxKFlaBjK1MCFbT4"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.219"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/FLhBBfao7lxIzXLJkrlJLIbG_E7PxKFlaBjK1MCFbT4", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZHn6dXjiBcKsAFNKC"} ], 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.27374.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/FLhBBfao7lxIzXLJkrlJLIbG_E7PxKFlaBjK1MCFbT4", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 46906}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/FLhBBfao7lxIzXLJkrlJLIbG_E7PxKFlaBjK1MCFbT4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.219", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/FLhBBfao7lxIzXLJkrlJLIbG_E7PxKFlaBjK1MCFbT4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27374.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/FLhBBfao7lxIzXLJkrlJLIbG_E7PxKFlaBjK1MCFbT4", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 46906}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/FLhBBfao7lxIzXLJkrlJLIbG_E7PxKFlaBjK1MCFbT4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.219", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27375.0>, params: %{}, path_info: [".well-known", "acme-challenge", "FLhBBfao7lxIzXLJkrlJLIbG_E7PxKFlaBjK1MCFbT4"], 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://pinchflat.suranyami.com", :phoenix_router => Pinc (truncated) 11:16:18.942 [info] GET /.well-known/acme-challenge/lcrVp5ENZbGQyL0i8Hy7ZcgIOeI9VqU6R0TIn28ZtK0 11:16:18.944 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1170.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 [] 11:16:18.945 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=1172.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 [] 11:16:18.945 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:16:18.946 [error] #PID<0.27376.0> running PinchflatWeb.Endpoint (connection #PID<0.27374.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/lcrVp5ENZbGQyL0i8Hy7ZcgIOeI9VqU6R0TIn28ZtK0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/lcrVp5ENZbGQyL0i8Hy7ZcgIOeI9VqU6R0TIn28ZtK0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27374.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/lcrVp5ENZbGQyL0i8Hy7ZcgIOeI9VqU6R0TIn28ZtK0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 46906}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/lcrVp5ENZbGQyL0i8Hy7ZcgIOeI9VqU6R0TIn28ZtK0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27376.0>, params: %{}, path_info: [".well-known", "acme-challenge", "lcrVp5ENZbGQyL0i8Hy7ZcgIOeI9VqU6R0TIn28ZtK0"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/lcrVp5ENZbGQyL0i8Hy7ZcgIOeI9VqU6R0TIn28ZtK0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.210"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/lcrVp5ENZbGQyL0i8Hy7ZcgIOeI9VqU6R0TIn28ZtK0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZHqwHSbqIsFQAF-xh"} ], 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.27374.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/lcrVp5ENZbGQyL0i8Hy7ZcgIOeI9VqU6R0TIn28ZtK0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 46906}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/lcrVp5ENZbGQyL0i8Hy7ZcgIOeI9VqU6R0TIn28ZtK0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/lcrVp5ENZbGQyL0i8Hy7ZcgIOeI9VqU6R0TIn28ZtK0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27374.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/lcrVp5ENZbGQyL0i8Hy7ZcgIOeI9VqU6R0TIn28ZtK0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 46906}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/lcrVp5ENZbGQyL0i8Hy7ZcgIOeI9VqU6R0TIn28ZtK0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27376.0>, params: %{}, path_info: [".well-known", "acme-challenge", "lcrVp5ENZbGQyL0i8Hy7ZcgIOeI9VqU6R0TIn28ZtK0"], 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://pinchflat.suranyami.com", :phoenix_router => Pinc (truncated) 11:16:28.470 [info] GET /.well-known/acme-challenge/LmDn9VP9ByNMxSiGXfYvdMTw7-EjqM1SAklGV4aLfRg 11:16:28.471 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=1699.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 [] 11:16:28.472 [debug] QUERY OK source="settings" db=0.1ms queue=0.2ms 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 [] 11:16:28.472 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:16:28.473 [error] #PID<0.27378.0> running PinchflatWeb.Endpoint (connection #PID<0.27377.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/LmDn9VP9ByNMxSiGXfYvdMTw7-EjqM1SAklGV4aLfRg ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/LmDn9VP9ByNMxSiGXfYvdMTw7-EjqM1SAklGV4aLfRg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27377.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/LmDn9VP9ByNMxSiGXfYvdMTw7-EjqM1SAklGV4aLfRg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 46678}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/LmDn9VP9ByNMxSiGXfYvdMTw7-EjqM1SAklGV4aLfRg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27378.0>, params: %{}, path_info: [".well-known", "acme-challenge", "LmDn9VP9ByNMxSiGXfYvdMTw7-EjqM1SAklGV4aLfRg"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/LmDn9VP9ByNMxSiGXfYvdMTw7-EjqM1SAklGV4aLfRg"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.210"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/LmDn9VP9ByNMxSiGXfYvdMTw7-EjqM1SAklGV4aLfRg", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZIOPzbMSTdFYAF-yB"} ], 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.27377.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/LmDn9VP9ByNMxSiGXfYvdMTw7-EjqM1SAklGV4aLfRg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 46678}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/LmDn9VP9ByNMxSiGXfYvdMTw7-EjqM1SAklGV4aLfRg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/LmDn9VP9ByNMxSiGXfYvdMTw7-EjqM1SAklGV4aLfRg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27377.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/LmDn9VP9ByNMxSiGXfYvdMTw7-EjqM1SAklGV4aLfRg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 46678}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/LmDn9VP9ByNMxSiGXfYvdMTw7-EjqM1SAklGV4aLfRg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27378.0>, params: %{}, path_info: [".well-known", "acme-challenge", "LmDn9VP9ByNMxSiGXfYvdMTw7-EjqM1SAklGV4aLfRg"], 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://pinc (truncated) 11:16:28.659 [info] GET /.well-known/acme-challenge/8i9Par62NSUscIsS2-y45Xh5qW9geETLJ1xMUk-N9SE 11:16:28.660 [debug] QUERY OK source="settings" db=0.3ms idle=888.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 [] 11:16:28.661 [debug] QUERY OK source="settings" db=0.3ms idle=888.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 [] 11:16:28.661 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:16:28.661 [error] #PID<0.27379.0> running PinchflatWeb.Endpoint (connection #PID<0.27377.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/8i9Par62NSUscIsS2-y45Xh5qW9geETLJ1xMUk-N9SE ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/8i9Par62NSUscIsS2-y45Xh5qW9geETLJ1xMUk-N9SE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27377.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/8i9Par62NSUscIsS2-y45Xh5qW9geETLJ1xMUk-N9SE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 46678}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/8i9Par62NSUscIsS2-y45Xh5qW9geETLJ1xMUk-N9SE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.212", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27379.0>, params: %{}, path_info: [".well-known", "acme-challenge", "8i9Par62NSUscIsS2-y45Xh5qW9geETLJ1xMUk-N9SE"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/8i9Par62NSUscIsS2-y45Xh5qW9geETLJ1xMUk-N9SE"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.212"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/8i9Par62NSUscIsS2-y45Xh5qW9geETLJ1xMUk-N9SE", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZIO85Bax2ji4AF-yh"} ], 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.27377.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/8i9Par62NSUscIsS2-y45Xh5qW9geETLJ1xMUk-N9SE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 46678}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/8i9Par62NSUscIsS2-y45Xh5qW9geETLJ1xMUk-N9SE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.212", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/8i9Par62NSUscIsS2-y45Xh5qW9geETLJ1xMUk-N9SE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27377.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/8i9Par62NSUscIsS2-y45Xh5qW9geETLJ1xMUk-N9SE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 46678}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/8i9Par62NSUscIsS2-y45Xh5qW9geETLJ1xMUk-N9SE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.212", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27379.0>, params: %{}, path_info: [".well-known", "acme-challenge", "8i9Par62NSUscIsS2-y45Xh5qW9geETLJ1xMUk-N9SE"], 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://pinc (truncated) 11:16:33.172 [info] GET /.well-known/acme-challenge/w9x0lkLDJgbUstNfcJ2EPj16IhEQstgOojWBL4BNOyA 11:16:33.174 [debug] QUERY OK source="settings" db=0.9ms idle=1401.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 [] 11:16:33.175 [debug] QUERY OK source="settings" db=0.6ms idle=1402.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 [] 11:16:33.175 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:16:33.176 [error] #PID<0.27380.0> running PinchflatWeb.Endpoint (connection #PID<0.27377.0>, stream id 3) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/w9x0lkLDJgbUstNfcJ2EPj16IhEQstgOojWBL4BNOyA ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/w9x0lkLDJgbUstNfcJ2EPj16IhEQstgOojWBL4BNOyA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27377.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/w9x0lkLDJgbUstNfcJ2EPj16IhEQstgOojWBL4BNOyA", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 46678}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/w9x0lkLDJgbUstNfcJ2EPj16IhEQstgOojWBL4BNOyA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27380.0>, params: %{}, path_info: [".well-known", "acme-challenge", "w9x0lkLDJgbUstNfcJ2EPj16IhEQstgOojWBL4BNOyA"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/w9x0lkLDJgbUstNfcJ2EPj16IhEQstgOojWBL4BNOyA"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.107"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/w9x0lkLDJgbUstNfcJ2EPj16IhEQstgOojWBL4BNOyA", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZIfw4_BTB0msAF-zB"} ], 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.27377.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/w9x0lkLDJgbUstNfcJ2EPj16IhEQstgOojWBL4BNOyA", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 46678}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/w9x0lkLDJgbUstNfcJ2EPj16IhEQstgOojWBL4BNOyA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/w9x0lkLDJgbUstNfcJ2EPj16IhEQstgOojWBL4BNOyA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27377.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/w9x0lkLDJgbUstNfcJ2EPj16IhEQstgOojWBL4BNOyA", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 46678}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/w9x0lkLDJgbUstNfcJ2EPj16IhEQstgOojWBL4BNOyA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27380.0>, params: %{}, path_info: [".well-known", "acme-challenge", "w9x0lkLDJgbUstNfcJ2EPj16IhEQstgOojWBL4BNOyA"], 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://pinc (truncated) 11:16:33.340 [info] {"source":"oban","duration":2976,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:37.879 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=5yHm_v9cvUk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/49/51/4951c747f350b776ed0e0aa801cebe1c12588dc800c65875df2ba7507a8cea03.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] Failed to download m3u8 information: [Errno -3] Temporary failure in name resolution WARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (1/3)... WARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (2/3)... WARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (3/3)... ERROR: Preprocessing: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies ERROR: Preprocessing: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution 11:16:37.879 [error] yt-dlp download error for media item #3418: "WARNING: [youtube] Failed to download m3u8 information: [Errno -3] Temporary failure in name resolution\nWARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (1/3)...\nWARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (2/3)...\nWARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (3/3)...\nERROR: Preprocessing: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution\nWARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies\nERROR: Preprocessing: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution\n" 11:16:37.889 [info] Recovery from yt-dlp error seems possible. Updating media item #3418 with parsed JSON from partial download attempt. Full download will be re-attemted in future anyway 11:16:37.968 [debug] Running yt-dlp command for action: download_thumbnail 11:16:37.970 [debug] QUERY OK source="settings" db=0.2ms idle=1198.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 [] 11:16:37.970 [debug] QUERY OK source="settings" db=0.1ms idle=1198.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 [] 11:16:37.971 [debug] QUERY OK source="settings" db=0.2ms idle=1198.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 [] 11:16:37.971 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=5yHm_v9cvUk --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3418/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/a8/f9/a8f93465d152ab6617456761a742170d0259e9cc345282da4ab37b3d861d8986.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:16:46.925 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=5yHm_v9cvUk --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3418/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/a8/f9/a8f93465d152ab6617456761a742170d0259e9cc345282da4ab37b3d861d8986.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:16:46.926 [debug] QUERY OK db=0.1ms idle=1154.4ms begin [] 11:16:46.929 [debug] QUERY OK source="media_items" db=2.2ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 00:16:37Z], "/downloads/shows/Kevin Kos/Season 2024/s2024e011299 - Non-Alcoholic Campari and Boulevardier.mp4", "/downloads/shows/Kevin Kos/Season 2024/s2024e011299 - Non-Alcoholic Campari and Boulevardier.info.json", "/downloads/shows/Kevin Kos/Season 2024/s2024e011299 - Non-Alcoholic Campari and Boulevardier.nfo", "/downloads/shows/Kevin Kos/Season 2024/s2024e011299 - Non-Alcoholic Campari and Boulevardier.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2024/s2024e011299 - Non-Alcoholic Campari and Boulevardier.en.srt"]], "/downloads/shows/Kevin Kos/Season 2024/s2024e011299 - Non-Alcoholic Campari and Boulevardier-thumb.jpg", ~U[2026-03-28 00:16:46Z], 3418] 11:16:46.933 [debug] QUERY OK source="media_metadata" db=3.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/3418/metadata.json.gz", "/config/metadata/media_items/3418/thumbnail.jpg", 3418, ~U[2026-03-28 00:16:46Z], ~U[2026-03-28 00:16:46Z]] 11:16:46.938 [debug] QUERY OK db=5.4ms commit [] 11:16:46.948 [debug] QUERY OK source="media_items" db=8.5ms idle=1167.1ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: [youtube] Failed to download m3u8 information: [Errno -3] Temporary failure in name resolution\nWARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (1/3)...\nWARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (2/3)...\nWARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (3/3)...\nERROR: Preprocessing: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution\nWARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies\nERROR: Preprocessing: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution\n", ~U[2026-03-28 00:16:46Z], 3418] 11:16:46.959 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :retry}","args":{"id":3418},"id":577,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":173225672,"event":"job:exception","queue_time":72489718815,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:16:46.976 [info] {"args":{"id":3422},"id":579,"meta":{},"system_time":1774657006976371123,"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"]} 11:16:46.988 [debug] QUERY OK source="media_items" db=11.6ms queue=0.1ms idle=732.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" = ?) [3422] 11:16:46.989 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:16:47.016 [debug] QUERY OK source="sources" db=26.4ms queue=0.1ms idle=50.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" = ?) [4] 11:16:47.021 [debug] QUERY OK source="media_profiles" db=4.5ms queue=0.2ms idle=69.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] 11:16:47.023 [debug] QUERY OK source="media_items" db=0.7ms idle=62.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 [3422] 11:16:47.025 [debug] QUERY OK source="media_metadata" db=0.6ms idle=48.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" = ?) [3422] 11:16:47.026 [debug] QUERY OK source="media_profiles" db=0.3ms idle=37.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] 11:16:47.027 [debug] QUERY OK source="settings" db=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 [] 11:16:47.027 [debug] QUERY OK source="settings" db=0.1ms 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 [] 11:16:47.027 [debug] Running yt-dlp command for action: get_downloadable_status 11:16:47.029 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:16:47.029 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:16:47.030 [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 [] 11:16:47.030 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JZHJxacLI7c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/07/68/076848eddd1eed4308ee8863d2ea3faa3629b7043c9f92221f5dc2619c75e119.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:16:56.073 [info] GET /.well-known/acme-challenge/f503xf8dLWvDMoVSHCHbdvse7k4lBjU_FQf7pk1emzI 11:16:56.075 [debug] QUERY OK source="settings" db=0.6ms queue=0.3ms idle=1302.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 [] 11:16:56.077 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=1304.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 [] 11:16:56.078 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:16:56.079 [error] #PID<0.27391.0> running PinchflatWeb.Endpoint (connection #PID<0.27390.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/f503xf8dLWvDMoVSHCHbdvse7k4lBjU_FQf7pk1emzI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/f503xf8dLWvDMoVSHCHbdvse7k4lBjU_FQf7pk1emzI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27390.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/f503xf8dLWvDMoVSHCHbdvse7k4lBjU_FQf7pk1emzI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52336}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/f503xf8dLWvDMoVSHCHbdvse7k4lBjU_FQf7pk1emzI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27391.0>, params: %{}, path_info: [".well-known", "acme-challenge", "f503xf8dLWvDMoVSHCHbdvse7k4lBjU_FQf7pk1emzI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/f503xf8dLWvDMoVSHCHbdvse7k4lBjU_FQf7pk1emzI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/f503xf8dLWvDMoVSHCHbdvse7k4lBjU_FQf7pk1emzI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZJ1Ez5HSUSDsAF-0h"} ], 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.27390.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/f503xf8dLWvDMoVSHCHbdvse7k4lBjU_FQf7pk1emzI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52336}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/f503xf8dLWvDMoVSHCHbdvse7k4lBjU_FQf7pk1emzI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/f503xf8dLWvDMoVSHCHbdvse7k4lBjU_FQf7pk1emzI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27390.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/f503xf8dLWvDMoVSHCHbdvse7k4lBjU_FQf7pk1emzI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52336}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/f503xf8dLWvDMoVSHCHbdvse7k4lBjU_FQf7pk1emzI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27391.0>, params: %{}, path_info: [".well-known", "acme-challenge", "f503xf8dLWvDMoVSHCHbdvse7k4lBjU_FQf7pk1emzI"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:16:56.603 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JZHJxacLI7c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/07/68/076848eddd1eed4308ee8863d2ea3faa3629b7043c9f92221f5dc2619c75e119.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:16:56.603 [debug] Running yt-dlp command for action: download 11:16:56.604 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1832.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 [] 11:16:56.605 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1330.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 [] 11:16:56.606 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:16:56.606 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JZHJxacLI7c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8d/4b/8d4baccdd51038946c4b31336ed8e72b84021359e68c4775f81c3282425709f1.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:16:57.089 [info] GET / 11:16:57.090 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:16:57.091 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=1013.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 [] 11:16:57.092 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=812.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:16:57.093 [debug] QUERY OK source="sources" db=0.3ms idle=488.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:16:57.138 [debug] QUERY OK source="media_items" db=44.3ms idle=488.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:16:57.145 [debug] QUERY OK source="media_items" db=6.0ms queue=0.1ms idle=532.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:16:57.147 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=55.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 [] 11:16:57.148 [debug] QUERY OK source="settings" db=0.3ms idle=55.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 [] 11:16:57.150 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=56.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 [] 11:16:57.157 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=15.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 (NOT (m0."media_filepath" IS NULL)) [] 11:16:57.158 [debug] QUERY OK source="media_items" db=0.8ms idle=12.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:16:57.160 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=11.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" IN (?,?)) [6, 2] 11:16:57.222 [debug] QUERY OK source="media_items" db=55.9ms idle=17.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 (((((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"))) [] 11:16:57.296 [debug] QUERY OK source="media_items" db=73.0ms queue=0.1ms idle=72.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:16:57.297 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=138.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] 11:16:57.306 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=145.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:16:57.307 [debug] QUERY OK source="media_items" db=0.6ms idle=84.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3415, 3422] 11:16:57.312 [info] Sent 200 in 223ms 11:17:00.726 [info] {"source":"oban","duration":892,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:17:03.344 [info] {"source":"oban","duration":2315,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:06.415 [info] GET /.well-known/acme-challenge/PHfjkuc1dAUwwJRgweAWduh3Ym1NU000FmC5_kW8k-A 11:17:06.434 [debug] QUERY OK source="settings" db=18.1ms queue=0.1ms idle=1643.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 [] 11:17:06.436 [debug] QUERY OK source="settings" db=1.5ms queue=0.1ms idle=1662.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 [] 11:17:06.436 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:17:06.437 [error] #PID<0.27394.0> running PinchflatWeb.Endpoint (connection #PID<0.27393.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/PHfjkuc1dAUwwJRgweAWduh3Ym1NU000FmC5_kW8k-A ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/PHfjkuc1dAUwwJRgweAWduh3Ym1NU000FmC5_kW8k-A (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27393.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/PHfjkuc1dAUwwJRgweAWduh3Ym1NU000FmC5_kW8k-A", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60878}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/PHfjkuc1dAUwwJRgweAWduh3Ym1NU000FmC5_kW8k-A", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27394.0>, params: %{}, path_info: [".well-known", "acme-challenge", "PHfjkuc1dAUwwJRgweAWduh3Ym1NU000FmC5_kW8k-A"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/PHfjkuc1dAUwwJRgweAWduh3Ym1NU000FmC5_kW8k-A"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/PHfjkuc1dAUwwJRgweAWduh3Ym1NU000FmC5_kW8k-A", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZKbmejJ4IfLQAF-5h"} ], 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.27393.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/PHfjkuc1dAUwwJRgweAWduh3Ym1NU000FmC5_kW8k-A", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60878}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/PHfjkuc1dAUwwJRgweAWduh3Ym1NU000FmC5_kW8k-A", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/PHfjkuc1dAUwwJRgweAWduh3Ym1NU000FmC5_kW8k-A (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27393.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/PHfjkuc1dAUwwJRgweAWduh3Ym1NU000FmC5_kW8k-A", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60878}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/PHfjkuc1dAUwwJRgweAWduh3Ym1NU000FmC5_kW8k-A", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27394.0>, params: %{}, path_info: [".well-known", "acme-challenge", "PHfjkuc1dAUwwJRgweAWduh3Ym1NU000FmC5_kW8k-A"], 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://pinchfla (truncated) 11:17:06.975 [info] GET /.well-known/acme-challenge/Ogl1LEOH_atumWFlWvP17O_AYx-FnxMnTB48n8WjBtk 11:17:06.977 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=655.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 [] 11:17:06.978 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=543.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 [] 11:17:06.978 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:17:06.979 [error] #PID<0.27395.0> running PinchflatWeb.Endpoint (connection #PID<0.27393.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/Ogl1LEOH_atumWFlWvP17O_AYx-FnxMnTB48n8WjBtk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Ogl1LEOH_atumWFlWvP17O_AYx-FnxMnTB48n8WjBtk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27393.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Ogl1LEOH_atumWFlWvP17O_AYx-FnxMnTB48n8WjBtk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60878}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Ogl1LEOH_atumWFlWvP17O_AYx-FnxMnTB48n8WjBtk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27395.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Ogl1LEOH_atumWFlWvP17O_AYx-FnxMnTB48n8WjBtk"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Ogl1LEOH_atumWFlWvP17O_AYx-FnxMnTB48n8WjBtk"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/Ogl1LEOH_atumWFlWvP17O_AYx-FnxMnTB48n8WjBtk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZKdsLgf5RZrQAF-6B"} ], 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.27393.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Ogl1LEOH_atumWFlWvP17O_AYx-FnxMnTB48n8WjBtk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60878}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Ogl1LEOH_atumWFlWvP17O_AYx-FnxMnTB48n8WjBtk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Ogl1LEOH_atumWFlWvP17O_AYx-FnxMnTB48n8WjBtk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27393.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Ogl1LEOH_atumWFlWvP17O_AYx-FnxMnTB48n8WjBtk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60878}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Ogl1LEOH_atumWFlWvP17O_AYx-FnxMnTB48n8WjBtk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27395.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Ogl1LEOH_atumWFlWvP17O_AYx-FnxMnTB48n8WjBtk"], 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://pinchfla (truncated) 11:17:10.002 [info] GET /.well-known/acme-challenge/lv0XHitQIDEQelffgJMv7Dgms-w1HN_7wDVqICmCLpw 11:17:10.004 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms idle=1231.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 [] 11:17:10.006 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1233.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 [] 11:17:10.006 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:17:10.007 [error] #PID<0.27397.0> running PinchflatWeb.Endpoint (connection #PID<0.27396.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/lv0XHitQIDEQelffgJMv7Dgms-w1HN_7wDVqICmCLpw ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/lv0XHitQIDEQelffgJMv7Dgms-w1HN_7wDVqICmCLpw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27396.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/lv0XHitQIDEQelffgJMv7Dgms-w1HN_7wDVqICmCLpw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 60882}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/lv0XHitQIDEQelffgJMv7Dgms-w1HN_7wDVqICmCLpw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27397.0>, params: %{}, path_info: [".well-known", "acme-challenge", "lv0XHitQIDEQelffgJMv7Dgms-w1HN_7wDVqICmCLpw"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/lv0XHitQIDEQelffgJMv7Dgms-w1HN_7wDVqICmCLpw"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/lv0XHitQIDEQelffgJMv7Dgms-w1HN_7wDVqICmCLpw", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZKo9wSzpZWg8AF-6h"} ], 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.27396.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/lv0XHitQIDEQelffgJMv7Dgms-w1HN_7wDVqICmCLpw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 60882}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/lv0XHitQIDEQelffgJMv7Dgms-w1HN_7wDVqICmCLpw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/lv0XHitQIDEQelffgJMv7Dgms-w1HN_7wDVqICmCLpw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27396.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/lv0XHitQIDEQelffgJMv7Dgms-w1HN_7wDVqICmCLpw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 60882}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/lv0XHitQIDEQelffgJMv7Dgms-w1HN_7wDVqICmCLpw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27397.0>, params: %{}, path_info: [".well-known", "acme-challenge", "lv0XHitQIDEQelffgJMv7Dgms-w1HN_7wDVqICmCLpw"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:17:16.672 [info] GET /.well-known/acme-challenge/20vV-qQSMA6JISeIpVcqWvljRhvq6vzFViomuHcNlJE 11:17:16.673 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=1900.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 [] 11:17:16.674 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1319.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 [] 11:17:16.674 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:17:16.675 [error] #PID<0.27401.0> running PinchflatWeb.Endpoint (connection #PID<0.27400.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/20vV-qQSMA6JISeIpVcqWvljRhvq6vzFViomuHcNlJE ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/20vV-qQSMA6JISeIpVcqWvljRhvq6vzFViomuHcNlJE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27400.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/20vV-qQSMA6JISeIpVcqWvljRhvq6vzFViomuHcNlJE", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48472}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/20vV-qQSMA6JISeIpVcqWvljRhvq6vzFViomuHcNlJE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27401.0>, params: %{}, path_info: [".well-known", "acme-challenge", "20vV-qQSMA6JISeIpVcqWvljRhvq6vzFViomuHcNlJE"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/20vV-qQSMA6JISeIpVcqWvljRhvq6vzFViomuHcNlJE"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/20vV-qQSMA6JISeIpVcqWvljRhvq6vzFViomuHcNlJE", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZLBz9lQgR7XQAF-7h"} ], 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.27400.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/20vV-qQSMA6JISeIpVcqWvljRhvq6vzFViomuHcNlJE", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48472}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/20vV-qQSMA6JISeIpVcqWvljRhvq6vzFViomuHcNlJE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/20vV-qQSMA6JISeIpVcqWvljRhvq6vzFViomuHcNlJE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27400.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/20vV-qQSMA6JISeIpVcqWvljRhvq6vzFViomuHcNlJE", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48472}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/20vV-qQSMA6JISeIpVcqWvljRhvq6vzFViomuHcNlJE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27401.0>, params: %{}, path_info: [".well-known", "acme-challenge", "20vV-qQSMA6JISeIpVcqWvljRhvq6vzFViomuHcNlJE"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:17:24.171 [info] GET /.well-known/acme-challenge/-F02VZp5A7kvZZ8gxmTcalWMfA1G9TRCia1RJXN2PBg 11:17:24.173 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=787.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 [] 11:17:24.173 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=401.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 [] 11:17:24.174 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:17:24.175 [error] #PID<0.27403.0> running PinchflatWeb.Endpoint (connection #PID<0.27402.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/-F02VZp5A7kvZZ8gxmTcalWMfA1G9TRCia1RJXN2PBg ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/-F02VZp5A7kvZZ8gxmTcalWMfA1G9TRCia1RJXN2PBg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/-F02VZp5A7kvZZ8gxmTcalWMfA1G9TRCia1RJXN2PBg", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48486}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/-F02VZp5A7kvZZ8gxmTcalWMfA1G9TRCia1RJXN2PBg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27403.0>, params: %{}, path_info: [".well-known", "acme-challenge", "-F02VZp5A7kvZZ8gxmTcalWMfA1G9TRCia1RJXN2PBg"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/-F02VZp5A7kvZZ8gxmTcalWMfA1G9TRCia1RJXN2PBg"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/-F02VZp5A7kvZZ8gxmTcalWMfA1G9TRCia1RJXN2PBg", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZLdwALV4Nv5UAF-8B"} ], 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.27402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/-F02VZp5A7kvZZ8gxmTcalWMfA1G9TRCia1RJXN2PBg", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48486}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/-F02VZp5A7kvZZ8gxmTcalWMfA1G9TRCia1RJXN2PBg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/-F02VZp5A7kvZZ8gxmTcalWMfA1G9TRCia1RJXN2PBg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/-F02VZp5A7kvZZ8gxmTcalWMfA1G9TRCia1RJXN2PBg", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48486}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/-F02VZp5A7kvZZ8gxmTcalWMfA1G9TRCia1RJXN2PBg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27403.0>, params: %{}, path_info: [".well-known", "acme-challenge", "-F02VZp5A7kvZZ8gxmTcalWMfA1G9TRCia1RJXN2PBg"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:17:25.227 [info] GET /.well-known/acme-challenge/7T2iCkI5_D_FHwTCjGR9HD4QgD7sl0nSUdQqxmzEUu8 11:17:25.228 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1455.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 [] 11:17:25.229 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1456.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 [] 11:17:25.229 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:17:25.230 [error] #PID<0.27404.0> running PinchflatWeb.Endpoint (connection #PID<0.27402.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/7T2iCkI5_D_FHwTCjGR9HD4QgD7sl0nSUdQqxmzEUu8 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/7T2iCkI5_D_FHwTCjGR9HD4QgD7sl0nSUdQqxmzEUu8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/7T2iCkI5_D_FHwTCjGR9HD4QgD7sl0nSUdQqxmzEUu8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48486}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/7T2iCkI5_D_FHwTCjGR9HD4QgD7sl0nSUdQqxmzEUu8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27404.0>, params: %{}, path_info: [".well-known", "acme-challenge", "7T2iCkI5_D_FHwTCjGR9HD4QgD7sl0nSUdQqxmzEUu8"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/7T2iCkI5_D_FHwTCjGR9HD4QgD7sl0nSUdQqxmzEUu8"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/7T2iCkI5_D_FHwTCjGR9HD4QgD7sl0nSUdQqxmzEUu8", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZLhrrt_tZc2oAF-8h"} ], 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.27402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/7T2iCkI5_D_FHwTCjGR9HD4QgD7sl0nSUdQqxmzEUu8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48486}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/7T2iCkI5_D_FHwTCjGR9HD4QgD7sl0nSUdQqxmzEUu8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/7T2iCkI5_D_FHwTCjGR9HD4QgD7sl0nSUdQqxmzEUu8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/7T2iCkI5_D_FHwTCjGR9HD4QgD7sl0nSUdQqxmzEUu8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48486}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/7T2iCkI5_D_FHwTCjGR9HD4QgD7sl0nSUdQqxmzEUu8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27404.0>, params: %{}, path_info: [".well-known", "acme-challenge", "7T2iCkI5_D_FHwTCjGR9HD4QgD7sl0nSUdQqxmzEUu8"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:17:33.346 [info] {"source":"oban","duration":1802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:35.220 [info] GET /.well-known/acme-challenge/OaJZBojDIaeCYP-uk_dwftCB5kRMe9JWUgC3_Gs-S2w 11:17:35.222 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1449.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 [] 11:17:35.222 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=797.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 [] 11:17:35.222 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:17:35.223 [error] #PID<0.27406.0> running PinchflatWeb.Endpoint (connection #PID<0.27405.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/OaJZBojDIaeCYP-uk_dwftCB5kRMe9JWUgC3_Gs-S2w ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/OaJZBojDIaeCYP-uk_dwftCB5kRMe9JWUgC3_Gs-S2w (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27405.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/OaJZBojDIaeCYP-uk_dwftCB5kRMe9JWUgC3_Gs-S2w", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 43000}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/OaJZBojDIaeCYP-uk_dwftCB5kRMe9JWUgC3_Gs-S2w", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27406.0>, params: %{}, path_info: [".well-known", "acme-challenge", "OaJZBojDIaeCYP-uk_dwftCB5kRMe9JWUgC3_Gs-S2w"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/OaJZBojDIaeCYP-uk_dwftCB5kRMe9JWUgC3_Gs-S2w"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/OaJZBojDIaeCYP-uk_dwftCB5kRMe9JWUgC3_Gs-S2w", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZMG6SHJ9NxuEAF-9B"} ], 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.27405.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/OaJZBojDIaeCYP-uk_dwftCB5kRMe9JWUgC3_Gs-S2w", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 43000}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/OaJZBojDIaeCYP-uk_dwftCB5kRMe9JWUgC3_Gs-S2w", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/OaJZBojDIaeCYP-uk_dwftCB5kRMe9JWUgC3_Gs-S2w (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27405.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/OaJZBojDIaeCYP-uk_dwftCB5kRMe9JWUgC3_Gs-S2w", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 43000}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/OaJZBojDIaeCYP-uk_dwftCB5kRMe9JWUgC3_Gs-S2w", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27406.0>, params: %{}, path_info: [".well-known", "acme-challenge", "OaJZBojDIaeCYP-uk_dwftCB5kRMe9JWUgC3_Gs-S2w"], 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://pinchfla (truncated) 11:17:35.583 [info] GET /.well-known/acme-challenge/CKSK56GzND7X4Lx14prUF1GpJIT0ijTAmMMkQ8IIczU 11:17:35.587 [debug] QUERY OK source="settings" db=2.3ms queue=0.2ms idle=812.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 [] 11:17:35.592 [debug] QUERY OK source="settings" db=3.6ms queue=0.2ms idle=815.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 [] 11:17:35.593 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:17:35.594 [error] #PID<0.27407.0> running PinchflatWeb.Endpoint (connection #PID<0.27405.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/CKSK56GzND7X4Lx14prUF1GpJIT0ijTAmMMkQ8IIczU ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/CKSK56GzND7X4Lx14prUF1GpJIT0ijTAmMMkQ8IIczU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27405.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/CKSK56GzND7X4Lx14prUF1GpJIT0ijTAmMMkQ8IIczU", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 43000}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/CKSK56GzND7X4Lx14prUF1GpJIT0ijTAmMMkQ8IIczU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27407.0>, params: %{}, path_info: [".well-known", "acme-challenge", "CKSK56GzND7X4Lx14prUF1GpJIT0ijTAmMMkQ8IIczU"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/CKSK56GzND7X4Lx14prUF1GpJIT0ijTAmMMkQ8IIczU"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/CKSK56GzND7X4Lx14prUF1GpJIT0ijTAmMMkQ8IIczU", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZMIQ3vb4l9DoAF-9h"} ], 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.27405.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/CKSK56GzND7X4Lx14prUF1GpJIT0ijTAmMMkQ8IIczU", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 43000}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/CKSK56GzND7X4Lx14prUF1GpJIT0ijTAmMMkQ8IIczU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/CKSK56GzND7X4Lx14prUF1GpJIT0ijTAmMMkQ8IIczU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27405.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/CKSK56GzND7X4Lx14prUF1GpJIT0ijTAmMMkQ8IIczU", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 43000}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/CKSK56GzND7X4Lx14prUF1GpJIT0ijTAmMMkQ8IIczU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27407.0>, params: %{}, path_info: [".well-known", "acme-challenge", "CKSK56GzND7X4Lx14prUF1GpJIT0ijTAmMMkQ8IIczU"], 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://pinchfla (truncated) 11:17:39.321 [info] GET /.well-known/acme-challenge/rtt2tBHtkzcQ4WFXZYHXXDKHH1G6W4T3WcX0F4ku-XQ 11:17:39.323 [debug] QUERY OK source="settings" db=0.7ms 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 [] 11:17:39.323 [debug] QUERY OK source="settings" db=0.3ms idle=551.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 [] 11:17:39.324 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:17:39.324 [error] #PID<0.27408.0> running PinchflatWeb.Endpoint (connection #PID<0.27405.0>, stream id 3) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/rtt2tBHtkzcQ4WFXZYHXXDKHH1G6W4T3WcX0F4ku-XQ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/rtt2tBHtkzcQ4WFXZYHXXDKHH1G6W4T3WcX0F4ku-XQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27405.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/rtt2tBHtkzcQ4WFXZYHXXDKHH1G6W4T3WcX0F4ku-XQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 43000}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/rtt2tBHtkzcQ4WFXZYHXXDKHH1G6W4T3WcX0F4ku-XQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27408.0>, params: %{}, path_info: [".well-known", "acme-challenge", "rtt2tBHtkzcQ4WFXZYHXXDKHH1G6W4T3WcX0F4ku-XQ"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/rtt2tBHtkzcQ4WFXZYHXXDKHH1G6W4T3WcX0F4ku-XQ"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/rtt2tBHtkzcQ4WFXZYHXXDKHH1G6W4T3WcX0F4ku-XQ", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZMWMBZjnBzzcAFNLC"} ], 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.27405.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/rtt2tBHtkzcQ4WFXZYHXXDKHH1G6W4T3WcX0F4ku-XQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 43000}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/rtt2tBHtkzcQ4WFXZYHXXDKHH1G6W4T3WcX0F4ku-XQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/rtt2tBHtkzcQ4WFXZYHXXDKHH1G6W4T3WcX0F4ku-XQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27405.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/rtt2tBHtkzcQ4WFXZYHXXDKHH1G6W4T3WcX0F4ku-XQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 43000}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/rtt2tBHtkzcQ4WFXZYHXXDKHH1G6W4T3WcX0F4ku-XQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27408.0>, params: %{}, path_info: [".well-known", "acme-challenge", "rtt2tBHtkzcQ4WFXZYHXXDKHH1G6W4T3WcX0F4ku-XQ"], 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://pinchfla (truncated) 11:17:58.045 [info] GET / 11:17:58.045 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:17:58.046 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1271.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 [] 11:17:58.048 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=1272.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:17:58.049 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1275.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:17:58.059 [debug] QUERY OK source="media_items" db=8.8ms queue=0.1ms idle=1276.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:17:58.066 [debug] QUERY OK source="media_items" db=7.1ms queue=0.1ms idle=561.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:17:58.067 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=20.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 [] 11:17:58.068 [debug] QUERY OK source="settings" db=0.2ms idle=20.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 [] 11:17:58.069 [debug] QUERY OK source="settings" db=0.1ms idle=19.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 [] 11:17:58.073 [debug] QUERY OK source="media_items" db=3.3ms idle=10.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 (NOT (m0."media_filepath" IS NULL)) [] 11:17:58.074 [debug] QUERY OK source="media_items" db=0.8ms idle=6.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:17:58.075 [debug] QUERY OK source="sources" db=0.5ms idle=7.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" IN (?,?)) [6, 2] 11:17:58.145 [debug] QUERY OK source="media_items" db=67.3ms idle=10.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 (((((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"))) [] 11:17:58.226 [debug] QUERY OK source="media_items" db=80.0ms idle=77.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:17:58.227 [debug] QUERY OK source="sources" db=0.6ms idle=153.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] 11:17:58.230 [debug] QUERY OK source="tasks" db=0.5ms idle=154.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:17:58.231 [debug] QUERY OK source="media_items" db=0.3ms idle=154.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3415, 3422] 11:17:58.232 [info] Sent 200 in 187ms 11:18:00.727 [info] {"source":"oban","duration":444,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:18:03.351 [info] {"source":"oban","duration":3388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:10.399 [info] GET /sources/6/media/7358 11:18:10.399 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "7358", "prevent_download" => "true", "source_id" => "6"} Pipelines: [:browser] 11:18:10.400 [debug] QUERY OK source="media_items" db=0.6ms idle=1625.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" = ?) [7358] 11:18:10.401 [debug] QUERY OK source="tasks" db=0.5ms idle=863.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" [7358] 11:18:10.401 [debug] QUERY OK source="sources" db=0.7ms idle=626.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] 11:18:10.402 [debug] QUERY OK source="settings" db=0.3ms idle=627.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 [] 11:18:10.402 [debug] QUERY OK source="settings" db=0.2ms idle=628.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 [] 11:18:10.403 [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 [] 11:18:10.404 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.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] 11:18:10.405 [info] Sent 200 in 6ms 11:18:19.769 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TEQPrFsSIcY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/85/8b/858b31bad8ccac51365968de68e9aa06b485fac9c310a612272ce4ffe1400bab.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies ERROR: [download] Got error: [Errno -3] Temporary failure in name resolution. Giving up after 10 retries 11:18:19.769 [error] yt-dlp download error for media item #3415: "WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies\nERROR: \r[download] Got error: [Errno -3] Temporary failure in name resolution. Giving up after 10 retries\n" 11:18:19.772 [debug] QUERY OK source="media_items" db=2.8ms idle=1995.5ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies\nERROR: \r[download] Got error: [Errno -3] Temporary failure in name resolution. Giving up after 10 retries\n", ~U[2026-03-28 00:18:19Z], 3415] 11:18:19.773 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3415},"id":576,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":279593230,"event":"job:exception","queue_time":72480165804,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:18:19.787 [info] {"args":{"id":3424},"id":580,"meta":{},"system_time":1774657099787477925,"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"]} 11:18:19.788 [debug] QUERY OK source="media_items" db=0.4ms idle=15.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" = ?) [3424] 11:18:19.788 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:18:19.802 [debug] QUERY OK source="sources" db=12.7ms queue=0.1ms 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" = ?) [4] 11:18:19.820 [debug] QUERY OK source="media_profiles" db=17.2ms idle=28.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] 11:18:19.821 [debug] QUERY OK source="media_items" db=0.5ms idle=46.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 [3424] 11:18:19.822 [debug] QUERY OK source="media_metadata" db=0.3ms idle=34.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" = ?) [3424] 11:18:19.823 [debug] QUERY OK source="media_profiles" db=0.5ms idle=34.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] 11:18:19.825 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=22.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 [] 11:18:19.825 [debug] QUERY OK source="settings" db=0.2ms idle=5.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 [] 11:18:19.826 [debug] Running yt-dlp command for action: get_downloadable_status 11:18:19.828 [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 [] 11:18:19.829 [debug] QUERY OK source="settings" db=0.4ms idle=6.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 [] 11:18:19.830 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:18:19.830 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XFbvurE5Smo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/07/40/0740ff893adb747256879133f5790a9f9b3fcdc182caf87ce0caf955b4c965d4.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:18:27.588 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XFbvurE5Smo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/07/40/0740ff893adb747256879133f5790a9f9b3fcdc182caf87ce0caf955b4c965d4.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:18:27.589 [debug] Running yt-dlp command for action: download 11:18:27.590 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1815.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 [] 11:18:27.590 [debug] QUERY OK source="settings" db=0.2ms idle=1816.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 [] 11:18:27.591 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1816.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 [] 11:18:27.592 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XFbvurE5Smo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/76/ad/76adf8c7df2fcb4a05c6d3f21c831d562024002038fb00325af4bd05e1161dec.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:18:33.356 [info] {"source":"oban","duration":3918,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:59.296 [info] GET / 11:18:59.296 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:18:59.297 [debug] QUERY OK source="settings" db=0.8ms idle=584.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 [] 11:18:59.298 [debug] QUERY OK source="media_profiles" db=0.3ms idle=523.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:18:59.298 [debug] QUERY OK source="sources" db=0.1ms idle=524.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:18:59.339 [debug] QUERY OK source="media_items" db=40.2ms idle=524.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:18:59.342 [debug] QUERY OK source="media_items" db=3.0ms idle=565.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:18:59.343 [debug] QUERY OK source="settings" db=0.3ms idle=45.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 [] 11:18:59.343 [debug] QUERY OK source="settings" db=0.3ms idle=45.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 [] 11:18:59.344 [debug] QUERY OK source="settings" db=0.2ms idle=45.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 [] 11:18:59.348 [debug] QUERY OK source="media_items" db=3.0ms idle=6.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 (NOT (m0."media_filepath" IS NULL)) [] 11:18:59.349 [debug] QUERY OK source="media_items" db=0.5ms idle=6.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:18:59.350 [debug] QUERY OK source="sources" db=0.3ms idle=7.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" IN (?,?)) [6, 2] 11:18:59.412 [debug] QUERY OK source="media_items" db=55.1ms idle=13.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 (((((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"))) [] 11:18:59.488 [debug] QUERY OK source="media_items" db=75.3ms queue=0.2ms idle=68.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:18:59.490 [debug] QUERY OK source="sources" db=0.3ms idle=140.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] 11:18:59.494 [debug] QUERY OK source="tasks" db=0.5ms idle=144.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:18:59.495 [debug] QUERY OK source="media_items" db=0.4ms idle=144.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3422, 3424] 11:18:59.497 [info] Sent 200 in 201ms 11:19:00.729 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:19:01.152 [info] GET /.well-known/acme-challenge/z0pqMl_BuZJYibJUizDnUsJqef4eY6qHyDQ1iwODGso 11:19:01.154 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=435.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 [] 11:19:01.155 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=425.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 [] 11:19:01.155 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:01.157 [error] #PID<0.27428.0> running PinchflatWeb.Endpoint (connection #PID<0.27426.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/z0pqMl_BuZJYibJUizDnUsJqef4eY6qHyDQ1iwODGso ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/z0pqMl_BuZJYibJUizDnUsJqef4eY6qHyDQ1iwODGso (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27426.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/z0pqMl_BuZJYibJUizDnUsJqef4eY6qHyDQ1iwODGso", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 39136}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/z0pqMl_BuZJYibJUizDnUsJqef4eY6qHyDQ1iwODGso", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27428.0>, params: %{}, path_info: [".well-known", "acme-challenge", "z0pqMl_BuZJYibJUizDnUsJqef4eY6qHyDQ1iwODGso"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/z0pqMl_BuZJYibJUizDnUsJqef4eY6qHyDQ1iwODGso"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/z0pqMl_BuZJYibJUizDnUsJqef4eY6qHyDQ1iwODGso", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZRHB7x2TPaSMAF_Ih"} ], 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.27426.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/z0pqMl_BuZJYibJUizDnUsJqef4eY6qHyDQ1iwODGso", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 39136}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/z0pqMl_BuZJYibJUizDnUsJqef4eY6qHyDQ1iwODGso", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/z0pqMl_BuZJYibJUizDnUsJqef4eY6qHyDQ1iwODGso (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27426.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/z0pqMl_BuZJYibJUizDnUsJqef4eY6qHyDQ1iwODGso", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 39136}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/z0pqMl_BuZJYibJUizDnUsJqef4eY6qHyDQ1iwODGso", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27428.0>, params: %{}, path_info: [".well-known", "acme-challenge", "z0pqMl_BuZJYibJUizDnUsJqef4eY6qHyDQ1iwODGso"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:19:03.360 [info] {"source":"oban","duration":3282,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:11.924 [info] GET /.well-known/acme-challenge/lSvk7d0qw75lWuzLikrIFHAVPO5p4BwmgTEdoZfYTy8 11:19:11.926 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1151.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 [] 11:19:11.927 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1152.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 [] 11:19:11.927 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:11.928 [error] #PID<0.27430.0> running PinchflatWeb.Endpoint (connection #PID<0.27429.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/lSvk7d0qw75lWuzLikrIFHAVPO5p4BwmgTEdoZfYTy8 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/lSvk7d0qw75lWuzLikrIFHAVPO5p4BwmgTEdoZfYTy8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27429.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/lSvk7d0qw75lWuzLikrIFHAVPO5p4BwmgTEdoZfYTy8", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52456}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/lSvk7d0qw75lWuzLikrIFHAVPO5p4BwmgTEdoZfYTy8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27430.0>, params: %{}, path_info: [".well-known", "acme-challenge", "lSvk7d0qw75lWuzLikrIFHAVPO5p4BwmgTEdoZfYTy8"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/lSvk7d0qw75lWuzLikrIFHAVPO5p4BwmgTEdoZfYTy8"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/lSvk7d0qw75lWuzLikrIFHAVPO5p4BwmgTEdoZfYTy8", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZRvKN9BBu4ksAF_JB"} ], 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.27429.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/lSvk7d0qw75lWuzLikrIFHAVPO5p4BwmgTEdoZfYTy8", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52456}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/lSvk7d0qw75lWuzLikrIFHAVPO5p4BwmgTEdoZfYTy8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/lSvk7d0qw75lWuzLikrIFHAVPO5p4BwmgTEdoZfYTy8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27429.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/lSvk7d0qw75lWuzLikrIFHAVPO5p4BwmgTEdoZfYTy8", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52456}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/lSvk7d0qw75lWuzLikrIFHAVPO5p4BwmgTEdoZfYTy8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27430.0>, params: %{}, path_info: [".well-known", "acme-challenge", "lSvk7d0qw75lWuzLikrIFHAVPO5p4BwmgTEdoZfYTy8"], 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://pinchfla (truncated) 11:19:12.703 [info] GET /.well-known/acme-challenge/-5V4R7cgRkeyk4Qsij68-ZhA2libfh2UT1YoqdzuTyU 11:19:12.705 [debug] QUERY OK source="settings" db=0.9ms queue=0.3ms idle=1930.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 [] 11:19:12.706 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1931.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 [] 11:19:12.707 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:12.708 [error] #PID<0.27431.0> running PinchflatWeb.Endpoint (connection #PID<0.27429.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/-5V4R7cgRkeyk4Qsij68-ZhA2libfh2UT1YoqdzuTyU ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/-5V4R7cgRkeyk4Qsij68-ZhA2libfh2UT1YoqdzuTyU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27429.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/-5V4R7cgRkeyk4Qsij68-ZhA2libfh2UT1YoqdzuTyU", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52456}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/-5V4R7cgRkeyk4Qsij68-ZhA2libfh2UT1YoqdzuTyU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27431.0>, params: %{}, path_info: [".well-known", "acme-challenge", "-5V4R7cgRkeyk4Qsij68-ZhA2libfh2UT1YoqdzuTyU"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/-5V4R7cgRkeyk4Qsij68-ZhA2libfh2UT1YoqdzuTyU"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/-5V4R7cgRkeyk4Qsij68-ZhA2libfh2UT1YoqdzuTyU", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZRyD1-XSF_wQAF_Jh"} ], 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.27429.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/-5V4R7cgRkeyk4Qsij68-ZhA2libfh2UT1YoqdzuTyU", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52456}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/-5V4R7cgRkeyk4Qsij68-ZhA2libfh2UT1YoqdzuTyU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/-5V4R7cgRkeyk4Qsij68-ZhA2libfh2UT1YoqdzuTyU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27429.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/-5V4R7cgRkeyk4Qsij68-ZhA2libfh2UT1YoqdzuTyU", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52456}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/-5V4R7cgRkeyk4Qsij68-ZhA2libfh2UT1YoqdzuTyU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27431.0>, params: %{}, path_info: [".well-known", "acme-challenge", "-5V4R7cgRkeyk4Qsij68-ZhA2libfh2UT1YoqdzuTyU"], 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://pinchfla (truncated) 11:19:15.691 [info] GET /.well-known/acme-challenge/dKaBLZ_z8NvxbOjm2M6jhL5vykFXJawLggZ7U-prIYE 11:19:15.693 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1918.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 [] 11:19:15.694 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1919.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 [] 11:19:15.694 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:15.695 [error] #PID<0.27435.0> running PinchflatWeb.Endpoint (connection #PID<0.27434.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/dKaBLZ_z8NvxbOjm2M6jhL5vykFXJawLggZ7U-prIYE ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/dKaBLZ_z8NvxbOjm2M6jhL5vykFXJawLggZ7U-prIYE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27434.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/dKaBLZ_z8NvxbOjm2M6jhL5vykFXJawLggZ7U-prIYE", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57074}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/dKaBLZ_z8NvxbOjm2M6jhL5vykFXJawLggZ7U-prIYE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27435.0>, params: %{}, path_info: [".well-known", "acme-challenge", "dKaBLZ_z8NvxbOjm2M6jhL5vykFXJawLggZ7U-prIYE"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/dKaBLZ_z8NvxbOjm2M6jhL5vykFXJawLggZ7U-prIYE"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/dKaBLZ_z8NvxbOjm2M6jhL5vykFXJawLggZ7U-prIYE", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZR9MbeeohFOIAF_KB"} ], 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.27434.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/dKaBLZ_z8NvxbOjm2M6jhL5vykFXJawLggZ7U-prIYE", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57074}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/dKaBLZ_z8NvxbOjm2M6jhL5vykFXJawLggZ7U-prIYE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/dKaBLZ_z8NvxbOjm2M6jhL5vykFXJawLggZ7U-prIYE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27434.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/dKaBLZ_z8NvxbOjm2M6jhL5vykFXJawLggZ7U-prIYE", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57074}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/dKaBLZ_z8NvxbOjm2M6jhL5vykFXJawLggZ7U-prIYE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27435.0>, params: %{}, path_info: [".well-known", "acme-challenge", "dKaBLZ_z8NvxbOjm2M6jhL5vykFXJawLggZ7U-prIYE"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:19:22.863 [info] GET /.well-known/acme-challenge/3i9hw5_sTkU1yAQ7Tr6jAUg6OgMwt_xerH_PQZvhHgc 11:19:22.864 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1089.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 [] 11:19:22.865 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1073.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 [] 11:19:22.865 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:22.866 [error] #PID<0.27437.0> running PinchflatWeb.Endpoint (connection #PID<0.27436.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/3i9hw5_sTkU1yAQ7Tr6jAUg6OgMwt_xerH_PQZvhHgc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/3i9hw5_sTkU1yAQ7Tr6jAUg6OgMwt_xerH_PQZvhHgc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27436.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/3i9hw5_sTkU1yAQ7Tr6jAUg6OgMwt_xerH_PQZvhHgc", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57078}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/3i9hw5_sTkU1yAQ7Tr6jAUg6OgMwt_xerH_PQZvhHgc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27437.0>, params: %{}, path_info: [".well-known", "acme-challenge", "3i9hw5_sTkU1yAQ7Tr6jAUg6OgMwt_xerH_PQZvhHgc"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/3i9hw5_sTkU1yAQ7Tr6jAUg6OgMwt_xerH_PQZvhHgc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/3i9hw5_sTkU1yAQ7Tr6jAUg6OgMwt_xerH_PQZvhHgc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZSX6Llm6GNzMAF_Kh"} ], 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.27436.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/3i9hw5_sTkU1yAQ7Tr6jAUg6OgMwt_xerH_PQZvhHgc", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57078}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/3i9hw5_sTkU1yAQ7Tr6jAUg6OgMwt_xerH_PQZvhHgc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/3i9hw5_sTkU1yAQ7Tr6jAUg6OgMwt_xerH_PQZvhHgc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27436.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/3i9hw5_sTkU1yAQ7Tr6jAUg6OgMwt_xerH_PQZvhHgc", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57078}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/3i9hw5_sTkU1yAQ7Tr6jAUg6OgMwt_xerH_PQZvhHgc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27437.0>, params: %{}, path_info: [".well-known", "acme-challenge", "3i9hw5_sTkU1yAQ7Tr6jAUg6OgMwt_xerH_PQZvhHgc"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:19:29.911 [info] GET /.well-known/acme-challenge/3HuFR4EyDeARhGXYMnL3oiLqvEZyR4OHCPJtIublpcc 11:19:29.913 [debug] QUERY OK source="settings" db=0.4ms idle=1138.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 [] 11:19:29.913 [debug] QUERY OK source="settings" db=0.3ms idle=1139.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 [] 11:19:29.913 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:29.914 [error] #PID<0.27439.0> running PinchflatWeb.Endpoint (connection #PID<0.27438.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/3HuFR4EyDeARhGXYMnL3oiLqvEZyR4OHCPJtIublpcc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/3HuFR4EyDeARhGXYMnL3oiLqvEZyR4OHCPJtIublpcc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27438.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/3HuFR4EyDeARhGXYMnL3oiLqvEZyR4OHCPJtIublpcc", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50908}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/3HuFR4EyDeARhGXYMnL3oiLqvEZyR4OHCPJtIublpcc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27439.0>, params: %{}, path_info: [".well-known", "acme-challenge", "3HuFR4EyDeARhGXYMnL3oiLqvEZyR4OHCPJtIublpcc"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/3HuFR4EyDeARhGXYMnL3oiLqvEZyR4OHCPJtIublpcc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/3HuFR4EyDeARhGXYMnL3oiLqvEZyR4OHCPJtIublpcc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZSyKyDC7-8Z8AFNOC"} ], 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.27438.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/3HuFR4EyDeARhGXYMnL3oiLqvEZyR4OHCPJtIublpcc", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50908}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/3HuFR4EyDeARhGXYMnL3oiLqvEZyR4OHCPJtIublpcc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/3HuFR4EyDeARhGXYMnL3oiLqvEZyR4OHCPJtIublpcc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27438.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/3HuFR4EyDeARhGXYMnL3oiLqvEZyR4OHCPJtIublpcc", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50908}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/3HuFR4EyDeARhGXYMnL3oiLqvEZyR4OHCPJtIublpcc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27439.0>, params: %{}, path_info: [".well-known", "acme-challenge", "3HuFR4EyDeARhGXYMnL3oiLqvEZyR4OHCPJtIublpcc"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:19:30.734 [info] GET /.well-known/acme-challenge/7MPZJ6zKYSh8P2FAcvbtttS5IMn4GplHllyM1dMy6eo 11:19:30.735 [debug] QUERY OK source="settings" db=0.6ms idle=1960.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 [] 11:19:30.736 [debug] QUERY OK source="settings" db=0.3ms idle=1920.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 [] 11:19:30.736 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:30.737 [error] #PID<0.27440.0> running PinchflatWeb.Endpoint (connection #PID<0.27438.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/7MPZJ6zKYSh8P2FAcvbtttS5IMn4GplHllyM1dMy6eo ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/7MPZJ6zKYSh8P2FAcvbtttS5IMn4GplHllyM1dMy6eo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27438.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/7MPZJ6zKYSh8P2FAcvbtttS5IMn4GplHllyM1dMy6eo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50908}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/7MPZJ6zKYSh8P2FAcvbtttS5IMn4GplHllyM1dMy6eo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27440.0>, params: %{}, path_info: [".well-known", "acme-challenge", "7MPZJ6zKYSh8P2FAcvbtttS5IMn4GplHllyM1dMy6eo"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/7MPZJ6zKYSh8P2FAcvbtttS5IMn4GplHllyM1dMy6eo"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/7MPZJ6zKYSh8P2FAcvbtttS5IMn4GplHllyM1dMy6eo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZS1O5AR3sLrQAFNOi"} ], 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.27438.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/7MPZJ6zKYSh8P2FAcvbtttS5IMn4GplHllyM1dMy6eo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50908}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/7MPZJ6zKYSh8P2FAcvbtttS5IMn4GplHllyM1dMy6eo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/7MPZJ6zKYSh8P2FAcvbtttS5IMn4GplHllyM1dMy6eo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27438.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/7MPZJ6zKYSh8P2FAcvbtttS5IMn4GplHllyM1dMy6eo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50908}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/7MPZJ6zKYSh8P2FAcvbtttS5IMn4GplHllyM1dMy6eo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27440.0>, params: %{}, path_info: [".well-known", "acme-challenge", "7MPZJ6zKYSh8P2FAcvbtttS5IMn4GplHllyM1dMy6eo"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:19:33.363 [info] {"source":"oban","duration":2483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:41.027 [info] GET /.well-known/acme-challenge/0XbJaAU45nR7hYIgRIyDjvaGdOurlZAWOJO60BdrcRg 11:19:41.028 [debug] QUERY OK source="settings" db=0.8ms idle=1253.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 [] 11:19:41.030 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1255.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 [] 11:19:41.030 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:41.031 [error] #PID<0.27442.0> running PinchflatWeb.Endpoint (connection #PID<0.27441.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/0XbJaAU45nR7hYIgRIyDjvaGdOurlZAWOJO60BdrcRg ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/0XbJaAU45nR7hYIgRIyDjvaGdOurlZAWOJO60BdrcRg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27441.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/0XbJaAU45nR7hYIgRIyDjvaGdOurlZAWOJO60BdrcRg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51482}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/0XbJaAU45nR7hYIgRIyDjvaGdOurlZAWOJO60BdrcRg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27442.0>, params: %{}, path_info: [".well-known", "acme-challenge", "0XbJaAU45nR7hYIgRIyDjvaGdOurlZAWOJO60BdrcRg"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/0XbJaAU45nR7hYIgRIyDjvaGdOurlZAWOJO60BdrcRg"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/0XbJaAU45nR7hYIgRIyDjvaGdOurlZAWOJO60BdrcRg", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZTbk4WV7vVloAFNPC"} ], 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.27441.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/0XbJaAU45nR7hYIgRIyDjvaGdOurlZAWOJO60BdrcRg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51482}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/0XbJaAU45nR7hYIgRIyDjvaGdOurlZAWOJO60BdrcRg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/0XbJaAU45nR7hYIgRIyDjvaGdOurlZAWOJO60BdrcRg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27441.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/0XbJaAU45nR7hYIgRIyDjvaGdOurlZAWOJO60BdrcRg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51482}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/0XbJaAU45nR7hYIgRIyDjvaGdOurlZAWOJO60BdrcRg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27442.0>, params: %{}, path_info: [".well-known", "acme-challenge", "0XbJaAU45nR7hYIgRIyDjvaGdOurlZAWOJO60BdrcRg"], 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://pinchfla (truncated) 11:19:41.037 [info] GET /.well-known/acme-challenge/hh7wFcR5RlP314ZjaBnp9YIMyFvBIyU4AC4KNRkFUpQ 11:19:41.039 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=1183.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 [] 11:19:41.040 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=266.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 [] 11:19:41.041 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:41.041 [error] #PID<0.27443.0> running PinchflatWeb.Endpoint (connection #PID<0.27441.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/hh7wFcR5RlP314ZjaBnp9YIMyFvBIyU4AC4KNRkFUpQ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/hh7wFcR5RlP314ZjaBnp9YIMyFvBIyU4AC4KNRkFUpQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27441.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/hh7wFcR5RlP314ZjaBnp9YIMyFvBIyU4AC4KNRkFUpQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51482}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/hh7wFcR5RlP314ZjaBnp9YIMyFvBIyU4AC4KNRkFUpQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27443.0>, params: %{}, path_info: [".well-known", "acme-challenge", "hh7wFcR5RlP314ZjaBnp9YIMyFvBIyU4AC4KNRkFUpQ"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/hh7wFcR5RlP314ZjaBnp9YIMyFvBIyU4AC4KNRkFUpQ"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/hh7wFcR5RlP314ZjaBnp9YIMyFvBIyU4AC4KNRkFUpQ", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZTbnV9H12y_YAF_LB"} ], 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.27441.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/hh7wFcR5RlP314ZjaBnp9YIMyFvBIyU4AC4KNRkFUpQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51482}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/hh7wFcR5RlP314ZjaBnp9YIMyFvBIyU4AC4KNRkFUpQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/hh7wFcR5RlP314ZjaBnp9YIMyFvBIyU4AC4KNRkFUpQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27441.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/hh7wFcR5RlP314ZjaBnp9YIMyFvBIyU4AC4KNRkFUpQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51482}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/hh7wFcR5RlP314ZjaBnp9YIMyFvBIyU4AC4KNRkFUpQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27443.0>, params: %{}, path_info: [".well-known", "acme-challenge", "hh7wFcR5RlP314ZjaBnp9YIMyFvBIyU4AC4KNRkFUpQ"], 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://pinchfla (truncated) 11:19:42.881 [info] {"args":{"id":3},"id":1618,"meta":{},"system_time":1774657182880994092,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:19:42.892 [debug] QUERY OK source="sources" db=10.5ms idle=107.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] 11:19:42.893 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=118.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 [] 11:19:42.895 [debug] QUERY OK source="media_profiles" db=1.8ms idle=119.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] 11:19:42.907 [debug] QUERY OK source="settings" db=11.6ms idle=31.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 [] 11:19:42.907 [debug] Fetching recent media IDs from YouTube API for playlist: UUwnKziETDbHJtx78nIkfYug 11:19:42.909 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=27.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 [] 11:19:42.909 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:19:44.003 [debug] QUERY OK source="media_items" db=4.2ms idle=1104.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "QtpFa0LdXEY", "8Rv4wwcQ89Y", "2cRKv1oqyX8", "mQfQwLW6CNw", "y0TZuhNixNk", "GZ7wE3XOwFU", "-aRdX-kZ9g4", "99bldMr1byI", "EzCiEv1IqiA", "mC5NdpSMDks", "ccV3u3D9ONE", "cVCDjEfPzII", "n0X2rqzKTgM", "dcuCvRNqmpY", "GG1qX8jHKGo", "k9wkleHFvo0", "CWoYVlMuUNQ", "xlfeieH4z38", "eZM2Ik-FHEU", "CtcTG8-qzbA", "6Mmj7mf1qlg", "InwVO9qBjqs", "1Hp-W2bpPrw", "VtE5sTpkn7k", "8dOJypt2F70", "Evm4t4prtWo", "taLzgvbrnv0", "rgCrnyf5JEI", "PHhc-48JT3U", "vFKjpNNjNGw", "VJQlOI70ubw", "E5cfNq0DO90", "DNBGSsZatbY", "pna1NyaHTls", "CUHao-vA98g", "cPN9BJe_RQw", "rCBt4XgCX-0", "f4g6KKGMmEI", "P_I5Jsc3xRw", "fPaU2l7RktM", "0PVwt01b6fs", "0qMDM4Y4Hwo", "Ld285PDsHvs", "p1mQC71wplA", "9k5JhKK6WlA", "WPxrifmtlQI", "nVNBmK7a1y8", "QDnMYztaxfI", "gxsaWhXG1Gg", ...] 11:19:44.014 [debug] QUERY OK source="media_items" db=7.4ms queue=0.1ms idle=1111.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 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] 11:19:44.019 [debug] QUERY OK source="tasks" db=0.7ms idle=149.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1624, 3, ~U[2026-03-28 00:19:44Z], ~U[2026-03-28 00:19:44Z]] 11:19:44.020 [info] {"args":{"id":3},"id":1618,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":1138489,"event":"job:stop","queue_time":187443,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:19:44.396 [info] GET /.well-known/acme-challenge/hz8raFtE-IkZvmjX3v1jCHnLe7CZFiTmy2ixNj0m2aU 11:19:44.398 [debug] QUERY OK source="settings" db=0.9ms idle=380.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 [] 11:19:44.399 [debug] QUERY OK source="settings" db=0.9ms idle=380.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 [] 11:19:44.400 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:44.400 [error] #PID<0.27450.0> running PinchflatWeb.Endpoint (connection #PID<0.27441.0>, stream id 3) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/hz8raFtE-IkZvmjX3v1jCHnLe7CZFiTmy2ixNj0m2aU ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/hz8raFtE-IkZvmjX3v1jCHnLe7CZFiTmy2ixNj0m2aU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27441.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/hz8raFtE-IkZvmjX3v1jCHnLe7CZFiTmy2ixNj0m2aU", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51482}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/hz8raFtE-IkZvmjX3v1jCHnLe7CZFiTmy2ixNj0m2aU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27450.0>, params: %{}, path_info: [".well-known", "acme-challenge", "hz8raFtE-IkZvmjX3v1jCHnLe7CZFiTmy2ixNj0m2aU"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/hz8raFtE-IkZvmjX3v1jCHnLe7CZFiTmy2ixNj0m2aU"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/hz8raFtE-IkZvmjX3v1jCHnLe7CZFiTmy2ixNj0m2aU", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZToIPJyB_t_sAF_Lh"} ], 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.27441.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/hz8raFtE-IkZvmjX3v1jCHnLe7CZFiTmy2ixNj0m2aU", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51482}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/hz8raFtE-IkZvmjX3v1jCHnLe7CZFiTmy2ixNj0m2aU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/hz8raFtE-IkZvmjX3v1jCHnLe7CZFiTmy2ixNj0m2aU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27441.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/hz8raFtE-IkZvmjX3v1jCHnLe7CZFiTmy2ixNj0m2aU", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51482}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/hz8raFtE-IkZvmjX3v1jCHnLe7CZFiTmy2ixNj0m2aU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27450.0>, params: %{}, path_info: [".well-known", "acme-challenge", "hz8raFtE-IkZvmjX3v1jCHnLe7CZFiTmy2ixNj0m2aU"], 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://pinchfla (truncated) 11:20:00.730 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:20:00.876 [info] GET / 11:20:00.876 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:20:00.877 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1103.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 [] 11:20:00.878 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1104.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:20:00.879 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1104.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:20:00.916 [debug] QUERY OK source="media_items" db=36.7ms queue=0.1ms idle=953.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:20:00.920 [debug] QUERY OK source="media_items" db=3.0ms idle=186.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:20:00.921 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=42.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 [] 11:20:00.921 [debug] QUERY OK source="settings" db=0.4ms idle=42.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 [] 11:20:00.922 [debug] QUERY OK source="settings" db=0.2ms idle=43.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 [] 11:20:00.927 [debug] QUERY OK source="media_items" db=3.3ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 11:20:00.929 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=7.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:20:00.930 [debug] QUERY OK source="sources" db=0.2ms idle=8.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" IN (?,?)) [6, 2] 11:20:00.991 [debug] QUERY OK source="media_items" db=55.0ms idle=13.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 (((((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"))) [] 11:20:01.036 [debug] QUERY OK source="media_items" db=43.7ms queue=0.1ms idle=64.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:20:01.037 [debug] QUERY OK source="sources" db=0.2ms idle=107.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] 11:20:01.043 [debug] QUERY OK source="tasks" db=0.6ms idle=112.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:20:01.044 [debug] QUERY OK source="media_items" db=0.5ms idle=113.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3422, 3424] 11:20:01.047 [info] Sent 200 in 171ms 11:20:03.365 [info] {"source":"oban","duration":1833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:17.016 [info] {"args":{"id":2},"id":1619,"meta":{},"system_time":1774657217015937272,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:20:17.036 [debug] QUERY OK source="sources" db=19.2ms queue=0.1ms idle=242.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" = ?) [2] 11:20:17.057 [debug] QUERY OK source="settings" db=19.5ms queue=0.2ms idle=262.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 [] 11:20:17.060 [debug] QUERY OK source="media_profiles" db=1.8ms queue=0.3ms idle=283.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] 11:20:17.061 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=55.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 [] 11:20:17.062 [debug] Fetching recent media IDs from YouTube API for playlist: UUjzi56cxvmEDwjo1Bd2Yxpg 11:20:17.063 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=46.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 [] 11:20:17.063 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:20:19.721 [debug] QUERY OK source="media_items" db=6.0ms idle=940.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 m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "Hw2_s31u_4Q", "b4x9IzQtiA0", "16aM5Bop7Qw", "3hBk9xqT9hs", "xDa45wnAzc8", "Yq41acIvzj8", "Ttn_Q1B2ALc", "-bV0F6OP31U", "qAstyiKRt10", "NF2StvrYme0", "_Q-2UzYr3AA", "FeEEy3jZvlM", "EHaNwda0xto", "KL0u63mAy5M", "fzklfnO42ts", "oZ4kddHCFVY", "spSOp5s_6_A", "C48yl9fSYv8", "654RgtNwXZ8", "4wu_B_XF6wk", "wFLJxWyDJPs", "J5NKnYfn6qw", "fcVRuF6c-bc", "xNAFpSnpqjs", "cavmWZnCeJI", "_J0gQ5GdUSk", "_oISg668F40", "v34wa9QhF0s", "iEen_cClzkg", "CD9wUM2v-0U", "E8k9oqjl5_E", "lQDUMfg_SJc", "pPMD0YPBHQ4", "qq1IN4umTI8", "L63goFhe8KM", "5OXvwQ3CB1I", "doZvHBPoVCw", "9SXMTDO4lIo", "8JmSUN8jp3Q", "7oSgaaUEjZM", "sKSPwnFSRCw", "gdY_Q9ltw8w", "uHbviTslBFY", "gMzXgYFT4Ck", "NdsMuD-_5To", "9JXltNRqLu4", "7ThBvLBMacw", "7BTWa3jFBMw", "U2LsOO1upXY", ...] 11:20:19.805 [debug] QUERY OK source="media_items" db=82.3ms idle=948.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 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] 11:20:19.811 [debug] QUERY OK source="tasks" db=0.4ms idle=90.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1625, 2, ~U[2026-03-28 00:20:19Z], ~U[2026-03-28 00:20:19Z]] 11:20:19.818 [info] {"args":{"id":2},"id":1619,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":2795830,"event":"job:stop","queue_time":456858,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:20:33.368 [info] {"source":"oban","duration":1579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:49.137 [info] {"args":{"id":4},"id":1620,"meta":{},"system_time":1774657249137133464,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:20:49.138 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1363.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] 11:20:49.139 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1013.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 [] 11:20:49.140 [debug] QUERY OK source="media_profiles" db=0.6ms idle=365.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] 11:20:49.141 [debug] QUERY OK source="settings" db=0.5ms idle=10.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 [] 11:20:49.141 [debug] Fetching recent media IDs from YouTube API for playlist: UUEiui9T4ZYx8K8nuZ5YFSTw 11:20:49.142 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:20:49.142 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:20:49.726 [debug] QUERY OK source="media_items" db=3.4ms idle=584.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [4, "gthI7e6zPWo", "psRX1C7auj8", "2ZtSRjGhStw", "Z8KiNkDP9c4", "AZibPvCnG4k", "QXNPI7Ucivo", "WtxCD4567G4", "80bkfWoOHaE", "pYBAEGrhggM", "9M3wLySdGXY", "mcvbD_Ipbf8", "E_Y7kLO3Iaw", "gPdh5lVJYD0", "qrkTK1UcvSM", "45UcuOLjxeY", "gnbhO9hJ198", "fiFzXo1wNno", "TM5mKkwC0Ok", "kS2A72peqmg", "ueDcEpRFW_M", "AN4-pHYBK2M", "TMNa6ocIv8o", "S1Vt1tQJczE", "_BEmUjtwhLw", "1bxoWiQ2AQY", "CZeRfNeKEBE", "2nftRe3tjLQ", "v1biAguVbg8", "cLDsQImoeHQ", "hhH7mchDBXY", "uQj2W5ej104", "vYRV_nprXBA", "1v_qsQL3mo8", "hfHxFTbVaTo", "mfWqziOaR4A", "AmCWMmKgHkI", "ZWgq-s8r2FE", "1dAkTDsD1c4", "ozdDp_eMPZY", "iHogtXxywLQ", "7ysd04ltGag", "5jq8kH9s0V8", "AB6bC9gtfoc", "R7Tm3zvyy9U", "dUHzocz0hLo", "9Oh6oVrf7kM", "LzUhByZ4jtc", "j7evpR_Fbsw", "_iGhJt3ah8E", ...] 11:20:49.738 [debug] QUERY OK source="media_items" db=10.3ms idle=588.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 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] 11:20:50.008 [debug] QUERY OK source="tasks" db=0.4ms idle=5.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1626, 4, ~U[2026-03-28 00:20:50Z], ~U[2026-03-28 00:20:50Z]] 11:20:50.009 [info] {"args":{"id":4},"id":1620,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":871403,"event":"job:stop","queue_time":336930,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:21:00.733 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:21:02.921 [info] GET / 11:21:02.922 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:21:02.923 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1148.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 [] 11:21:02.924 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1150.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:21:02.925 [debug] QUERY OK source="sources" db=0.1ms idle=1150.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:21:02.966 [debug] QUERY OK source="media_items" db=41.0ms idle=1151.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:21:02.971 [debug] QUERY OK source="media_items" db=4.3ms queue=0.1ms idle=789.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:21:02.972 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=47.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 [] 11:21:02.972 [debug] QUERY OK source="settings" db=0.4ms idle=47.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 [] 11:21:02.973 [debug] QUERY OK source="settings" db=0.1ms idle=48.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 [] 11:21:02.979 [debug] QUERY OK source="media_items" db=4.5ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 11:21:02.980 [debug] QUERY OK source="media_items" db=0.6ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:21:02.981 [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" IN (?,?)) [6, 2] 11:21:03.045 [debug] QUERY OK source="media_items" db=60.3ms idle=11.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 (((((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"))) [] 11:21:03.120 [debug] QUERY OK source="media_items" db=75.1ms idle=71.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:21:03.121 [debug] QUERY OK source="sources" db=0.5ms idle=141.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] 11:21:03.124 [debug] QUERY OK source="tasks" db=0.4ms idle=143.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:21:03.125 [debug] QUERY OK source="media_items" db=0.3ms idle=143.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3422, 3424] 11:21:03.126 [info] Sent 200 in 204ms 11:21:03.371 [info] {"source":"oban","duration":2779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:07.486 [info] GET /.well-known/acme-challenge/hh3ycLm0cSlWE30hIGkSXqEilKLQKg5w1zDRFceHpgI 11:21:07.487 [debug] QUERY OK source="settings" db=0.6ms idle=712.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 [] 11:21:07.488 [debug] QUERY OK source="settings" db=0.3ms idle=713.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 [] 11:21:07.488 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:21:07.489 [error] #PID<0.27464.0> running PinchflatWeb.Endpoint (connection #PID<0.27462.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/hh3ycLm0cSlWE30hIGkSXqEilKLQKg5w1zDRFceHpgI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/hh3ycLm0cSlWE30hIGkSXqEilKLQKg5w1zDRFceHpgI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27462.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/hh3ycLm0cSlWE30hIGkSXqEilKLQKg5w1zDRFceHpgI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 35726}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/hh3ycLm0cSlWE30hIGkSXqEilKLQKg5w1zDRFceHpgI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27464.0>, params: %{}, path_info: [".well-known", "acme-challenge", "hh3ycLm0cSlWE30hIGkSXqEilKLQKg5w1zDRFceHpgI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/hh3ycLm0cSlWE30hIGkSXqEilKLQKg5w1zDRFceHpgI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/hh3ycLm0cSlWE30hIGkSXqEilKLQKg5w1zDRFceHpgI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZYdqQmpzDQgcAGAoB"} ], 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.27462.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/hh3ycLm0cSlWE30hIGkSXqEilKLQKg5w1zDRFceHpgI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 35726}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/hh3ycLm0cSlWE30hIGkSXqEilKLQKg5w1zDRFceHpgI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/hh3ycLm0cSlWE30hIGkSXqEilKLQKg5w1zDRFceHpgI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27462.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/hh3ycLm0cSlWE30hIGkSXqEilKLQKg5w1zDRFceHpgI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 35726}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/hh3ycLm0cSlWE30hIGkSXqEilKLQKg5w1zDRFceHpgI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27464.0>, params: %{}, path_info: [".well-known", "acme-challenge", "hh3ycLm0cSlWE30hIGkSXqEilKLQKg5w1zDRFceHpgI"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:21:13.071 [info] GET /sources/2/media/7512 11:21:13.071 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "7512", "prevent_download" => "true", "source_id" => "2"} Pipelines: [:browser] 11:21:13.072 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=856.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" = ?) [7512] 11:21:13.074 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=298.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" [7512] 11:21:13.074 [debug] QUERY OK source="sources" db=0.6ms idle=298.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" = ?) [2] 11:21:13.075 [debug] QUERY OK source="settings" db=0.5ms 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 [] 11:21:13.076 [debug] QUERY OK source="settings" db=0.4ms idle=300.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 [] 11:21:13.077 [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 [] 11:21:13.080 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 11:21:13.085 [info] Sent 200 in 14ms 11:21:18.219 [info] GET /.well-known/acme-challenge/d-ttl6_dMOt5LxBLcFzmRaGN_t-6N3xEVuBUWOGi_6s 11:21:18.221 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1446.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 [] 11:21:18.222 [debug] QUERY OK source="settings" db=1.2ms idle=1447.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 [] 11:21:18.222 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:21:18.223 [error] #PID<0.27473.0> running PinchflatWeb.Endpoint (connection #PID<0.27472.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/d-ttl6_dMOt5LxBLcFzmRaGN_t-6N3xEVuBUWOGi_6s ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/d-ttl6_dMOt5LxBLcFzmRaGN_t-6N3xEVuBUWOGi_6s (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27472.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/d-ttl6_dMOt5LxBLcFzmRaGN_t-6N3xEVuBUWOGi_6s", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 35092}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/d-ttl6_dMOt5LxBLcFzmRaGN_t-6N3xEVuBUWOGi_6s", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27473.0>, params: %{}, path_info: [".well-known", "acme-challenge", "d-ttl6_dMOt5LxBLcFzmRaGN_t-6N3xEVuBUWOGi_6s"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/d-ttl6_dMOt5LxBLcFzmRaGN_t-6N3xEVuBUWOGi_6s"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/d-ttl6_dMOt5LxBLcFzmRaGN_t-6N3xEVuBUWOGi_6s", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZZFpULmj-Ja8AGAph"} ], 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.27472.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/d-ttl6_dMOt5LxBLcFzmRaGN_t-6N3xEVuBUWOGi_6s", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 35092}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/d-ttl6_dMOt5LxBLcFzmRaGN_t-6N3xEVuBUWOGi_6s", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/d-ttl6_dMOt5LxBLcFzmRaGN_t-6N3xEVuBUWOGi_6s (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27472.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/d-ttl6_dMOt5LxBLcFzmRaGN_t-6N3xEVuBUWOGi_6s", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 35092}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/d-ttl6_dMOt5LxBLcFzmRaGN_t-6N3xEVuBUWOGi_6s", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27473.0>, params: %{}, path_info: [".well-known", "acme-challenge", "d-ttl6_dMOt5LxBLcFzmRaGN_t-6N3xEVuBUWOGi_6s"], 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://pinchfla (truncated) 11:21:18.794 [info] GET /.well-known/acme-challenge/ZhQwHVlnwd9OcN0pkpqRV_Lio1PeyN9OfmlIXW3P9UE 11:21:18.795 [debug] QUERY OK source="settings" db=0.7ms 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 [] 11:21:18.796 [debug] QUERY OK source="settings" db=0.5ms idle=573.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 [] 11:21:18.796 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:21:18.797 [error] #PID<0.27474.0> running PinchflatWeb.Endpoint (connection #PID<0.27472.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/ZhQwHVlnwd9OcN0pkpqRV_Lio1PeyN9OfmlIXW3P9UE ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ZhQwHVlnwd9OcN0pkpqRV_Lio1PeyN9OfmlIXW3P9UE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27472.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ZhQwHVlnwd9OcN0pkpqRV_Lio1PeyN9OfmlIXW3P9UE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 35092}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ZhQwHVlnwd9OcN0pkpqRV_Lio1PeyN9OfmlIXW3P9UE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27474.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ZhQwHVlnwd9OcN0pkpqRV_Lio1PeyN9OfmlIXW3P9UE"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ZhQwHVlnwd9OcN0pkpqRV_Lio1PeyN9OfmlIXW3P9UE"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/ZhQwHVlnwd9OcN0pkpqRV_Lio1PeyN9OfmlIXW3P9UE", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZZHyWxf3NYOEAGAqB"} ], 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.27472.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ZhQwHVlnwd9OcN0pkpqRV_Lio1PeyN9OfmlIXW3P9UE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 35092}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ZhQwHVlnwd9OcN0pkpqRV_Lio1PeyN9OfmlIXW3P9UE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ZhQwHVlnwd9OcN0pkpqRV_Lio1PeyN9OfmlIXW3P9UE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27472.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ZhQwHVlnwd9OcN0pkpqRV_Lio1PeyN9OfmlIXW3P9UE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 35092}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ZhQwHVlnwd9OcN0pkpqRV_Lio1PeyN9OfmlIXW3P9UE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27474.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ZhQwHVlnwd9OcN0pkpqRV_Lio1PeyN9OfmlIXW3P9UE"], 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://pinchfla (truncated) 11:21:21.304 [info] GET /.well-known/acme-challenge/-4UifJoujkdHGjg-3wuQbwbqC_yxH_7wnyHjU9ANgRA 11:21:21.305 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=531.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 [] 11:21:21.306 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=531.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 [] 11:21:21.306 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:21:21.307 [error] #PID<0.27476.0> running PinchflatWeb.Endpoint (connection #PID<0.27475.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/-4UifJoujkdHGjg-3wuQbwbqC_yxH_7wnyHjU9ANgRA ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/-4UifJoujkdHGjg-3wuQbwbqC_yxH_7wnyHjU9ANgRA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27475.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/-4UifJoujkdHGjg-3wuQbwbqC_yxH_7wnyHjU9ANgRA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 35102}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/-4UifJoujkdHGjg-3wuQbwbqC_yxH_7wnyHjU9ANgRA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27476.0>, params: %{}, path_info: [".well-known", "acme-challenge", "-4UifJoujkdHGjg-3wuQbwbqC_yxH_7wnyHjU9ANgRA"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/-4UifJoujkdHGjg-3wuQbwbqC_yxH_7wnyHjU9ANgRA"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/-4UifJoujkdHGjg-3wuQbwbqC_yxH_7wnyHjU9ANgRA", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZZRIyWsnTNeIAGAqh"} ], 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.27475.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/-4UifJoujkdHGjg-3wuQbwbqC_yxH_7wnyHjU9ANgRA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 35102}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/-4UifJoujkdHGjg-3wuQbwbqC_yxH_7wnyHjU9ANgRA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/-4UifJoujkdHGjg-3wuQbwbqC_yxH_7wnyHjU9ANgRA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27475.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/-4UifJoujkdHGjg-3wuQbwbqC_yxH_7wnyHjU9ANgRA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 35102}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/-4UifJoujkdHGjg-3wuQbwbqC_yxH_7wnyHjU9ANgRA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27476.0>, params: %{}, path_info: [".well-known", "acme-challenge", "-4UifJoujkdHGjg-3wuQbwbqC_yxH_7wnyHjU9ANgRA"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:21:27.704 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JZHJxacLI7c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8d/4b/8d4baccdd51038946c4b31336ed8e72b84021359e68c4775f81c3282425709f1.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 11:21:27.784 [debug] Running yt-dlp command for action: download_thumbnail 11:21:27.785 [debug] QUERY OK source="settings" db=0.2ms idle=1009.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 [] 11:21:27.785 [debug] QUERY OK source="settings" db=0.1ms idle=1010.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 [] 11:21:27.785 [debug] QUERY OK source="settings" db=0.1ms idle=1010.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 [] 11:21:27.785 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JZHJxacLI7c --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3422/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c7/a6/c7a654f643562f850d58f0d1ef198f922599b8d7155e68fe70cc3766fc9f8669.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:21:28.939 [info] GET /.well-known/acme-challenge/lFEiQR8h3EsNyjAyAJldivUpIsAmbGci9uoTBDDhNFs 11:21:28.940 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1155.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 [] 11:21:28.941 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=1155.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 [] 11:21:28.941 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:21:28.942 [error] #PID<0.27482.0> running PinchflatWeb.Endpoint (connection #PID<0.27481.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/lFEiQR8h3EsNyjAyAJldivUpIsAmbGci9uoTBDDhNFs ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/lFEiQR8h3EsNyjAyAJldivUpIsAmbGci9uoTBDDhNFs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27481.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/lFEiQR8h3EsNyjAyAJldivUpIsAmbGci9uoTBDDhNFs", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48580}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/lFEiQR8h3EsNyjAyAJldivUpIsAmbGci9uoTBDDhNFs", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27482.0>, params: %{}, path_info: [".well-known", "acme-challenge", "lFEiQR8h3EsNyjAyAJldivUpIsAmbGci9uoTBDDhNFs"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/lFEiQR8h3EsNyjAyAJldivUpIsAmbGci9uoTBDDhNFs"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/lFEiQR8h3EsNyjAyAJldivUpIsAmbGci9uoTBDDhNFs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZZtlLcwu4u0MAGArB"} ], 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.27481.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/lFEiQR8h3EsNyjAyAJldivUpIsAmbGci9uoTBDDhNFs", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48580}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/lFEiQR8h3EsNyjAyAJldivUpIsAmbGci9uoTBDDhNFs", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/lFEiQR8h3EsNyjAyAJldivUpIsAmbGci9uoTBDDhNFs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27481.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/lFEiQR8h3EsNyjAyAJldivUpIsAmbGci9uoTBDDhNFs", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48580}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/lFEiQR8h3EsNyjAyAJldivUpIsAmbGci9uoTBDDhNFs", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27482.0>, params: %{}, path_info: [".well-known", "acme-challenge", "lFEiQR8h3EsNyjAyAJldivUpIsAmbGci9uoTBDDhNFs"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:21:33.375 [info] {"source":"oban","duration":2063,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:36.462 [info] GET /.well-known/acme-challenge/kg0fc1U7022-8VCvjEbVoTqY8U3BO7pwzJ4MfxEY5Oc 11:21:36.464 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1687.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 [] 11:21:36.465 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1689.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 [] 11:21:36.465 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:21:36.466 [error] #PID<0.27484.0> running PinchflatWeb.Endpoint (connection #PID<0.27483.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/kg0fc1U7022-8VCvjEbVoTqY8U3BO7pwzJ4MfxEY5Oc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/kg0fc1U7022-8VCvjEbVoTqY8U3BO7pwzJ4MfxEY5Oc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27483.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/kg0fc1U7022-8VCvjEbVoTqY8U3BO7pwzJ4MfxEY5Oc", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 34532}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/kg0fc1U7022-8VCvjEbVoTqY8U3BO7pwzJ4MfxEY5Oc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27484.0>, params: %{}, path_info: [".well-known", "acme-challenge", "kg0fc1U7022-8VCvjEbVoTqY8U3BO7pwzJ4MfxEY5Oc"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/kg0fc1U7022-8VCvjEbVoTqY8U3BO7pwzJ4MfxEY5Oc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/kg0fc1U7022-8VCvjEbVoTqY8U3BO7pwzJ4MfxEY5Oc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZaJm1Tf7Uq6kAGArh"} ], 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.27483.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/kg0fc1U7022-8VCvjEbVoTqY8U3BO7pwzJ4MfxEY5Oc", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 34532}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/kg0fc1U7022-8VCvjEbVoTqY8U3BO7pwzJ4MfxEY5Oc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/kg0fc1U7022-8VCvjEbVoTqY8U3BO7pwzJ4MfxEY5Oc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27483.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/kg0fc1U7022-8VCvjEbVoTqY8U3BO7pwzJ4MfxEY5Oc", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 34532}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/kg0fc1U7022-8VCvjEbVoTqY8U3BO7pwzJ4MfxEY5Oc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27484.0>, params: %{}, path_info: [".well-known", "acme-challenge", "kg0fc1U7022-8VCvjEbVoTqY8U3BO7pwzJ4MfxEY5Oc"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:21:37.138 [info] GET /.well-known/acme-challenge/wrz_x8ZLMXCO2iYDgc2qS_pVXRG-2Nk2mgVPBYt3Txo 11:21:37.139 [debug] QUERY OK source="settings" db=0.2ms idle=1364.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 [] 11:21:37.140 [debug] QUERY OK source="settings" db=0.2ms idle=821.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 [] 11:21:37.140 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:21:37.140 [error] #PID<0.27485.0> running PinchflatWeb.Endpoint (connection #PID<0.27483.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/wrz_x8ZLMXCO2iYDgc2qS_pVXRG-2Nk2mgVPBYt3Txo ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/wrz_x8ZLMXCO2iYDgc2qS_pVXRG-2Nk2mgVPBYt3Txo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27483.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/wrz_x8ZLMXCO2iYDgc2qS_pVXRG-2Nk2mgVPBYt3Txo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 34532}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/wrz_x8ZLMXCO2iYDgc2qS_pVXRG-2Nk2mgVPBYt3Txo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27485.0>, params: %{}, path_info: [".well-known", "acme-challenge", "wrz_x8ZLMXCO2iYDgc2qS_pVXRG-2Nk2mgVPBYt3Txo"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/wrz_x8ZLMXCO2iYDgc2qS_pVXRG-2Nk2mgVPBYt3Txo"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/wrz_x8ZLMXCO2iYDgc2qS_pVXRG-2Nk2mgVPBYt3Txo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZaMIFlApd-6QAGAsB"} ], 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.27483.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/wrz_x8ZLMXCO2iYDgc2qS_pVXRG-2Nk2mgVPBYt3Txo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 34532}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/wrz_x8ZLMXCO2iYDgc2qS_pVXRG-2Nk2mgVPBYt3Txo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/wrz_x8ZLMXCO2iYDgc2qS_pVXRG-2Nk2mgVPBYt3Txo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27483.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/wrz_x8ZLMXCO2iYDgc2qS_pVXRG-2Nk2mgVPBYt3Txo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 34532}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/wrz_x8ZLMXCO2iYDgc2qS_pVXRG-2Nk2mgVPBYt3Txo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27485.0>, params: %{}, path_info: [".well-known", "acme-challenge", "wrz_x8ZLMXCO2iYDgc2qS_pVXRG-2Nk2mgVPBYt3Txo"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:21:43.743 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XFbvurE5Smo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/76/ad/76adf8c7df2fcb4a05c6d3f21c831d562024002038fb00325af4bd05e1161dec.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies WARNING: Unable to download video thumbnail 41: [Errno -3] Temporary failure in name resolution WARNING: Unable to download video thumbnail 40: [Errno -3] Temporary failure in name resolution WARNING: Unable to download video thumbnail 39: [Errno -3] Temporary failure in name resolution 11:21:43.815 [debug] Running yt-dlp command for action: download_thumbnail 11:21:43.817 [debug] QUERY OK source="settings" db=0.6ms idle=1041.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 [] 11:21:43.817 [debug] QUERY OK source="settings" db=0.4ms 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 [] 11:21:43.818 [debug] QUERY OK source="settings" db=0.4ms idle=1043.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 [] 11:21:43.819 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XFbvurE5Smo --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3424/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ed/1b/ed1b0f0206077431f034afda68ce8ea65059cbf772893a584dfa47673aa624e7.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:21:46.304 [info] GET /.well-known/acme-challenge/QI-kSABkuW_pnuh5PQ9uOJ8Lg1YMmKUOIurusvSmmJ4 11:21:46.305 [debug] QUERY OK source="settings" db=1.0ms idle=945.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 [] 11:21:46.306 [debug] QUERY OK source="settings" db=0.3ms idle=530.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 [] 11:21:46.306 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:21:46.307 [error] #PID<0.27493.0> running PinchflatWeb.Endpoint (connection #PID<0.27492.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/QI-kSABkuW_pnuh5PQ9uOJ8Lg1YMmKUOIurusvSmmJ4 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/QI-kSABkuW_pnuh5PQ9uOJ8Lg1YMmKUOIurusvSmmJ4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27492.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/QI-kSABkuW_pnuh5PQ9uOJ8Lg1YMmKUOIurusvSmmJ4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 34260}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/QI-kSABkuW_pnuh5PQ9uOJ8Lg1YMmKUOIurusvSmmJ4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27493.0>, params: %{}, path_info: [".well-known", "acme-challenge", "QI-kSABkuW_pnuh5PQ9uOJ8Lg1YMmKUOIurusvSmmJ4"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/QI-kSABkuW_pnuh5PQ9uOJ8Lg1YMmKUOIurusvSmmJ4"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/QI-kSABkuW_pnuh5PQ9uOJ8Lg1YMmKUOIurusvSmmJ4", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZauRN2NL9Rx8AGAtB"} ], 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.27492.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/QI-kSABkuW_pnuh5PQ9uOJ8Lg1YMmKUOIurusvSmmJ4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 34260}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/QI-kSABkuW_pnuh5PQ9uOJ8Lg1YMmKUOIurusvSmmJ4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/QI-kSABkuW_pnuh5PQ9uOJ8Lg1YMmKUOIurusvSmmJ4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27492.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/QI-kSABkuW_pnuh5PQ9uOJ8Lg1YMmKUOIurusvSmmJ4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 34260}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/QI-kSABkuW_pnuh5PQ9uOJ8Lg1YMmKUOIurusvSmmJ4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27493.0>, params: %{}, path_info: [".well-known", "acme-challenge", "QI-kSABkuW_pnuh5PQ9uOJ8Lg1YMmKUOIurusvSmmJ4"], 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://pinchfla (truncated) 11:21:46.376 [info] {"args":{"id":5},"id":1621,"meta":{},"system_time":1774657306376163480,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:21:46.385 [debug] QUERY OK source="sources" db=8.6ms queue=0.1ms idle=601.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" = ?) [5] 11:21:46.386 [debug] QUERY OK source="settings" db=1.0ms idle=80.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 [] 11:21:46.388 [debug] QUERY OK source="media_profiles" db=0.7ms idle=80.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] 11:21:46.398 [debug] QUERY OK source="settings" db=10.1ms idle=24.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 [] 11:21:46.398 [debug] Fetching recent media IDs from YouTube API for playlist: UUVwfqPkv08OTuHzkPU3EaDw 11:21:46.399 [debug] QUERY OK source="settings" db=0.4ms idle=23.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 [] 11:21:46.399 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:21:46.896 [debug] QUERY OK source="media_items" db=2.8ms idle=507.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [5, "k8Yr1jU-0EE", "NFrnhg8hI0c", "20XMhcpSNV0", "YVGFnwJho6E", "xQXiSGDXknA", "uZl0TO8i96g", "Hs5ewNKWUwk", "E5suxhHY0aY", "sCou7ut2L-o", "a0INtLdzUiE", "n0x8sH0M9CE", "W4Af6DIMqnE", "Q-sUbLem5aI", "s-jMj11w68U", "DS9HZG5JRBc", "_wLy-vzLi3E", "iFpZfYwRcns", "nPovqKKSKcE", "j_w4tRYm7Og", "laZpTO7IFtA", "FM5e9Vb1noE", "cK6g53lLgnw", "1X5WYEhzGyI", "QVpu66njzdE", "tfnANe2YUwM", "0-QK6hxLxgM", "TYUeXqSlcDg", "0322Pk-GKto", "1Em1UrRSEXc", "x2RT9Awsyi8", "4Yth52yml8E", "ky9Zo2FmjQ8", "npU2QpX5piA", "XEb_1Sq8jNo", "L3QQDAKxUIk", "l3s8S6bBbOs", "WyWBU1NpDf8", "7wZ0NVuoDWg", "-Ig2-rBZtSI", "5BG06-J1t4Y", "GcQ6vQEeQew", "ap8S88LeiB0", "4LvXP3XR6gw", "I9o65_aIq0Q", "Ut9XjFkGK6s", "PcFkjR5NELA", "Yl67318oP-s", "umbar5BKBus", "FEfCtNhVjJ0", ...] 11:21:46.903 [debug] QUERY OK source="media_items" db=2.6ms idle=513.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 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")))) [5] 11:21:47.177 [debug] QUERY OK source="tasks" db=0.6ms idle=7.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1627, 5, ~U[2026-03-28 00:21:47Z], ~U[2026-03-28 00:21:47Z]] 11:21:47.178 [info] {"args":{"id":5},"id":1621,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":801502,"event":"job:stop","queue_time":357039,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:21:47.311 [info] GET /.well-known/acme-challenge/aD1WRC8iHAwn82gtD2sbNofOyiXGnwX7je86oBxSkAQ 11:21:47.313 [debug] QUERY OK source="settings" db=0.9ms queue=0.3ms idle=136.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 [] 11:21:47.314 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=137.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 [] 11:21:47.314 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:21:47.315 [error] #PID<0.27495.0> running PinchflatWeb.Endpoint (connection #PID<0.27492.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/aD1WRC8iHAwn82gtD2sbNofOyiXGnwX7je86oBxSkAQ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/aD1WRC8iHAwn82gtD2sbNofOyiXGnwX7je86oBxSkAQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27492.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/aD1WRC8iHAwn82gtD2sbNofOyiXGnwX7je86oBxSkAQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 34260}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/aD1WRC8iHAwn82gtD2sbNofOyiXGnwX7je86oBxSkAQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27495.0>, params: %{}, path_info: [".well-known", "acme-challenge", "aD1WRC8iHAwn82gtD2sbNofOyiXGnwX7je86oBxSkAQ"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/aD1WRC8iHAwn82gtD2sbNofOyiXGnwX7je86oBxSkAQ"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/aD1WRC8iHAwn82gtD2sbNofOyiXGnwX7je86oBxSkAQ", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZayBUUEmrv_oAGAwB"} ], 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.27492.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/aD1WRC8iHAwn82gtD2sbNofOyiXGnwX7je86oBxSkAQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 34260}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/aD1WRC8iHAwn82gtD2sbNofOyiXGnwX7je86oBxSkAQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/aD1WRC8iHAwn82gtD2sbNofOyiXGnwX7je86oBxSkAQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27492.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/aD1WRC8iHAwn82gtD2sbNofOyiXGnwX7je86oBxSkAQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 34260}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/aD1WRC8iHAwn82gtD2sbNofOyiXGnwX7je86oBxSkAQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27495.0>, params: %{}, path_info: [".well-known", "acme-challenge", "aD1WRC8iHAwn82gtD2sbNofOyiXGnwX7je86oBxSkAQ"], 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://pinchfla (truncated) 11:21:50.345 [info] GET /.well-known/acme-challenge/qHueLdoLS-fT6yXFf3iCDUFpM5IYvFpS18LrNucY9BQ 11:21:50.346 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=1571.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 [] 11:21:50.348 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1572.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 [] 11:21:50.348 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:21:50.349 [error] #PID<0.27496.0> running PinchflatWeb.Endpoint (connection #PID<0.27492.0>, stream id 3) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/qHueLdoLS-fT6yXFf3iCDUFpM5IYvFpS18LrNucY9BQ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/qHueLdoLS-fT6yXFf3iCDUFpM5IYvFpS18LrNucY9BQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27492.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/qHueLdoLS-fT6yXFf3iCDUFpM5IYvFpS18LrNucY9BQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 34260}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/qHueLdoLS-fT6yXFf3iCDUFpM5IYvFpS18LrNucY9BQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27496.0>, params: %{}, path_info: [".well-known", "acme-challenge", "qHueLdoLS-fT6yXFf3iCDUFpM5IYvFpS18LrNucY9BQ"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/qHueLdoLS-fT6yXFf3iCDUFpM5IYvFpS18LrNucY9BQ"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/qHueLdoLS-fT6yXFf3iCDUFpM5IYvFpS18LrNucY9BQ", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZa9UzONp-ISYAGAwh"} ], 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.27492.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/qHueLdoLS-fT6yXFf3iCDUFpM5IYvFpS18LrNucY9BQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 34260}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/qHueLdoLS-fT6yXFf3iCDUFpM5IYvFpS18LrNucY9BQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/qHueLdoLS-fT6yXFf3iCDUFpM5IYvFpS18LrNucY9BQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27492.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/qHueLdoLS-fT6yXFf3iCDUFpM5IYvFpS18LrNucY9BQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 34260}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/qHueLdoLS-fT6yXFf3iCDUFpM5IYvFpS18LrNucY9BQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27496.0>, params: %{}, path_info: [".well-known", "acme-challenge", "qHueLdoLS-fT6yXFf3iCDUFpM5IYvFpS18LrNucY9BQ"], 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://pinchfla (truncated) 11:21:58.937 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XFbvurE5Smo --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3424/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ed/1b/ed1b0f0206077431f034afda68ce8ea65059cbf772893a584dfa47673aa624e7.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:21:58.937 [debug] QUERY OK db=0.0ms idle=1162.5ms begin [] 11:21:58.941 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 00:21:43Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e122999 - A Magic Punch? Color-Changing Cocktail for a Party!.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e122999 - A Magic Punch? Color-Changing Cocktail for a Party!.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e122999 - A Magic Punch? Color-Changing Cocktail for a Party!.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e122999 - A Magic Punch? Color-Changing Cocktail for a Party!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e122999 - A Magic Punch? Color-Changing Cocktail for a Party!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e122999 - A Magic Punch? Color-Changing Cocktail for a Party!-thumb.jpg", ~U[2026-03-28 00:21:58Z], 3424] 11:21:58.976 [debug] QUERY OK source="media_metadata" db=33.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/3424/metadata.json.gz", "/config/metadata/media_items/3424/thumbnail.jpg", 3424, ~U[2026-03-28 00:21:58Z], ~U[2026-03-28 00:21:58Z]] 11:21:58.978 [debug] QUERY OK db=2.3ms commit [] 11:21:59.029 [debug] QUERY OK source="media_items" db=24.9ms queue=0.1ms idle=1229.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [71947477, ~U[2026-03-28 00:21:59Z], 3424] 11:21:59.030 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:21:59.041 [info] {"args":{"id":3424},"id":580,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":219242884,"event":"job:stop","queue_time":72743779803,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:21:59.052 [info] {"args":{"id":3427},"id":581,"meta":{},"system_time":1774657319052210056,"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"]} 11:21:59.054 [debug] QUERY OK source="media_items" db=0.9ms queue=0.2ms idle=278.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" = ?) [3427] 11:21:59.055 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:21:59.057 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=77.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" = ?) [4] 11:21:59.058 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=28.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] 11:21:59.061 [debug] QUERY OK source="media_items" db=1.4ms idle=17.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 [3427] 11:21:59.063 [debug] QUERY OK source="media_metadata" db=0.3ms queue=0.1ms idle=11.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" = ?) [3427] 11:21:59.064 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms 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] 11:21:59.066 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=8.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 [] 11:21:59.067 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:21:59.068 [debug] Running yt-dlp command for action: get_downloadable_status 11:21:59.070 [debug] QUERY OK source="settings" db=0.4ms 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 [] 11:21:59.071 [debug] QUERY OK source="settings" db=0.2ms queue=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 [] 11:21:59.071 [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 [] 11:21:59.072 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=T2qYY05JlLc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4b/61/4b61c0a88b1ec84d2db3eed6c6470364a655c1d6f0687b82069bcd90a274d62a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:21:59.372 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JZHJxacLI7c --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3422/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c7/a6/c7a654f643562f850d58f0d1ef198f922599b8d7155e68fe70cc3766fc9f8669.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (1/3)... WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (2/3)... WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (3/3)... 11:21:59.374 [debug] QUERY OK db=0.0ms queue=0.1ms idle=307.6ms begin [] 11:21:59.377 [debug] QUERY OK source="media_items" db=2.3ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 00:21:27Z], "/downloads/shows/Kevin Kos/Season 2024/s2024e010599 - Dangerous Cocktail Ingredients - Super Juice Too?!.mp4", "/downloads/shows/Kevin Kos/Season 2024/s2024e010599 - Dangerous Cocktail Ingredients - Super Juice Too?!.info.json", "/downloads/shows/Kevin Kos/Season 2024/s2024e010599 - Dangerous Cocktail Ingredients - Super Juice Too?!.nfo", "/downloads/shows/Kevin Kos/Season 2024/s2024e010599 - Dangerous Cocktail Ingredients - Super Juice Too?!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2024/s2024e010599 - Dangerous Cocktail Ingredients - Super Juice Too?!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2024/s2024e010599 - Dangerous Cocktail Ingredients - Super Juice Too?!-thumb.jpg", ~U[2026-03-28 00:21:59Z], 3422] 11:21:59.381 [debug] QUERY OK source="media_metadata" db=3.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/3422/metadata.json.gz", "/config/metadata/media_items/3422/thumbnail.jpg", 3422, ~U[2026-03-28 00:21:59Z], ~U[2026-03-28 00:21:59Z]] 11:21:59.382 [debug] QUERY OK db=0.9ms commit [] 11:21:59.403 [debug] QUERY OK source="media_items" db=9.9ms idle=325.9ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [55077996, ~U[2026-03-28 00:21:59Z], 3422] 11:21:59.403 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:21:59.408 [info] {"args":{"id":3422},"id":579,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":312427579,"event":"job:stop","queue_time":72655965823,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:21:59.417 [info] {"args":{"id":3429},"id":582,"meta":{},"system_time":1774657319417368252,"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"]} 11:21:59.419 [debug] QUERY OK source="media_items" db=1.2ms queue=0.2ms idle=35.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" = ?) [3429] 11:21:59.420 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:21:59.421 [debug] QUERY OK source="sources" db=0.4ms queue=0.2ms idle=18.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" = ?) [4] 11:21:59.422 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms 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] 11:21:59.423 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=9.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 [3429] 11:21:59.425 [debug] QUERY OK source="media_metadata" db=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" = ?) [3429] 11:21:59.426 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=5.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] 11:21:59.427 [debug] QUERY OK source="settings" db=0.4ms 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 [] 11:21:59.428 [debug] QUERY OK source="settings" db=0.5ms 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 [] 11:21:59.429 [debug] Running yt-dlp command for action: get_downloadable_status 11:21:59.431 [debug] QUERY OK source="settings" db=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 [] 11:21:59.431 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms 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 [] 11:21:59.432 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms 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 [] 11:21:59.433 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2517VOxzkrw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/04/f1/04f19f40c0669ceeb22c638b4cd2edb602a0a47139b75b2cb9649becba4d6a5a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:22:00.735 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:22:03.378 [info] {"source":"oban","duration":2658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:05.156 [info] GET / 11:22:05.157 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:22:05.158 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=722.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 [] 11:22:05.159 [debug] QUERY OK source="media_profiles" db=0.6ms idle=384.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:22:05.160 [debug] QUERY OK source="sources" db=0.3ms idle=385.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:22:05.211 [debug] QUERY OK source="media_items" db=50.9ms idle=385.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:22:05.215 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=436.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:22:05.215 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=56.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 [] 11:22:05.216 [debug] QUERY OK source="settings" db=0.2ms idle=56.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 [] 11:22:05.217 [debug] QUERY OK source="settings" db=0.1ms idle=56.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 [] 11:22:05.221 [debug] QUERY OK source="media_items" db=3.1ms 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 (NOT (m0."media_filepath" IS NULL)) [] 11:22:05.222 [debug] QUERY OK source="media_items" db=0.5ms idle=6.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:22:05.223 [debug] QUERY OK source="sources" db=0.2ms idle=6.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" IN (?,?)) [6, 2] 11:22:05.287 [debug] QUERY OK source="media_items" db=61.6ms idle=9.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 (((((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"))) [] 11:22:05.362 [debug] QUERY OK source="media_items" db=74.3ms idle=70.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:22:05.363 [debug] QUERY OK source="sources" db=0.3ms idle=141.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] 11:22:05.368 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=145.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:22:05.369 [debug] QUERY OK source="media_items" db=0.3ms idle=146.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3427, 3429] 11:22:05.372 [info] Sent 200 in 216ms 11:22:10.224 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2517VOxzkrw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/04/f1/04f19f40c0669ceeb22c638b4cd2edb602a0a47139b75b2cb9649becba4d6a5a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:22:10.225 [debug] Running yt-dlp command for action: download 11:22:10.226 [debug] QUERY OK source="settings" db=0.4ms idle=1450.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 [] 11:22:10.226 [debug] QUERY OK source="settings" db=0.1ms idle=1451.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 [] 11:22:10.226 [debug] QUERY OK source="settings" db=0.3ms idle=1451.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 [] 11:22:10.227 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2517VOxzkrw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ea/9f/ea9fec078d48166ee35c17b451c6fdd8dd5b07ef2eb6543df029255fcf889868.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:22:10.797 [info] GET /sources/2/media/8244/edit 11:22:10.797 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "8244", "source_id" => "2"} Pipelines: [:browser] 11:22:10.798 [debug] QUERY OK source="media_items" db=0.8ms idle=571.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" = ?) [8244] 11:22:10.799 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=572.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 [] 11:22:10.800 [debug] QUERY OK source="settings" db=0.3ms idle=573.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 [] 11:22:10.801 [debug] QUERY OK source="settings" db=0.2ms idle=348.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 [] 11:22:10.803 [info] Sent 200 in 6ms 11:22:11.517 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=T2qYY05JlLc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4b/61/4b61c0a88b1ec84d2db3eed6c6470364a655c1d6f0687b82069bcd90a274d62a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:22:11.518 [debug] Running yt-dlp command for action: download 11:22:11.518 [debug] QUERY OK source="settings" db=0.2ms idle=720.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 [] 11:22:11.519 [debug] QUERY OK source="settings" db=0.2ms idle=718.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 [] 11:22:11.519 [debug] QUERY OK source="settings" db=0.1ms idle=718.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 [] 11:22:11.520 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=T2qYY05JlLc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e5/49/e549ef8a27c95096ba0c67843fa541c84542274f1828776c7c6ce3c56791a328.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:22:30.552 [info] {"args":{"id":6},"id":1622,"meta":{},"system_time":1774657350552077226,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:22:30.559 [debug] QUERY OK source="sources" db=6.1ms idle=1777.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" = ?) [6] 11:22:30.561 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=1784.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 [] 11:22:30.562 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1031.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] 11:22:30.573 [debug] QUERY OK source="settings" db=10.5ms queue=0.1ms idle=26.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 [] 11:22:30.574 [debug] Fetching recent media IDs from YouTube API for playlist: UUOzMAa6IhV6uwYQATYG_2kg 11:22:30.574 [debug] QUERY OK source="settings" db=0.3ms idle=22.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 [] 11:22:30.575 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:22:32.205 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=661.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6, "dnia-38h1GA", "iZaN9NRWc28", "CJrLdBStrzc", "u-eoT-Foth8", "XHineC0YKjs", "VdlejwGkNoI", "ikIigkz2pMg", "qUdPPQ9-9Tg", "k9fuSOPjSXM", "hb-oXWK9r7k", "hDfrtCQmNOo", "zRIUM4OhyWU", "W7c0iVM4P2I", "KCFDp_kxT_4", "aZhuGRngq-g", "BgWbezF2M28", "ZJfHw71KKsk", "MisOg5bX0a4", "2UampQ_86ek", "7-iImzOel-s", "O8E47Ib_RoU", "RcVBMZd2_u8", "b-DHev8Uc6I", "0apH8xkS6PE", "I8m3hyPVsxA", "urqkKHRaT-8", "shyrhINSaPk", "Ze3bKcLbPWg", "ydk9KfgHUPo", "sFlgR1oiUXk", "jCieQsNXdBM", "Nz4uVkNMKdI", "tyX3PvjLSC8", "VeDDo4HhNVo", "2RmXPeBn3x0", "1sA4iEo0x1o", "KqAYebG_Bs0", "FelCut8wQ3o", "wY5Xb_t79SM", "-YqD-IWgaz8", "BdV0pSziReE", "u5VKDy7Dgj8", "hn89XxHJLQ0", "wE60s-NuU6c", "LBwtYK3W-vw", "FGpCwqNklsw", "79hW_qeneEY", "aNpJxLXZATY", "9JhGit6JRw0", ...] 11:22:32.210 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=434.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 [] 11:22:32.210 [debug] QUERY OK source="settings" db=0.3ms idle=435.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 [] 11:22:32.211 [debug] Running yt-dlp command for action: get_media_attributes 11:22:32.212 [debug] QUERY OK source="settings" db=0.3ms idle=437.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 [] 11:22:32.213 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:22:32.213 [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 [] 11:22:32.214 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/6e/a4/6ea42246058a20997d7cbdb9572a36db66dae426ab15eaa9b7965eb372c9976b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:22:33.381 [info] {"source":"oban","duration":1761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:40.586 [info] {"args":{"id":1},"id":1623,"meta":{},"system_time":1774657360585790951,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:22:40.587 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=811.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] 11:22:40.588 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=812.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 [] 11:22:40.589 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=813.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] 11:22:40.590 [debug] QUERY OK source="settings" db=0.6ms 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 [] 11:22:40.591 [debug] Fetching recent media IDs from YouTube API for playlist: UUISrVZmDM4x-Rq9mmNUw7Zw 11:22:40.592 [debug] QUERY OK source="settings" db=0.4ms 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 [] 11:22:40.592 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:22:41.239 [debug] QUERY OK source="media_items" db=4.4ms queue=0.1ms idle=647.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "Q0qmHym16H4", "WcWL0_PlcO8", "dQV1WkSly7k", "Xpohopi2_tA", "fsZdCn4jIUY", "hgk2jMPnG2w", "oDh4gg7xiUs", "3LfUmSMW_qc", "5gN9QvwPLq8", "uSBe19ms3aw", "Eq1BmJikpHA", "OsKelxcQUNo", "zNP6Q_Yk9hU", "ZPPCc15thCc", "UzARiS2CyJ4", "r8X8HVGVV1o", "_JI7oYBFZIo", "niCh-EI1Kfo", "92mSBlpBEJo", "_6OAB_8iwqs", "tJbcC43WELc", "cPz1rUCNI0o", "hFzt_dOdElw", "nC-QKeluT0c", "i8ARsrsVUMM", "X30l-491qck", "rzQeUM-lMUY", "BkUHm95UvCw", "MQ2cHq3-J7A", "CtF5dLHITYA", "SGJkxRdkRGg", "OUCt85aJaAA", "9gARPYZOka4", "-uH-Gi5tjEw", "qwUBBQKYX94", "s8VLDSQJ8nA", "EvPfr0lKkh4", "msXzAxF49gA", "hQCWaSvjkU0", "RcmjVsy3a-g", "xtuNc9vYJG4", "fj2tcg8OzsM", "2FZ4IfPACDM", "2Q9DzW20YJ8", "IVsWFGOE_mw", "vPxpMcv2Z4Y", "Zverj_ldlhY", "pQK8xasPd9Q", "_Yo7nh8u9pk", ...] 11:22:41.248 [debug] QUERY OK source="media_items" db=5.0ms queue=0.1ms idle=654.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 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] 11:22:41.342 [debug] QUERY OK source="tasks" db=0.8ms queue=0.1ms idle=24.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1628, 1, ~U[2026-03-28 00:22:41Z], ~U[2026-03-28 00:22:41Z]] 11:22:41.343 [info] {"args":{"id":1},"id":1623,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":756660,"event":"job:stop","queue_time":514410,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:23:00.736 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:23:03.386 [info] {"source":"oban","duration":3135,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:06.446 [info] GET / 11:23:06.446 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:23:06.447 [debug] QUERY OK source="settings" db=0.4ms idle=1671.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 [] 11:23:06.447 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1672.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:23:06.448 [debug] QUERY OK source="sources" db=0.1ms idle=1672.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:23:06.489 [debug] QUERY OK source="media_items" db=40.5ms idle=1672.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:23:06.494 [debug] QUERY OK source="media_items" db=4.5ms idle=820.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:23:06.494 [debug] QUERY OK source="settings" db=0.3ms idle=46.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 [] 11:23:06.495 [debug] QUERY OK source="settings" db=0.2ms idle=47.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 [] 11:23:06.496 [debug] QUERY OK source="settings" db=0.2ms idle=47.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 [] 11:23:06.502 [debug] QUERY OK source="media_items" db=4.5ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 11:23:06.503 [debug] QUERY OK source="media_items" db=1.1ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:23:06.505 [debug] QUERY OK source="sources" db=0.4ms 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" IN (?,?)) [6, 2] 11:23:06.570 [debug] QUERY OK source="media_items" db=58.7ms idle=16.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 (((((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"))) [] 11:23:06.648 [debug] QUERY OK source="media_items" db=76.7ms idle=74.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:23:06.649 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=147.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" = ?) [6] 11:23:06.655 [debug] QUERY OK source="tasks" db=0.9ms idle=150.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:23:06.657 [debug] QUERY OK source="sources" db=0.5ms idle=86.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] 11:23:06.657 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=151.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3427, 3429] 11:23:06.661 [info] Sent 200 in 214ms 11:23:16.611 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/6e/a4/6ea42246058a20997d7cbdb9572a36db66dae426ab15eaa9b7965eb372c9976b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (1/3)... WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (2/3)... WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (3/3)... WARNING: [youtube] Unable to download webpage: [Errno -3] Temporary failure in name resolution (caused by TransportError('[Errno -3] Temporary failure in name resolution')). Giving up after 3 retries WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (1/3)... WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (2/3)... ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days. 11:23:16.612 [error] Error creating media item 'u-eoT-Foth8' from URL: {:error, "WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (1/3)...\nWARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (2/3)...\nWARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (3/3)...\nWARNING: [youtube] Unable to download webpage: [Errno -3] Temporary failure in name resolution (caused by TransportError('[Errno -3] Temporary failure in name resolution')). Giving up after 3 retries\nWARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (1/3)...\nWARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (2/3)...\nERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days.\n", 1} 11:23:16.621 [debug] QUERY OK source="media_items" db=8.5ms queue=0.1ms idle=903.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 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] 11:23:16.805 [debug] QUERY OK source="tasks" db=11.4ms idle=9.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1629, 6, ~U[2026-03-28 00:23:16Z], ~U[2026-03-28 00:23:16Z]] 11:23:16.807 [info] {"args":{"id":6},"id":1622,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":46253884,"event":"job:stop","queue_time":123053,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:23:33.388 [info] {"source":"oban","duration":1724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:00.739 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:24:03.391 [info] {"source":"oban","duration":1658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:07.200 [info] GET / 11:24:07.200 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:24:07.202 [debug] QUERY OK source="settings" db=0.8ms idle=425.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 [] 11:24:07.203 [debug] QUERY OK source="media_profiles" db=0.3ms idle=427.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:24:07.203 [debug] QUERY OK source="sources" db=0.3ms idle=427.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:24:07.267 [debug] QUERY OK source="media_items" db=63.8ms idle=428.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:24:07.273 [debug] QUERY OK source="media_items" db=5.1ms queue=0.2ms idle=355.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:24:07.274 [debug] QUERY OK source="settings" db=0.2ms idle=71.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 [] 11:24:07.274 [debug] QUERY OK source="settings" db=0.3ms idle=71.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 [] 11:24:07.275 [debug] QUERY OK source="settings" db=0.1ms idle=71.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 [] 11:24:07.279 [debug] QUERY OK source="media_items" db=3.0ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 11:24:07.280 [debug] QUERY OK source="media_items" db=0.6ms idle=6.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:24:07.281 [debug] QUERY OK source="sources" db=0.3ms idle=6.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" IN (?,?)) [6, 2] 11:24:07.342 [debug] QUERY OK source="media_items" db=58.4ms idle=9.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 (((((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"))) [] 11:24:07.418 [debug] QUERY OK source="media_items" db=76.1ms idle=67.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:24:07.420 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=140.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] 11:24:07.425 [debug] QUERY OK source="tasks" db=0.7ms idle=144.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:24:07.426 [debug] QUERY OK source="media_items" db=0.4ms idle=145.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3427, 3429] 11:24:07.429 [info] Sent 200 in 229ms 11:24:33.394 [info] {"source":"oban","duration":1725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:00.740 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:25:03.399 [info] {"source":"oban","duration":3115,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:07.975 [info] GET / 11:25:07.976 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:25:07.977 [debug] QUERY OK source="settings" db=1.1ms idle=1201.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 [] 11:25:07.978 [debug] QUERY OK source="media_profiles" db=0.8ms idle=1202.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:25:07.979 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1204.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:25:07.996 [debug] QUERY OK source="media_items" db=15.8ms idle=1204.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:25:08.003 [debug] QUERY OK source="media_items" db=7.0ms queue=0.1ms idle=854.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:25:08.005 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=27.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 [] 11:25:08.006 [debug] QUERY OK source="settings" db=0.3ms idle=27.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 [] 11:25:08.007 [debug] QUERY OK source="settings" db=0.4ms idle=27.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 [] 11:25:08.016 [debug] QUERY OK source="media_items" db=6.7ms idle=13.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 (NOT (m0."media_filepath" IS NULL)) [] 11:25:08.017 [debug] QUERY OK source="media_items" db=0.8ms idle=13.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:25:08.018 [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" IN (?,?)) [6, 2] 11:25:08.129 [debug] QUERY OK source="media_items" db=107.9ms idle=15.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 (((((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"))) [] 11:25:08.207 [debug] QUERY OK source="media_items" db=77.6ms idle=122.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:25:08.208 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=190.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] 11:25:08.214 [debug] QUERY OK source="tasks" db=0.5ms idle=194.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:25:08.215 [debug] QUERY OK source="media_items" db=0.3ms idle=84.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3427, 3429] 11:25:08.218 [info] Sent 200 in 242ms 11:25:15.223 [info] GET /sources/6/media/7358 11:25:15.223 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "7358", "prevent_download" => "true", "source_id" => "6"} Pipelines: [:browser] 11:25:15.225 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=1449.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" = ?) [7358] 11:25:15.225 [debug] QUERY OK source="tasks" db=0.3ms idle=1450.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" [7358] 11:25:15.226 [debug] QUERY OK source="sources" db=0.5ms idle=1450.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" = ?) [6] 11:25:15.226 [debug] QUERY OK source="settings" db=0.2ms idle=1051.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 [] 11:25:15.227 [debug] QUERY OK source="settings" db=0.1ms idle=49.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 [] 11:25:15.228 [debug] QUERY OK source="settings" db=0.4ms 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 [] 11:25:15.228 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.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] 11:25:15.230 [info] Sent 200 in 6ms 11:25:33.401 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:00.742 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:26:01.214 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2517VOxzkrw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ea/9f/ea9fec078d48166ee35c17b451c6fdd8dd5b07ef2eb6543df029255fcf889868.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (1/3)... WARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (2/3)... WARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (3/3)... ERROR: Preprocessing: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies WARNING: Unable to download video thumbnail 41: [Errno -3] Temporary failure in name resolution WARNING: Unable to download video thumbnail 40: [Errno -3] Temporary failure in name resolution WARNING: Unable to download video thumbnail 39: [Errno -3] Temporary failure in name resolution WARNING: Unable to download video thumbnail 38: [Errno -3] Temporary failure in name resolution ERROR: Preprocessing: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution 11:26:01.214 [error] yt-dlp download error for media item #3429: "WARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (1/3)...\nWARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (2/3)...\nWARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (3/3)...\nERROR: Preprocessing: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution\nWARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies\nWARNING: Unable to download video thumbnail 41: [Errno -3] Temporary failure in name resolution\nWARNING: Unable to download video thumbnail 40: [Errno -3] Temporary failure in name resolution\nWARNING: Unable to download video thumbnail 39: [Errno -3] Temporary failure in name resolution\nWARNING: Unable to download video thumbnail 38: [Errno -3] Temporary failure in name resolution\nERROR: Preprocessing: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution\n" 11:26:01.252 [info] Recovery from yt-dlp error seems possible. Updating media item #3429 with parsed JSON from partial download attempt. Full download will be re-attemted in future anyway 11:26:01.315 [debug] Running yt-dlp command for action: download_thumbnail 11:26:01.318 [debug] QUERY OK source="settings" db=0.7ms idle=1542.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 [] 11:26:01.319 [debug] QUERY OK source="settings" db=0.7ms idle=975.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 [] 11:26:01.320 [debug] QUERY OK source="settings" db=0.7ms 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 [] 11:26:01.321 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2517VOxzkrw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3429/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/10/53/10531c4d7a91e1ce9f45d27db4b0e9e81e4359cbfa0c89411a22642b749de4a9.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:26:03.404 [info] {"source":"oban","duration":2356,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:08.852 [info] GET / 11:26:08.852 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:26:08.853 [debug] QUERY OK source="settings" db=0.6ms idle=485.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 [] 11:26:08.853 [debug] QUERY OK source="media_profiles" db=0.1ms idle=78.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:26:08.853 [debug] QUERY OK source="sources" db=0.1ms idle=78.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:26:08.864 [debug] QUERY OK source="media_items" db=10.3ms idle=78.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:26:08.866 [debug] QUERY OK source="media_items" db=1.5ms idle=89.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:26:08.866 [debug] QUERY OK source="settings" db=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 [] 11:26:08.867 [debug] QUERY OK source="settings" db=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 [] 11:26:08.868 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:26:08.874 [debug] QUERY OK source="media_items" db=5.4ms idle=4.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 (NOT (m0."media_filepath" IS NULL)) [] 11:26:08.876 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:26:08.877 [debug] QUERY OK source="sources" db=0.6ms 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" IN (?,?)) [6, 2] 11:26:08.941 [debug] QUERY OK source="media_items" db=61.0ms idle=13.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 (((((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"))) [] 11:26:08.992 [debug] QUERY OK source="media_items" db=50.2ms queue=0.1ms idle=73.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:26:08.993 [debug] QUERY OK source="sources" db=0.5ms idle=118.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" = ?) [6] 11:26:08.995 [debug] QUERY OK source="tasks" db=0.5ms idle=118.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:26:08.996 [debug] QUERY OK source="media_items" db=0.4ms idle=118.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3427, 3429] 11:26:08.998 [info] Sent 200 in 146ms 11:26:12.713 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2517VOxzkrw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3429/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/10/53/10531c4d7a91e1ce9f45d27db4b0e9e81e4359cbfa0c89411a22642b749de4a9.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:26:12.714 [debug] QUERY OK db=0.1ms idle=1938.6ms begin [] 11:26:12.719 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 00:26:01Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e121599 - DIY Butter Syrup for THE BEST Hot Buttered Rum!.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e121599 - DIY Butter Syrup for THE BEST Hot Buttered Rum!.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e121599 - DIY Butter Syrup for THE BEST Hot Buttered Rum!.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e121599 - DIY Butter Syrup for THE BEST Hot Buttered Rum!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e121599 - DIY Butter Syrup for THE BEST Hot Buttered Rum!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e121599 - DIY Butter Syrup for THE BEST Hot Buttered Rum!-thumb.jpg", ~U[2026-03-28 00:26:12Z], 3429] 11:26:12.720 [debug] QUERY OK source="media_metadata" db=1.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/3429/metadata.json.gz", "/config/metadata/media_items/3429/thumbnail.jpg", 3429, ~U[2026-03-28 00:26:12Z], ~U[2026-03-28 00:26:12Z]] 11:26:12.721 [debug] QUERY OK db=0.2ms commit [] 11:26:12.728 [debug] QUERY OK source="media_items" db=7.3ms idle=1945.8ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (1/3)...\nWARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (2/3)...\nWARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (3/3)...\nERROR: Preprocessing: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution\nWARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies\nWARNING: Unable to download video thumbnail 41: [Errno -3] Temporary failure in name resolution\nWARNING: Unable to download video thumbnail 40: [Errno -3] Temporary failure in name resolution\nWARNING: Unable to download video thumbnail 39: [Errno -3] Temporary failure in name resolution\nWARNING: Unable to download video thumbnail 38: [Errno -3] Temporary failure in name resolution\nERROR: Preprocessing: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution\n", ~U[2026-03-28 00:26:12Z], 3429] 11:26:12.736 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :retry}","args":{"id":3429},"id":582,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":253311575,"event":"job:exception","queue_time":72951414800,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:26:12.757 [info] {"args":{"id":3432},"id":583,"meta":{},"system_time":1774657572757104704,"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"]} 11:26:12.775 [debug] QUERY OK source="media_items" db=17.5ms idle=377.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" = ?) [3432] 11:26:12.775 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:26:12.799 [debug] QUERY OK source="sources" db=23.6ms idle=55.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" = ?) [4] 11:26:12.802 [debug] QUERY OK source="media_profiles" db=2.1ms queue=0.1ms idle=71.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] 11:26:12.804 [debug] QUERY OK source="media_items" db=1.0ms idle=67.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 [3432] 11:26:12.806 [debug] QUERY OK source="media_metadata" db=0.3ms idle=48.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" = ?) [3432] 11:26:12.807 [debug] QUERY OK source="media_profiles" db=0.5ms idle=31.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] 11:26:12.808 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:26:12.808 [debug] QUERY OK source="settings" db=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 [] 11:26:12.808 [debug] Running yt-dlp command for action: get_downloadable_status 11:26:12.810 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:26:12.810 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:26:12.811 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:26:12.811 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4L8plGOzX-o --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3e/68/3e688f0cd54954e28a312aafe95df112ff4e351ef1f94b2a7c5c47f8283a1b51.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:26:13.367 [info] GET /.well-known/acme-challenge/HCxXEsmCc6tlRLOE12zj62Tb3pqkrxfgHuEP8OScELM 11:26:13.368 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=559.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 [] 11:26:13.369 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=560.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 [] 11:26:13.369 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:26:13.370 [error] #PID<0.27552.0> running PinchflatWeb.Endpoint (connection #PID<0.27547.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/HCxXEsmCc6tlRLOE12zj62Tb3pqkrxfgHuEP8OScELM ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/HCxXEsmCc6tlRLOE12zj62Tb3pqkrxfgHuEP8OScELM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27547.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/HCxXEsmCc6tlRLOE12zj62Tb3pqkrxfgHuEP8OScELM", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 47700}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/HCxXEsmCc6tlRLOE12zj62Tb3pqkrxfgHuEP8OScELM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27552.0>, params: %{}, path_info: [".well-known", "acme-challenge", "HCxXEsmCc6tlRLOE12zj62Tb3pqkrxfgHuEP8OScELM"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/HCxXEsmCc6tlRLOE12zj62Tb3pqkrxfgHuEP8OScELM"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/HCxXEsmCc6tlRLOE12zj62Tb3pqkrxfgHuEP8OScELM", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZqRKD4PeuJY0AGBkh"} ], 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.27547.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/HCxXEsmCc6tlRLOE12zj62Tb3pqkrxfgHuEP8OScELM", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 47700}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/HCxXEsmCc6tlRLOE12zj62Tb3pqkrxfgHuEP8OScELM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/HCxXEsmCc6tlRLOE12zj62Tb3pqkrxfgHuEP8OScELM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27547.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/HCxXEsmCc6tlRLOE12zj62Tb3pqkrxfgHuEP8OScELM", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 47700}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/HCxXEsmCc6tlRLOE12zj62Tb3pqkrxfgHuEP8OScELM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27552.0>, params: %{}, path_info: [".well-known", "acme-challenge", "HCxXEsmCc6tlRLOE12zj62Tb3pqkrxfgHuEP8OScELM"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:26:14.302 [info] GET /sources/8/media/8455/force_download 11:26:14.304 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1492.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 [] 11:26:14.304 [debug] QUERY OK source="settings" db=0.3ms idle=1493.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 [] 11:26:14.304 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:26:14.305 [error] #PID<0.27553.0> running PinchflatWeb.Endpoint (connection #PID<0.27547.0>, stream id 3) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /sources/8/media/8455/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/8/media/8455/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27547.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/8455/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 47700}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "47.128.19.152", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27553.0>, params: %{}, path_info: ["sources", "8", "media", "8455", "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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"host", "pinchflat.suranyami.com"}, {"priority", "u=0, i"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "47.128.19.152"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/8/media/8455/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZqUpGKtUScyMAGBlB"} ], 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.27547.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/8455/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 47700}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "47.128.19.152", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/8/media/8455/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27547.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/8455/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 47700}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Byt (truncated) 11:26:22.326 [info] GET /.well-known/acme-challenge/mAqgFsPKIQLXbFK79f0ghi9tn9Ke4WrF2UqxTV2Bab4 11:26:22.326 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1551.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 [] 11:26:22.327 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1552.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 [] 11:26:22.327 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:26:22.328 [error] #PID<0.27557.0> running PinchflatWeb.Endpoint (connection #PID<0.27556.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/mAqgFsPKIQLXbFK79f0ghi9tn9Ke4WrF2UqxTV2Bab4 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/mAqgFsPKIQLXbFK79f0ghi9tn9Ke4WrF2UqxTV2Bab4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27556.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/mAqgFsPKIQLXbFK79f0ghi9tn9Ke4WrF2UqxTV2Bab4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 36690}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/mAqgFsPKIQLXbFK79f0ghi9tn9Ke4WrF2UqxTV2Bab4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27557.0>, params: %{}, path_info: [".well-known", "acme-challenge", "mAqgFsPKIQLXbFK79f0ghi9tn9Ke4WrF2UqxTV2Bab4"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/mAqgFsPKIQLXbFK79f0ghi9tn9Ke4WrF2UqxTV2Bab4"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/mAqgFsPKIQLXbFK79f0ghi9tn9Ke4WrF2UqxTV2Bab4", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZqyh-bL8DTMwAFOPi"} ], 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.27556.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/mAqgFsPKIQLXbFK79f0ghi9tn9Ke4WrF2UqxTV2Bab4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 36690}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/mAqgFsPKIQLXbFK79f0ghi9tn9Ke4WrF2UqxTV2Bab4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/mAqgFsPKIQLXbFK79f0ghi9tn9Ke4WrF2UqxTV2Bab4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27556.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/mAqgFsPKIQLXbFK79f0ghi9tn9Ke4WrF2UqxTV2Bab4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 36690}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/mAqgFsPKIQLXbFK79f0ghi9tn9Ke4WrF2UqxTV2Bab4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27557.0>, params: %{}, path_info: [".well-known", "acme-challenge", "mAqgFsPKIQLXbFK79f0ghi9tn9Ke4WrF2UqxTV2Bab4"], 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://pinchfla (truncated) 11:26:23.054 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4L8plGOzX-o --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3e/68/3e688f0cd54954e28a312aafe95df112ff4e351ef1f94b2a7c5c47f8283a1b51.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:26:23.054 [debug] Running yt-dlp command for action: download 11:26:23.055 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1278.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 [] 11:26:23.055 [debug] QUERY OK source="settings" db=0.1ms idle=1279.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 [] 11:26:23.055 [debug] QUERY OK source="settings" db=0.2ms idle=728.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 [] 11:26:23.056 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4L8plGOzX-o --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5d/88/5d8888646e4fff776444244005813280b3905f3b5b3560055115552117970473.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:26:25.205 [info] GET /.well-known/acme-challenge/UZbdLqOUz1C_3R-Df6ogQMk8C_OY1kLqlyNHzLpUBww 11:26:25.206 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=1430.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 [] 11:26:25.207 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=771.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 [] 11:26:25.208 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:26:25.209 [error] #PID<0.27558.0> running PinchflatWeb.Endpoint (connection #PID<0.27556.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/UZbdLqOUz1C_3R-Df6ogQMk8C_OY1kLqlyNHzLpUBww ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/UZbdLqOUz1C_3R-Df6ogQMk8C_OY1kLqlyNHzLpUBww (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27556.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/UZbdLqOUz1C_3R-Df6ogQMk8C_OY1kLqlyNHzLpUBww", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 36690}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/UZbdLqOUz1C_3R-Df6ogQMk8C_OY1kLqlyNHzLpUBww", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27558.0>, params: %{}, path_info: [".well-known", "acme-challenge", "UZbdLqOUz1C_3R-Df6ogQMk8C_OY1kLqlyNHzLpUBww"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/UZbdLqOUz1C_3R-Df6ogQMk8C_OY1kLqlyNHzLpUBww"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/UZbdLqOUz1C_3R-Df6ogQMk8C_OY1kLqlyNHzLpUBww", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZq9QdgPeLOBUAGBlh"} ], 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.27556.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/UZbdLqOUz1C_3R-Df6ogQMk8C_OY1kLqlyNHzLpUBww", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 36690}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/UZbdLqOUz1C_3R-Df6ogQMk8C_OY1kLqlyNHzLpUBww", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/UZbdLqOUz1C_3R-Df6ogQMk8C_OY1kLqlyNHzLpUBww (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27556.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/UZbdLqOUz1C_3R-Df6ogQMk8C_OY1kLqlyNHzLpUBww", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 36690}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/UZbdLqOUz1C_3R-Df6ogQMk8C_OY1kLqlyNHzLpUBww", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27558.0>, params: %{}, path_info: [".well-known", "acme-challenge", "UZbdLqOUz1C_3R-Df6ogQMk8C_OY1kLqlyNHzLpUBww"], 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://pinchfla (truncated) 11:26:26.035 [info] GET /.well-known/acme-challenge/dYx8UjiW4bkUet30HiSc0thBhJ23GotocCXZNOS9fhw 11:26:26.036 [debug] QUERY OK source="settings" db=0.5ms idle=1260.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 [] 11:26:26.037 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1261.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 [] 11:26:26.037 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:26:26.038 [error] #PID<0.27560.0> running PinchflatWeb.Endpoint (connection #PID<0.27559.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/dYx8UjiW4bkUet30HiSc0thBhJ23GotocCXZNOS9fhw ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/dYx8UjiW4bkUet30HiSc0thBhJ23GotocCXZNOS9fhw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27559.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/dYx8UjiW4bkUet30HiSc0thBhJ23GotocCXZNOS9fhw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37512}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/dYx8UjiW4bkUet30HiSc0thBhJ23GotocCXZNOS9fhw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27560.0>, params: %{}, path_info: [".well-known", "acme-challenge", "dYx8UjiW4bkUet30HiSc0thBhJ23GotocCXZNOS9fhw"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/dYx8UjiW4bkUet30HiSc0thBhJ23GotocCXZNOS9fhw"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/dYx8UjiW4bkUet30HiSc0thBhJ23GotocCXZNOS9fhw", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZrAWYzFfKX-AAGBmB"} ], 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.27559.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/dYx8UjiW4bkUet30HiSc0thBhJ23GotocCXZNOS9fhw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37512}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/dYx8UjiW4bkUet30HiSc0thBhJ23GotocCXZNOS9fhw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/dYx8UjiW4bkUet30HiSc0thBhJ23GotocCXZNOS9fhw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27559.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/dYx8UjiW4bkUet30HiSc0thBhJ23GotocCXZNOS9fhw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37512}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/dYx8UjiW4bkUet30HiSc0thBhJ23GotocCXZNOS9fhw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27560.0>, params: %{}, path_info: [".well-known", "acme-challenge", "dYx8UjiW4bkUet30HiSc0thBhJ23GotocCXZNOS9fhw"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:26:33.410 [info] {"source":"oban","duration":5735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:35.096 [info] GET /.well-known/acme-challenge/3NEI5-k6Ut39onFSD75dYvrpY4JplCwttQaj2O5yPAQ 11:26:35.096 [debug] QUERY OK source="settings" db=0.5ms idle=1321.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 [] 11:26:35.097 [debug] QUERY OK source="settings" db=0.5ms idle=622.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 [] 11:26:35.097 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:26:35.098 [error] #PID<0.27562.0> running PinchflatWeb.Endpoint (connection #PID<0.27561.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/3NEI5-k6Ut39onFSD75dYvrpY4JplCwttQaj2O5yPAQ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/3NEI5-k6Ut39onFSD75dYvrpY4JplCwttQaj2O5yPAQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27561.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/3NEI5-k6Ut39onFSD75dYvrpY4JplCwttQaj2O5yPAQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54304}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/3NEI5-k6Ut39onFSD75dYvrpY4JplCwttQaj2O5yPAQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27562.0>, params: %{}, path_info: [".well-known", "acme-challenge", "3NEI5-k6Ut39onFSD75dYvrpY4JplCwttQaj2O5yPAQ"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/3NEI5-k6Ut39onFSD75dYvrpY4JplCwttQaj2O5yPAQ"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/3NEI5-k6Ut39onFSD75dYvrpY4JplCwttQaj2O5yPAQ", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZriGlEIrwgHYAGBnB"} ], 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.27561.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/3NEI5-k6Ut39onFSD75dYvrpY4JplCwttQaj2O5yPAQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54304}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/3NEI5-k6Ut39onFSD75dYvrpY4JplCwttQaj2O5yPAQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/3NEI5-k6Ut39onFSD75dYvrpY4JplCwttQaj2O5yPAQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27561.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/3NEI5-k6Ut39onFSD75dYvrpY4JplCwttQaj2O5yPAQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54304}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/3NEI5-k6Ut39onFSD75dYvrpY4JplCwttQaj2O5yPAQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27562.0>, params: %{}, path_info: [".well-known", "acme-challenge", "3NEI5-k6Ut39onFSD75dYvrpY4JplCwttQaj2O5yPAQ"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:26:35.286 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=T2qYY05JlLc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e5/49/e549ef8a27c95096ba0c67843fa541c84542274f1828776c7c6ce3c56791a328.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (1/3)... WARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (2/3)... WARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (3/3)... ERROR: Preprocessing: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies WARNING: Unable to download video thumbnail 41: [Errno -3] Temporary failure in name resolution WARNING: Unable to download video thumbnail 40: [Errno -3] Temporary failure in name resolution WARNING: Unable to download video thumbnail 39: [Errno -3] Temporary failure in name resolution WARNING: Unable to download video thumbnail 38: [Errno -3] Temporary failure in name resolution ERROR: Preprocessing: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution 11:26:35.287 [error] yt-dlp download error for media item #3427: "WARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (1/3)...\nWARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (2/3)...\nWARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (3/3)...\nERROR: Preprocessing: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution\nWARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies\nWARNING: Unable to download video thumbnail 41: [Errno -3] Temporary failure in name resolution\nWARNING: Unable to download video thumbnail 40: [Errno -3] Temporary failure in name resolution\nWARNING: Unable to download video thumbnail 39: [Errno -3] Temporary failure in name resolution\nWARNING: Unable to download video thumbnail 38: [Errno -3] Temporary failure in name resolution\nERROR: Preprocessing: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution\n" 11:26:35.296 [info] Recovery from yt-dlp error seems possible. Updating media item #3427 with parsed JSON from partial download attempt. Full download will be re-attemted in future anyway 11:26:35.405 [debug] Running yt-dlp command for action: download_thumbnail 11:26:35.407 [debug] QUERY OK source="settings" db=0.3ms idle=631.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 [] 11:26:35.408 [debug] QUERY OK source="settings" db=0.1ms idle=632.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 [] 11:26:35.408 [debug] QUERY OK source="settings" db=0.2ms idle=633.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 [] 11:26:35.408 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=T2qYY05JlLc --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3427/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/32/3f/323f5fa8ca1de9b92109d64b1f3690f0e02075b626faeb31feec32db55e5cd79.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:26:42.241 [info] GET /.well-known/acme-challenge/6gxZh1wUI-AlED4nO7BA85BCwO7IR47EYSOZoI10ZK0 11:26:42.242 [debug] QUERY OK source="settings" db=0.3ms idle=1467.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 [] 11:26:42.243 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1467.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 [] 11:26:42.243 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:26:42.244 [error] #PID<0.27568.0> running PinchflatWeb.Endpoint (connection #PID<0.27567.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/6gxZh1wUI-AlED4nO7BA85BCwO7IR47EYSOZoI10ZK0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/6gxZh1wUI-AlED4nO7BA85BCwO7IR47EYSOZoI10ZK0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27567.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6gxZh1wUI-AlED4nO7BA85BCwO7IR47EYSOZoI10ZK0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54312}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/6gxZh1wUI-AlED4nO7BA85BCwO7IR47EYSOZoI10ZK0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27568.0>, params: %{}, path_info: [".well-known", "acme-challenge", "6gxZh1wUI-AlED4nO7BA85BCwO7IR47EYSOZoI10ZK0"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/6gxZh1wUI-AlED4nO7BA85BCwO7IR47EYSOZoI10ZK0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/6gxZh1wUI-AlED4nO7BA85BCwO7IR47EYSOZoI10ZK0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZr8uSIsdobUQAFOQC"} ], 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.27567.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6gxZh1wUI-AlED4nO7BA85BCwO7IR47EYSOZoI10ZK0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54312}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/6gxZh1wUI-AlED4nO7BA85BCwO7IR47EYSOZoI10ZK0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/6gxZh1wUI-AlED4nO7BA85BCwO7IR47EYSOZoI10ZK0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27567.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6gxZh1wUI-AlED4nO7BA85BCwO7IR47EYSOZoI10ZK0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54312}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/6gxZh1wUI-AlED4nO7BA85BCwO7IR47EYSOZoI10ZK0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27568.0>, params: %{}, path_info: [".well-known", "acme-challenge", "6gxZh1wUI-AlED4nO7BA85BCwO7IR47EYSOZoI10ZK0"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:26:42.742 [info] GET /.well-known/acme-challenge/4bPvj7souA2V1mzmAyrEQN8c7nhKvbXJSPFPtMj_P8g 11:26:42.744 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1968.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 [] 11:26:42.745 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1248.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 [] 11:26:42.746 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:26:42.746 [error] #PID<0.27569.0> running PinchflatWeb.Endpoint (connection #PID<0.27567.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/4bPvj7souA2V1mzmAyrEQN8c7nhKvbXJSPFPtMj_P8g ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/4bPvj7souA2V1mzmAyrEQN8c7nhKvbXJSPFPtMj_P8g (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27567.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/4bPvj7souA2V1mzmAyrEQN8c7nhKvbXJSPFPtMj_P8g", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54312}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/4bPvj7souA2V1mzmAyrEQN8c7nhKvbXJSPFPtMj_P8g", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27569.0>, params: %{}, path_info: [".well-known", "acme-challenge", "4bPvj7souA2V1mzmAyrEQN8c7nhKvbXJSPFPtMj_P8g"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/4bPvj7souA2V1mzmAyrEQN8c7nhKvbXJSPFPtMj_P8g"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/4bPvj7souA2V1mzmAyrEQN8c7nhKvbXJSPFPtMj_P8g", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZr-ls7VZ5guQAGBnh"} ], 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.27567.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/4bPvj7souA2V1mzmAyrEQN8c7nhKvbXJSPFPtMj_P8g", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54312}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/4bPvj7souA2V1mzmAyrEQN8c7nhKvbXJSPFPtMj_P8g", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/4bPvj7souA2V1mzmAyrEQN8c7nhKvbXJSPFPtMj_P8g (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27567.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/4bPvj7souA2V1mzmAyrEQN8c7nhKvbXJSPFPtMj_P8g", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54312}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/4bPvj7souA2V1mzmAyrEQN8c7nhKvbXJSPFPtMj_P8g", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27569.0>, params: %{}, path_info: [".well-known", "acme-challenge", "4bPvj7souA2V1mzmAyrEQN8c7nhKvbXJSPFPtMj_P8g"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:26:51.716 [info] GET /.well-known/acme-challenge/jdPUoh_UnOWlC6zixz23T9u0UQ70WU_3P6Zi5XaOS3Y 11:26:51.718 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1942.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 [] 11:26:51.719 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1943.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 [] 11:26:51.719 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:26:51.720 [error] #PID<0.27573.0> running PinchflatWeb.Endpoint (connection #PID<0.27572.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/jdPUoh_UnOWlC6zixz23T9u0UQ70WU_3P6Zi5XaOS3Y ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/jdPUoh_UnOWlC6zixz23T9u0UQ70WU_3P6Zi5XaOS3Y (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27572.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/jdPUoh_UnOWlC6zixz23T9u0UQ70WU_3P6Zi5XaOS3Y", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 44724}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/jdPUoh_UnOWlC6zixz23T9u0UQ70WU_3P6Zi5XaOS3Y", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27573.0>, params: %{}, path_info: [".well-known", "acme-challenge", "jdPUoh_UnOWlC6zixz23T9u0UQ70WU_3P6Zi5XaOS3Y"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/jdPUoh_UnOWlC6zixz23T9u0UQ70WU_3P6Zi5XaOS3Y"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/jdPUoh_UnOWlC6zixz23T9u0UQ70WU_3P6Zi5XaOS3Y", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZsgBKvlyvfMIAFORC"} ], 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.27572.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/jdPUoh_UnOWlC6zixz23T9u0UQ70WU_3P6Zi5XaOS3Y", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 44724}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/jdPUoh_UnOWlC6zixz23T9u0UQ70WU_3P6Zi5XaOS3Y", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/jdPUoh_UnOWlC6zixz23T9u0UQ70WU_3P6Zi5XaOS3Y (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27572.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/jdPUoh_UnOWlC6zixz23T9u0UQ70WU_3P6Zi5XaOS3Y", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 44724}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/jdPUoh_UnOWlC6zixz23T9u0UQ70WU_3P6Zi5XaOS3Y", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27573.0>, params: %{}, path_info: [".well-known", "acme-challenge", "jdPUoh_UnOWlC6zixz23T9u0UQ70WU_3P6Zi5XaOS3Y"], 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://pinchfla (truncated) 11:26:52.205 [info] GET /.well-known/acme-challenge/Ix1kXkQH433VQmzpoHgMhb5rvxV7aERRZ3BXf1v6Tjw 11:26:52.206 [debug] QUERY OK source="settings" db=0.9ms idle=673.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 [] 11:26:52.207 [debug] QUERY OK source="settings" db=0.5ms idle=488.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 [] 11:26:52.207 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:26:52.209 [error] #PID<0.27574.0> running PinchflatWeb.Endpoint (connection #PID<0.27572.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/Ix1kXkQH433VQmzpoHgMhb5rvxV7aERRZ3BXf1v6Tjw ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Ix1kXkQH433VQmzpoHgMhb5rvxV7aERRZ3BXf1v6Tjw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27572.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Ix1kXkQH433VQmzpoHgMhb5rvxV7aERRZ3BXf1v6Tjw", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 44724}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Ix1kXkQH433VQmzpoHgMhb5rvxV7aERRZ3BXf1v6Tjw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27574.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Ix1kXkQH433VQmzpoHgMhb5rvxV7aERRZ3BXf1v6Tjw"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Ix1kXkQH433VQmzpoHgMhb5rvxV7aERRZ3BXf1v6Tjw"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/Ix1kXkQH433VQmzpoHgMhb5rvxV7aERRZ3BXf1v6Tjw", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZsh1ryhDEeWAAFORi"} ], 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.27572.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Ix1kXkQH433VQmzpoHgMhb5rvxV7aERRZ3BXf1v6Tjw", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 44724}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Ix1kXkQH433VQmzpoHgMhb5rvxV7aERRZ3BXf1v6Tjw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Ix1kXkQH433VQmzpoHgMhb5rvxV7aERRZ3BXf1v6Tjw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27572.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Ix1kXkQH433VQmzpoHgMhb5rvxV7aERRZ3BXf1v6Tjw", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 44724}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Ix1kXkQH433VQmzpoHgMhb5rvxV7aERRZ3BXf1v6Tjw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27574.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Ix1kXkQH433VQmzpoHgMhb5rvxV7aERRZ3BXf1v6Tjw"], 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://pinchfla (truncated) 11:26:53.656 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=T2qYY05JlLc --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3427/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/32/3f/323f5fa8ca1de9b92109d64b1f3690f0e02075b626faeb31feec32db55e5cd79.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (1/3)... 11:26:53.657 [debug] QUERY OK db=0.0ms idle=1882.0ms begin [] 11:26:53.661 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 00:26:35Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e122299 - How To Make a Perfect Hot Negroni?.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e122299 - How To Make a Perfect Hot Negroni?.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e122299 - How To Make a Perfect Hot Negroni?.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e122299 - How To Make a Perfect Hot Negroni?.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e122299 - How To Make a Perfect Hot Negroni?.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e122299 - How To Make a Perfect Hot Negroni?-thumb.jpg", ~U[2026-03-28 00:26:53Z], 3427] 11:26:53.664 [debug] QUERY OK source="media_metadata" db=2.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/3427/metadata.json.gz", "/config/metadata/media_items/3427/thumbnail.jpg", 3427, ~U[2026-03-28 00:26:53Z], ~U[2026-03-28 00:26:53Z]] 11:26:53.665 [debug] QUERY OK db=0.8ms commit [] 11:26:53.671 [debug] QUERY OK source="media_items" db=5.7ms idle=1458.9ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (1/3)...\nWARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (2/3)...\nWARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (3/3)...\nERROR: Preprocessing: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution\nWARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies\nWARNING: Unable to download video thumbnail 41: [Errno -3] Temporary failure in name resolution\nWARNING: Unable to download video thumbnail 40: [Errno -3] Temporary failure in name resolution\nWARNING: Unable to download video thumbnail 39: [Errno -3] Temporary failure in name resolution\nWARNING: Unable to download video thumbnail 38: [Errno -3] Temporary failure in name resolution\nERROR: Preprocessing: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution\n", ~U[2026-03-28 00:26:53Z], 3427] 11:26:53.674 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :retry}","args":{"id":3427},"id":581,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":294619626,"event":"job:exception","queue_time":72958047826,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:26:53.682 [info] {"args":{"id":3436},"id":584,"meta":{},"system_time":1774657613682776097,"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"]} 11:26:53.683 [debug] QUERY OK source="media_items" db=0.6ms idle=143.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" = ?) [3436] 11:26:53.684 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:26:53.684 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [4] 11:26:53.685 [debug] QUERY OK source="media_profiles" db=0.3ms idle=13.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] 11:26:53.685 [debug] QUERY OK source="media_items" db=0.3ms idle=10.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 [3436] 11:26:53.686 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.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" = ?) [3436] 11:26:53.686 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.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] 11:26:53.687 [debug] QUERY OK source="settings" db=0.1ms 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 [] 11:26:53.687 [debug] QUERY OK source="settings" db=0.0ms 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 [] 11:26:53.687 [debug] Running yt-dlp command for action: get_downloadable_status 11:26:53.691 [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 [] 11:26:53.691 [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 [] 11:26:53.691 [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 [] 11:26:53.691 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=E9HqFtmiIzU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e1/cf/e1cf74ef825c806ee2009806d682058a30eb0f311fe71df09a49d5702eaad794.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:26:55.479 [info] GET /.well-known/acme-challenge/oJQFlp3mIflNricA9rYY1ImNe4EigfqYMgqOK3AOryM 11:26:55.480 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=936.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 [] 11:26:55.481 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=705.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 [] 11:26:55.481 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:26:55.482 [error] #PID<0.27578.0> running PinchflatWeb.Endpoint (connection #PID<0.27572.0>, stream id 3) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/oJQFlp3mIflNricA9rYY1ImNe4EigfqYMgqOK3AOryM ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/oJQFlp3mIflNricA9rYY1ImNe4EigfqYMgqOK3AOryM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27572.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/oJQFlp3mIflNricA9rYY1ImNe4EigfqYMgqOK3AOryM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 44724}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/oJQFlp3mIflNricA9rYY1ImNe4EigfqYMgqOK3AOryM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27578.0>, params: %{}, path_info: [".well-known", "acme-challenge", "oJQFlp3mIflNricA9rYY1ImNe4EigfqYMgqOK3AOryM"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/oJQFlp3mIflNricA9rYY1ImNe4EigfqYMgqOK3AOryM"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/oJQFlp3mIflNricA9rYY1ImNe4EigfqYMgqOK3AOryM", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDZsuCchny3_qIAFOSi"} ], 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.27572.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/oJQFlp3mIflNricA9rYY1ImNe4EigfqYMgqOK3AOryM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 44724}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/oJQFlp3mIflNricA9rYY1ImNe4EigfqYMgqOK3AOryM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/oJQFlp3mIflNricA9rYY1ImNe4EigfqYMgqOK3AOryM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27572.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/oJQFlp3mIflNricA9rYY1ImNe4EigfqYMgqOK3AOryM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 44724}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/oJQFlp3mIflNricA9rYY1ImNe4EigfqYMgqOK3AOryM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27578.0>, params: %{}, path_info: [".well-known", "acme-challenge", "oJQFlp3mIflNricA9rYY1ImNe4EigfqYMgqOK3AOryM"], 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://pinchfla (truncated) 11:27:00.744 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:27:03.414 [info] {"source":"oban","duration":2755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:09.592 [info] GET / 11:27:09.592 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:27:09.594 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=998.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 [] 11:27:09.594 [debug] QUERY OK source="media_profiles" db=0.3ms idle=819.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:27:09.595 [debug] QUERY OK source="sources" db=0.2ms idle=819.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:27:09.657 [debug] QUERY OK source="media_items" db=61.5ms idle=820.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:27:09.662 [debug] QUERY OK source="media_items" db=4.6ms idle=63.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:27:09.663 [debug] QUERY OK source="settings" db=0.3ms idle=67.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 [] 11:27:09.663 [debug] QUERY OK source="settings" db=0.2ms idle=68.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 [] 11:27:09.664 [debug] QUERY OK source="settings" db=0.3ms idle=65.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 [] 11:27:09.670 [debug] QUERY OK source="media_items" db=4.4ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 11:27:09.671 [debug] QUERY OK source="media_items" db=0.6ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:27:09.672 [debug] QUERY OK source="sources" db=0.3ms idle=8.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" IN (?,?)) [6, 2] 11:27:09.732 [debug] QUERY OK source="media_items" db=58.1ms idle=10.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 (((((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"))) [] 11:27:09.806 [debug] QUERY OK source="media_items" db=73.2ms idle=68.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:27:09.807 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=136.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] 11:27:09.813 [debug] QUERY OK source="tasks" db=0.9ms idle=140.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:27:09.814 [debug] QUERY OK source="media_items" db=0.6ms idle=141.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3432, 3436] 11:27:09.817 [info] Sent 200 in 224ms 11:27:23.990 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=E9HqFtmiIzU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e1/cf/e1cf74ef825c806ee2009806d682058a30eb0f311fe71df09a49d5702eaad794.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (1/3)... WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (2/3)... WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (3/3)... 11:27:23.990 [debug] Running yt-dlp command for action: download 11:27:23.991 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=319.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 [] 11:27:23.991 [debug] QUERY OK source="settings" db=0.2ms idle=216.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 [] 11:27:23.996 [debug] QUERY OK source="settings" db=3.8ms idle=217.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 [] 11:27:23.997 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=E9HqFtmiIzU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/10/73/107353d35de50963db84c881319ad99576719936f96cbf091269806d3d6f4d03.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:27:33.418 [info] {"source":"oban","duration":2732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:00.745 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:28:03.422 [info] {"source":"oban","duration":2500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:10.936 [info] GET / 11:28:10.936 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:28:10.938 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1162.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 [] 11:28:10.939 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1163.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:28:10.939 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1108.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:28:10.969 [debug] QUERY OK source="media_items" db=28.9ms idle=164.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:28:10.972 [debug] QUERY OK source="media_items" db=2.9ms idle=135.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:28:10.973 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 11:28:10.973 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=34.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 [] 11:28:10.975 [debug] QUERY OK source="settings" db=0.2ms idle=34.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 [] 11:28:10.979 [debug] QUERY OK source="media_items" db=3.2ms idle=7.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 (NOT (m0."media_filepath" IS NULL)) [] 11:28:10.981 [debug] QUERY OK source="media_items" db=0.6ms idle=7.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:28:10.982 [debug] QUERY OK source="sources" db=0.4ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [6, 2] 11:28:11.013 [debug] QUERY OK source="media_items" db=24.6ms idle=14.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 (((((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"))) [] 11:28:11.061 [debug] QUERY OK source="media_items" db=46.9ms idle=39.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:28:11.062 [debug] QUERY OK source="sources" db=0.3ms idle=82.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] 11:28:11.065 [debug] QUERY OK source="tasks" db=0.6ms idle=83.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:28:11.066 [debug] QUERY OK source="media_items" db=0.3ms idle=83.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3432, 3436] 11:28:11.069 [info] Sent 200 in 133ms 11:28:33.424 [info] {"source":"oban","duration":1189,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:48.180 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4L8plGOzX-o --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5d/88/5d8888646e4fff776444244005813280b3905f3b5b3560055115552117970473.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Failed to download m3u8 information: [Errno -3] Temporary failure in name resolution WARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (1/3)... WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 11:28:48.309 [debug] Running yt-dlp command for action: download_thumbnail 11:28:48.310 [debug] QUERY OK source="settings" db=0.3ms idle=1535.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 [] 11:28:48.311 [debug] QUERY OK source="settings" db=0.1ms idle=1535.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 [] 11:28:48.311 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1341.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 [] 11:28:48.312 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4L8plGOzX-o --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3432/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/fa/24/fa24d5d9108871a06bd78ceb00ec47cb0570a458668716ff4ed321059f8dfba3.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:29:00.463 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4L8plGOzX-o --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3432/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/fa/24/fa24d5d9108871a06bd78ceb00ec47cb0570a458668716ff4ed321059f8dfba3.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:29:00.464 [debug] QUERY OK db=0.0ms idle=689.2ms begin [] 11:29:00.469 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 00:28:48Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e120899 - Eggnog but with Bananas - Banananog.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e120899 - Eggnog but with Bananas - Banananog.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e120899 - Eggnog but with Bananas - Banananog.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e120899 - Eggnog but with Bananas - Banananog.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e120899 - Eggnog but with Bananas - Banananog.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e120899 - Eggnog but with Bananas - Banananog-thumb.jpg", ~U[2026-03-28 00:29:00Z], 3432] 11:29:00.471 [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/3432/metadata.json.gz", "/config/metadata/media_items/3432/thumbnail.jpg", 3432, ~U[2026-03-28 00:29:00Z], ~U[2026-03-28 00:29:00Z]] 11:29:00.471 [debug] QUERY OK db=0.4ms commit [] 11:29:00.484 [debug] QUERY OK source="media_items" db=9.8ms idle=699.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [67078158, ~U[2026-03-28 00:29:00Z], 3432] 11:29:00.484 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:29:00.486 [info] {"args":{"id":3432},"id":583,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":167727917,"event":"job:stop","queue_time":73198741817,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:29:00.495 [info] {"args":{"id":3439},"id":585,"meta":{},"system_time":1774657740494766913,"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"]} 11:29:00.499 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=472.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" = ?) [3439] 11:29:00.500 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:29:00.506 [debug] QUERY OK source="sources" db=5.6ms queue=0.1ms idle=28.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" = ?) [4] 11:29:00.507 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=22.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] 11:29:00.508 [debug] QUERY OK source="media_items" db=0.3ms idle=21.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 [3439] 11:29:00.510 [debug] QUERY OK source="media_metadata" db=0.1ms idle=15.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" = ?) [3439] 11:29:00.510 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 11:29:00.511 [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 [] 11:29:00.511 [debug] QUERY OK source="settings" db=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 [] 11:29:00.512 [debug] Running yt-dlp command for action: get_downloadable_status 11:29:00.513 [debug] QUERY OK source="settings" db=0.2ms idle=5.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 [] 11:29:00.514 [debug] QUERY OK source="settings" db=0.1ms 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 [] 11:29:00.515 [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 [] 11:29:00.515 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VmbNmExKM0s --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6d/56/6d569bd0e8d87c3a5fc33086c15edbf08a975147e9fdbcd965af199d8a98e922.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:29:00.748 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:29:03.428 [info] {"source":"oban","duration":3055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:08.424 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VmbNmExKM0s --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6d/56/6d569bd0e8d87c3a5fc33086c15edbf08a975147e9fdbcd965af199d8a98e922.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:29:08.424 [debug] Running yt-dlp command for action: download 11:29:08.425 [debug] QUERY OK source="settings" db=0.6ms idle=1378.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 [] 11:29:08.426 [debug] QUERY OK source="settings" db=0.4ms 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 [] 11:29:08.426 [debug] QUERY OK source="settings" db=0.4ms idle=651.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 [] 11:29:08.427 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VmbNmExKM0s --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/86/a5/86a575082ca217991b0a536f2e0fde0ec893c433ce08bddae854fc23dadc3fee.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:29:11.682 [info] GET / 11:29:11.682 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:29:11.683 [debug] QUERY OK source="settings" db=0.7ms idle=1907.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 [] 11:29:11.684 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1908.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:29:11.685 [debug] QUERY OK source="sources" db=0.2ms idle=1909.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:29:11.749 [debug] QUERY OK source="media_items" db=64.5ms idle=1628.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:29:11.756 [debug] QUERY OK source="media_items" db=5.5ms queue=0.2ms idle=689.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:29:11.758 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=73.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 [] 11:29:11.760 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=74.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 [] 11:29:11.762 [debug] QUERY OK source="settings" db=0.6ms idle=76.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 [] 11:29:11.774 [debug] QUERY OK source="media_items" db=10.3ms queue=0.1ms idle=13.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 (NOT (m0."media_filepath" IS NULL)) [] 11:29:11.777 [debug] QUERY OK source="media_items" db=1.8ms queue=0.3ms idle=18.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:29:11.779 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=19.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" IN (?,?)) [6, 2] 11:29:11.868 [debug] QUERY OK source="media_items" db=82.1ms queue=0.1ms idle=25.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 (((((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"))) [] 11:29:11.947 [debug] QUERY OK source="media_items" db=77.9ms queue=0.1ms idle=106.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:29:11.948 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=174.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] 11:29:11.954 [debug] QUERY OK source="tasks" db=0.5ms idle=177.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:29:11.956 [debug] QUERY OK source="media_items" db=0.6ms idle=176.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3436, 3439] 11:29:11.959 [info] Sent 200 in 277ms 11:29:14.481 [info] GET /sources/2/media/8244 11:29:14.481 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "8244", "prevent_download" => "true", "source_id" => "2"} Pipelines: [:browser] 11:29:14.483 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=707.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" = ?) [8244] 11:29:14.484 [debug] QUERY OK source="tasks" db=0.8ms queue=0.1ms idle=708.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" [8244] 11:29:14.485 [debug] QUERY OK source="sources" db=1.1ms idle=708.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" = ?) [2] 11:29:14.487 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=711.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 [] 11:29:14.488 [debug] QUERY OK source="settings" db=0.6ms idle=415.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 [] 11:29:14.489 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:29:14.491 [debug] QUERY OK source="media_profiles" db=0.5ms idle=6.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] 11:29:14.496 [info] Sent 200 in 15ms 11:29:33.431 [info] {"source":"oban","duration":2389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:44.200 [info] {"args":{"id":3},"id":1624,"meta":{},"system_time":1774657784200127200,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:29:44.212 [debug] QUERY OK source="sources" db=11.9ms queue=0.1ms idle=425.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" = ?) [3] 11:29:44.221 [debug] QUERY OK source="settings" db=8.6ms 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 [] 11:29:44.223 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.1ms idle=446.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] 11:29:44.224 [debug] QUERY OK source="settings" db=0.5ms idle=45.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 [] 11:29:44.224 [debug] Fetching recent media IDs from YouTube API for playlist: UUwnKziETDbHJtx78nIkfYug 11:29:44.225 [debug] QUERY OK source="settings" db=0.3ms idle=25.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 [] 11:29:44.225 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:29:45.223 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=997.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 m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "QtpFa0LdXEY", "8Rv4wwcQ89Y", "2cRKv1oqyX8", "mQfQwLW6CNw", "y0TZuhNixNk", "GZ7wE3XOwFU", "-aRdX-kZ9g4", "99bldMr1byI", "EzCiEv1IqiA", "mC5NdpSMDks", "ccV3u3D9ONE", "cVCDjEfPzII", "n0X2rqzKTgM", "dcuCvRNqmpY", "GG1qX8jHKGo", "k9wkleHFvo0", "CWoYVlMuUNQ", "xlfeieH4z38", "eZM2Ik-FHEU", "CtcTG8-qzbA", "6Mmj7mf1qlg", "InwVO9qBjqs", "1Hp-W2bpPrw", "VtE5sTpkn7k", "8dOJypt2F70", "Evm4t4prtWo", "taLzgvbrnv0", "rgCrnyf5JEI", "PHhc-48JT3U", "vFKjpNNjNGw", "VJQlOI70ubw", "E5cfNq0DO90", "DNBGSsZatbY", "pna1NyaHTls", "CUHao-vA98g", "cPN9BJe_RQw", "rCBt4XgCX-0", "f4g6KKGMmEI", "P_I5Jsc3xRw", "fPaU2l7RktM", "0PVwt01b6fs", "0qMDM4Y4Hwo", "Ld285PDsHvs", "p1mQC71wplA", "9k5JhKK6WlA", "WPxrifmtlQI", "nVNBmK7a1y8", "QDnMYztaxfI", "gxsaWhXG1Gg", ...] 11:29:45.232 [debug] QUERY OK source="media_items" db=7.4ms idle=1001.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 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] 11:29:45.236 [debug] QUERY OK source="tasks" db=0.4ms idle=54.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1630, 3, ~U[2026-03-28 00:29:45Z], ~U[2026-03-28 00:29:45Z]] 11:29:45.237 [info] {"args":{"id":3},"id":1624,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":1036537,"event":"job:stop","queue_time":168925,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:30:00.750 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:30:03.434 [info] {"source":"oban","duration":2577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:12.894 [info] GET / 11:30:12.894 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:30:12.895 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=605.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 [] 11:30:12.896 [debug] QUERY OK source="media_profiles" db=0.2ms idle=120.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:30:12.897 [debug] QUERY OK source="sources" db=0.9ms idle=121.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:30:12.962 [debug] QUERY OK source="media_items" db=64.3ms idle=122.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:30:12.967 [debug] QUERY OK source="media_items" db=4.6ms idle=187.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:30:12.968 [debug] QUERY OK source="settings" db=0.3ms idle=72.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 [] 11:30:12.969 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=72.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 [] 11:30:12.970 [debug] QUERY OK source="settings" db=0.4ms idle=72.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 [] 11:30:12.975 [debug] QUERY OK source="media_items" db=3.6ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 11:30:12.975 [debug] QUERY OK source="media_items" db=0.5ms idle=7.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:30:12.976 [debug] QUERY OK source="sources" db=0.3ms idle=8.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" IN (?,?)) [6, 2] 11:30:13.032 [info] GET /sources/5/media/43906 11:30:13.032 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "43906", "source_id" => "5"} Pipelines: [:browser] 11:30:13.033 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=62.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" = ?) [43906] 11:30:13.035 [debug] QUERY OK source="media_items" db=56.6ms idle=10.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 (((((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"))) [] 11:30:13.037 [debug] QUERY OK source="settings" db=0.3ms idle=61.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 [] 11:30:13.038 [debug] QUERY OK source="settings" db=0.3ms idle=61.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 [] 11:30:13.039 [debug] QUERY OK source="settings" db=0.4ms idle=5.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 [] 11:30:13.040 [info] Sent 404 in 8ms 11:30:13.041 [debug] Converted error Ecto.NoResultsError to 404 response 11:30:13.084 [debug] QUERY OK source="media_items" db=47.8ms idle=61.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:30:13.084 [debug] QUERY OK source="sources" db=0.2ms idle=48.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] 11:30:13.087 [debug] QUERY OK source="tasks" db=0.5ms idle=48.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:30:13.088 [debug] QUERY OK source="media_items" db=0.3ms idle=49.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3436, 3439] 11:30:13.091 [info] Sent 200 in 197ms 11:30:20.321 [info] {"args":{"id":2},"id":1625,"meta":{},"system_time":1774657820321410666,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:30:20.329 [debug] QUERY OK source="sources" db=7.0ms idle=1546.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] 11:30:20.336 [debug] QUERY OK source="settings" db=6.9ms queue=0.1ms idle=1554.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 [] 11:30:20.338 [debug] QUERY OK source="media_profiles" db=0.7ms idle=1026.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] 11:30:20.339 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=24.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 [] 11:30:20.339 [debug] Fetching recent media IDs from YouTube API for playlist: UUjzi56cxvmEDwjo1Bd2Yxpg 11:30:20.339 [debug] QUERY OK source="settings" db=0.2ms idle=18.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 [] 11:30:20.339 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:30:22.941 [debug] QUERY OK source="media_items" db=3.2ms queue=0.2ms idle=1161.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "Hw2_s31u_4Q", "b4x9IzQtiA0", "16aM5Bop7Qw", "3hBk9xqT9hs", "xDa45wnAzc8", "Yq41acIvzj8", "Ttn_Q1B2ALc", "-bV0F6OP31U", "qAstyiKRt10", "NF2StvrYme0", "_Q-2UzYr3AA", "FeEEy3jZvlM", "EHaNwda0xto", "KL0u63mAy5M", "fzklfnO42ts", "oZ4kddHCFVY", "spSOp5s_6_A", "C48yl9fSYv8", "654RgtNwXZ8", "4wu_B_XF6wk", "wFLJxWyDJPs", "J5NKnYfn6qw", "fcVRuF6c-bc", "xNAFpSnpqjs", "cavmWZnCeJI", "_J0gQ5GdUSk", "_oISg668F40", "v34wa9QhF0s", "iEen_cClzkg", "CD9wUM2v-0U", "E8k9oqjl5_E", "lQDUMfg_SJc", "pPMD0YPBHQ4", "qq1IN4umTI8", "L63goFhe8KM", "5OXvwQ3CB1I", "doZvHBPoVCw", "9SXMTDO4lIo", "8JmSUN8jp3Q", "7oSgaaUEjZM", "sKSPwnFSRCw", "gdY_Q9ltw8w", "uHbviTslBFY", "gMzXgYFT4Ck", "NdsMuD-_5To", "9JXltNRqLu4", "7ThBvLBMacw", "7BTWa3jFBMw", "U2LsOO1upXY", ...] 11:30:23.010 [debug] QUERY OK source="media_items" db=65.1ms queue=0.1ms idle=1169.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 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] 11:30:23.017 [debug] QUERY OK source="tasks" db=0.5ms idle=76.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1631, 2, ~U[2026-03-28 00:30:23Z], ~U[2026-03-28 00:30:23Z]] 11:30:23.024 [info] {"args":{"id":2},"id":1625,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":2696389,"event":"job:stop","queue_time":509816,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:30:33.437 [info] {"source":"oban","duration":1874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:48.398 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=E9HqFtmiIzU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/10/73/107353d35de50963db84c881319ad99576719936f96cbf091269806d3d6f4d03.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies ERROR: Did not get any data blocks 11:30:48.398 [error] yt-dlp download error for media item #3436: "WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies\n\n\nERROR: Did not get any data blocks\n" 11:30:48.405 [debug] QUERY OK source="media_items" db=6.4ms idle=1623.4ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies\n\n\nERROR: Did not get any data blocks\n", ~U[2026-03-28 00:30:48Z], 3436] 11:30:48.406 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3436},"id":584,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":234723072,"event":"job:exception","queue_time":73233680803,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:30:48.414 [info] {"args":{"id":3442},"id":586,"meta":{},"system_time":1774657848414169176,"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"]} 11:30:48.414 [debug] QUERY OK source="media_items" db=0.4ms idle=1019.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" = ?) [3442] 11:30:48.415 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:30:48.416 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [4] 11:30:48.416 [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] 11:30:48.417 [debug] QUERY OK source="media_items" db=0.3ms 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 [3442] 11:30:48.418 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.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" = ?) [3442] 11:30:48.418 [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] 11:30:48.419 [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 [] 11:30:48.419 [debug] QUERY OK source="settings" db=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 [] 11:30:48.419 [debug] Running yt-dlp command for action: get_downloadable_status 11:30:48.420 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:30:48.421 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:30:48.421 [debug] QUERY OK source="settings" db=0.4ms 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 [] 11:30:48.422 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=NDBkMX28s0I --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7b/e8/7be8e441b1019334ecf0b54f3fbb7fa75915e5bcd03a93e5bf0fc6e039a96487.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:30:50.413 [info] {"args":{"id":4},"id":1626,"meta":{},"system_time":1774657850413407296,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:30:50.414 [debug] QUERY OK source="sources" db=0.6ms idle=638.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" = ?) [4] 11:30:50.415 [debug] QUERY OK source="settings" db=0.6ms idle=639.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 [] 11:30:50.416 [debug] QUERY OK source="media_profiles" db=0.5ms idle=640.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] 11:30:50.417 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=11.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 [] 11:30:50.417 [debug] Fetching recent media IDs from YouTube API for playlist: UUEiui9T4ZYx8K8nuZ5YFSTw 11:30:50.418 [debug] QUERY OK source="settings" db=0.4ms 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 [] 11:30:50.418 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:30:51.074 [debug] QUERY OK source="media_items" db=2.2ms idle=656.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [4, "gthI7e6zPWo", "psRX1C7auj8", "2ZtSRjGhStw", "Z8KiNkDP9c4", "AZibPvCnG4k", "QXNPI7Ucivo", "WtxCD4567G4", "80bkfWoOHaE", "pYBAEGrhggM", "9M3wLySdGXY", "mcvbD_Ipbf8", "E_Y7kLO3Iaw", "gPdh5lVJYD0", "qrkTK1UcvSM", "45UcuOLjxeY", "gnbhO9hJ198", "fiFzXo1wNno", "TM5mKkwC0Ok", "kS2A72peqmg", "ueDcEpRFW_M", "AN4-pHYBK2M", "TMNa6ocIv8o", "S1Vt1tQJczE", "_BEmUjtwhLw", "1bxoWiQ2AQY", "CZeRfNeKEBE", "2nftRe3tjLQ", "v1biAguVbg8", "cLDsQImoeHQ", "hhH7mchDBXY", "uQj2W5ej104", "vYRV_nprXBA", "1v_qsQL3mo8", "hfHxFTbVaTo", "mfWqziOaR4A", "AmCWMmKgHkI", "ZWgq-s8r2FE", "1dAkTDsD1c4", "ozdDp_eMPZY", "iHogtXxywLQ", "7ysd04ltGag", "5jq8kH9s0V8", "AB6bC9gtfoc", "R7Tm3zvyy9U", "dUHzocz0hLo", "9Oh6oVrf7kM", "LzUhByZ4jtc", "j7evpR_Fbsw", "_iGhJt3ah8E", ...] 11:30:51.082 [debug] QUERY OK source="media_items" db=6.0ms queue=0.1ms idle=660.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 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] 11:30:51.404 [debug] QUERY OK source="tasks" db=0.4ms idle=6.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1632, 4, ~U[2026-03-28 00:30:51Z], ~U[2026-03-28 00:30:51Z]] 11:30:51.406 [info] {"args":{"id":4},"id":1626,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":991733,"event":"job:stop","queue_time":404581,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:31:00.752 [info] {"source":"oban","duration":1121,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:31:03.441 [info] {"source":"oban","duration":2482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:04.364 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=NDBkMX28s0I --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7b/e8/7be8e441b1019334ecf0b54f3fbb7fa75915e5bcd03a93e5bf0fc6e039a96487.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Failed to download m3u8 information: [Errno -3] Temporary failure in name resolution 11:31:04.364 [debug] Running yt-dlp command for action: download 11:31:04.365 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1589.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 [] 11:31:04.366 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1590.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 [] 11:31:04.366 [debug] QUERY OK source="settings" db=0.1ms idle=1590.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 [] 11:31:04.367 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=NDBkMX28s0I --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/43/36/433634e5b7633b2668ded65505d64bb3f30e603bb6f24b1bafe3f74dbad84144.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:31:14.443 [info] GET / 11:31:14.443 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:31:14.444 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1668.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 [] 11:31:14.444 [debug] QUERY OK source="media_profiles" db=0.1ms idle=949.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:31:14.445 [debug] QUERY OK source="sources" db=0.2ms idle=669.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:31:14.507 [debug] QUERY OK source="media_items" db=62.2ms idle=670.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:31:14.512 [debug] QUERY OK source="media_items" db=4.4ms idle=63.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:31:14.513 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=68.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 [] 11:31:14.513 [debug] QUERY OK source="settings" db=0.2ms idle=68.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 [] 11:31:14.514 [debug] QUERY OK source="settings" db=0.1ms idle=13.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 [] 11:31:14.520 [debug] QUERY OK source="media_items" db=4.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 (NOT (m0."media_filepath" IS NULL)) [] 11:31:14.522 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:31:14.524 [debug] QUERY OK source="sources" db=0.7ms 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" IN (?,?)) [6, 2] 11:31:14.630 [debug] QUERY OK source="media_items" db=103.5ms idle=13.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 (((((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"))) [] 11:31:14.707 [debug] QUERY OK source="media_items" db=76.1ms queue=0.1ms idle=116.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:31:14.708 [debug] QUERY OK source="sources" db=0.3ms idle=187.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] 11:31:14.710 [debug] QUERY OK source="tasks" db=0.6ms idle=187.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:31:14.711 [debug] QUERY OK source="media_items" db=0.3ms idle=186.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3439, 3442] 11:31:14.712 [info] Sent 200 in 269ms 11:31:33.446 [info] {"source":"oban","duration":2895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:47.632 [info] {"args":{"id":5},"id":1627,"meta":{},"system_time":1774657907631681663,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:31:47.644 [debug] QUERY OK source="sources" db=11.5ms queue=0.1ms idle=1857.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] 11:31:47.647 [debug] QUERY OK source="settings" db=1.8ms queue=0.1ms idle=1034.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 [] 11:31:47.650 [debug] QUERY OK source="media_profiles" db=1.8ms queue=0.2ms idle=873.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] 11:31:47.658 [debug] QUERY OK source="settings" db=6.7ms queue=0.1ms idle=35.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 [] 11:31:47.658 [debug] Fetching recent media IDs from YouTube API for playlist: UUVwfqPkv08OTuHzkPU3EaDw 11:31:47.659 [debug] QUERY OK source="settings" db=0.5ms idle=27.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 [] 11:31:47.659 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:31:48.149 [debug] QUERY OK source="media_items" db=3.5ms idle=501.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [5, "k8Yr1jU-0EE", "NFrnhg8hI0c", "20XMhcpSNV0", "YVGFnwJho6E", "xQXiSGDXknA", "uZl0TO8i96g", "Hs5ewNKWUwk", "E5suxhHY0aY", "sCou7ut2L-o", "a0INtLdzUiE", "n0x8sH0M9CE", "W4Af6DIMqnE", "Q-sUbLem5aI", "s-jMj11w68U", "DS9HZG5JRBc", "_wLy-vzLi3E", "iFpZfYwRcns", "nPovqKKSKcE", "j_w4tRYm7Og", "laZpTO7IFtA", "FM5e9Vb1noE", "cK6g53lLgnw", "1X5WYEhzGyI", "QVpu66njzdE", "tfnANe2YUwM", "0-QK6hxLxgM", "TYUeXqSlcDg", "0322Pk-GKto", "1Em1UrRSEXc", "x2RT9Awsyi8", "4Yth52yml8E", "ky9Zo2FmjQ8", "npU2QpX5piA", "XEb_1Sq8jNo", "L3QQDAKxUIk", "l3s8S6bBbOs", "WyWBU1NpDf8", "7wZ0NVuoDWg", "-Ig2-rBZtSI", "5BG06-J1t4Y", "GcQ6vQEeQew", "ap8S88LeiB0", "4LvXP3XR6gw", "I9o65_aIq0Q", "Ut9XjFkGK6s", "PcFkjR5NELA", "Yl67318oP-s", "umbar5BKBus", "FEfCtNhVjJ0", ...] 11:31:48.155 [debug] QUERY OK source="media_items" db=5.1ms idle=503.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 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")))) [5] 11:31:48.353 [debug] QUERY OK source="tasks" db=0.6ms idle=8.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1633, 5, ~U[2026-03-28 00:31:48Z], ~U[2026-03-28 00:31:48Z]] 11:31:48.354 [info] {"args":{"id":5},"id":1627,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":722051,"event":"job:stop","queue_time":446329,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:32:00.753 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:32:03.450 [info] {"source":"oban","duration":3109,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:15.716 [info] GET / 11:32:15.716 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:32:15.717 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1941.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 [] 11:32:15.718 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1943.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:32:15.719 [debug] QUERY OK source="sources" db=0.2ms idle=1943.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:32:15.756 [debug] QUERY OK source="media_items" db=37.0ms idle=997.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:32:15.759 [debug] QUERY OK source="media_items" db=3.2ms idle=38.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:32:15.760 [debug] QUERY OK source="settings" db=0.3ms idle=41.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 [] 11:32:15.760 [debug] QUERY OK source="settings" db=0.1ms idle=41.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 [] 11:32:15.761 [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 [] 11:32:15.765 [debug] QUERY OK source="media_items" db=2.9ms 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 (NOT (m0."media_filepath" IS NULL)) [] 11:32:15.765 [debug] QUERY OK source="media_items" db=0.5ms idle=5.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:32:15.766 [debug] QUERY OK source="sources" db=0.3ms idle=5.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" IN (?,?)) [6, 2] 11:32:15.828 [debug] QUERY OK source="media_items" db=59.1ms idle=8.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 (((((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"))) [] 11:32:15.879 [debug] QUERY OK source="media_items" db=50.6ms idle=67.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:32:15.880 [debug] QUERY OK source="sources" db=0.4ms idle=114.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] 11:32:15.882 [debug] QUERY OK source="tasks" db=0.5ms idle=116.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:32:15.883 [debug] QUERY OK source="media_items" db=0.4ms idle=116.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3439, 3442] 11:32:15.884 [info] Sent 200 in 168ms 11:32:33.454 [info] {"source":"oban","duration":3397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:41.864 [info] {"args":{"id":1},"id":1628,"meta":{},"system_time":1774657961864663609,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:32:41.872 [debug] QUERY OK source="sources" db=7.4ms idle=1010.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" = ?) [1] 11:32:41.874 [debug] QUERY OK source="settings" db=1.2ms idle=97.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 [] 11:32:41.889 [debug] QUERY OK source="media_profiles" db=15.0ms idle=99.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] 11:32:41.890 [debug] QUERY OK source="settings" db=0.4ms idle=32.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 [] 11:32:41.890 [debug] Fetching recent media IDs from YouTube API for playlist: UUISrVZmDM4x-Rq9mmNUw7Zw 11:32:41.890 [debug] QUERY OK source="settings" db=0.2ms idle=26.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 [] 11:32:41.890 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:32:42.369 [debug] QUERY OK source="media_items" db=4.5ms queue=0.1ms idle=492.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "Q0qmHym16H4", "WcWL0_PlcO8", "dQV1WkSly7k", "Xpohopi2_tA", "fsZdCn4jIUY", "hgk2jMPnG2w", "oDh4gg7xiUs", "3LfUmSMW_qc", "5gN9QvwPLq8", "uSBe19ms3aw", "Eq1BmJikpHA", "OsKelxcQUNo", "zNP6Q_Yk9hU", "ZPPCc15thCc", "UzARiS2CyJ4", "r8X8HVGVV1o", "_JI7oYBFZIo", "niCh-EI1Kfo", "92mSBlpBEJo", "_6OAB_8iwqs", "tJbcC43WELc", "cPz1rUCNI0o", "hFzt_dOdElw", "nC-QKeluT0c", "i8ARsrsVUMM", "X30l-491qck", "rzQeUM-lMUY", "BkUHm95UvCw", "MQ2cHq3-J7A", "CtF5dLHITYA", "SGJkxRdkRGg", "OUCt85aJaAA", "9gARPYZOka4", "-uH-Gi5tjEw", "qwUBBQKYX94", "s8VLDSQJ8nA", "EvPfr0lKkh4", "msXzAxF49gA", "hQCWaSvjkU0", "RcmjVsy3a-g", "xtuNc9vYJG4", "fj2tcg8OzsM", "2FZ4IfPACDM", "2Q9DzW20YJ8", "IVsWFGOE_mw", "vPxpMcv2Z4Y", "Zverj_ldlhY", "pQK8xasPd9Q", "_Yo7nh8u9pk", ...] 11:32:42.379 [debug] QUERY OK source="media_items" db=5.2ms queue=0.1ms idle=499.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 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] 11:32:42.468 [debug] QUERY OK source="tasks" db=0.9ms idle=26.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1634, 1, ~U[2026-03-28 00:32:42Z], ~U[2026-03-28 00:32:42Z]] 11:32:42.470 [info] {"args":{"id":1},"id":1628,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":604380,"event":"job:stop","queue_time":526593,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:33:00.756 [info] {"source":"oban","duration":883,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:33:03.458 [info] {"source":"oban","duration":3560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:16.791 [info] GET / 11:33:16.792 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:33:16.792 [debug] QUERY OK source="settings" db=0.4ms idle=1017.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 [] 11:33:16.793 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1017.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:33:16.793 [debug] QUERY OK source="sources" db=0.2ms idle=1018.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:33:16.845 [debug] QUERY OK source="media_items" db=50.9ms idle=793.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:33:16.848 [debug] QUERY OK source="media_items" db=3.1ms idle=70.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:33:16.849 [debug] QUERY OK source="settings" db=0.3ms idle=56.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 [] 11:33:16.849 [debug] QUERY OK source="settings" db=0.2ms idle=56.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 [] 11:33:16.850 [debug] QUERY OK source="settings" db=0.1ms idle=56.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 [] 11:33:16.854 [debug] QUERY OK source="media_items" db=3.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 (NOT (m0."media_filepath" IS NULL)) [] 11:33:16.855 [debug] QUERY OK source="media_items" db=0.6ms idle=6.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:33:16.856 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [6, 2] 11:33:16.918 [debug] QUERY OK source="media_items" db=58.7ms idle=9.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 (((((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"))) [] 11:33:16.993 [debug] QUERY OK source="media_items" db=74.8ms queue=0.1ms idle=67.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:33:16.994 [debug] QUERY OK source="sources" db=0.4ms idle=138.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] 11:33:16.997 [debug] QUERY OK source="tasks" db=0.5ms idle=140.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:33:17.000 [debug] QUERY OK source="media_items" db=1.9ms idle=140.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3439, 3442] 11:33:17.008 [info] Sent 200 in 216ms 11:33:17.023 [info] {"args":{"id":6},"id":1629,"meta":{},"system_time":1774657997023435570,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:33:17.028 [debug] QUERY OK source="sources" db=4.4ms idle=29.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" = ?) [6] 11:33:17.029 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=31.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 [] 11:33:17.030 [debug] QUERY OK source="media_profiles" db=0.3ms idle=30.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] 11:33:17.037 [debug] QUERY OK source="settings" db=6.8ms idle=26.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 [] 11:33:17.037 [debug] Fetching recent media IDs from YouTube API for playlist: UUOzMAa6IhV6uwYQATYG_2kg 11:33:17.038 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=14.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 [] 11:33:17.038 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:33:17.565 [debug] QUERY OK source="media_items" db=1.6ms idle=535.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6, "dnia-38h1GA", "iZaN9NRWc28", "CJrLdBStrzc", "u-eoT-Foth8", "XHineC0YKjs", "VdlejwGkNoI", "ikIigkz2pMg", "qUdPPQ9-9Tg", "k9fuSOPjSXM", "hb-oXWK9r7k", "hDfrtCQmNOo", "zRIUM4OhyWU", "W7c0iVM4P2I", "KCFDp_kxT_4", "aZhuGRngq-g", "BgWbezF2M28", "ZJfHw71KKsk", "MisOg5bX0a4", "2UampQ_86ek", "7-iImzOel-s", "O8E47Ib_RoU", "RcVBMZd2_u8", "b-DHev8Uc6I", "0apH8xkS6PE", "I8m3hyPVsxA", "urqkKHRaT-8", "shyrhINSaPk", "Ze3bKcLbPWg", "ydk9KfgHUPo", "sFlgR1oiUXk", "jCieQsNXdBM", "Nz4uVkNMKdI", "tyX3PvjLSC8", "VeDDo4HhNVo", "2RmXPeBn3x0", "1sA4iEo0x1o", "KqAYebG_Bs0", "FelCut8wQ3o", "wY5Xb_t79SM", "-YqD-IWgaz8", "BdV0pSziReE", "u5VKDy7Dgj8", "hn89XxHJLQ0", "wE60s-NuU6c", "LBwtYK3W-vw", "FGpCwqNklsw", "79hW_qeneEY", "aNpJxLXZATY", "9JhGit6JRw0", ...] 11:33:17.567 [debug] QUERY OK source="settings" db=0.2ms idle=537.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 [] 11:33:17.567 [debug] QUERY OK source="settings" db=0.1ms idle=537.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 [] 11:33:17.567 [debug] Running yt-dlp command for action: get_media_attributes 11:33:17.568 [debug] QUERY OK source="settings" db=0.1ms idle=530.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 [] 11:33:17.568 [debug] QUERY OK source="settings" db=0.1ms idle=530.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 [] 11:33:17.569 [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 [] 11:33:17.569 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/49/f7/49f7b012e094a7d3c8baba07d139d7fbd88f106444a79ddac608b24b774040b2.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:33:20.874 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/49/f7/49f7b012e094a7d3c8baba07d139d7fbd88f106444a79ddac608b24b774040b2.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days. 11:33:20.874 [error] Error creating media item 'u-eoT-Foth8' from URL: {:error, "ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days.\n", 1} 11:33:20.892 [debug] QUERY OK source="media_items" db=16.9ms idle=862.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 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] 11:33:21.085 [debug] QUERY OK source="tasks" db=0.3ms idle=7.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1635, 6, ~U[2026-03-28 00:33:21Z], ~U[2026-03-28 00:33:21Z]] 11:33:21.086 [info] {"args":{"id":6},"id":1629,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":4062419,"event":"job:stop","queue_time":216601,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:33:29.261 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VmbNmExKM0s --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/86/a5/86a575082ca217991b0a536f2e0fde0ec893c433ce08bddae854fc23dadc3fee.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: Unable to communicate with SponsorBlock API: [Errno 101] Network is unreachable. Retrying (1/3)... WARNING: Unable to communicate with SponsorBlock API: [Errno 101] Network is unreachable. Retrying (2/3)... WARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (3/3)... ERROR: Preprocessing: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies ERROR: Preprocessing: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution 11:33:29.261 [error] yt-dlp download error for media item #3439: "WARNING: Unable to communicate with SponsorBlock API: [Errno 101] Network is unreachable. Retrying (1/3)...\nWARNING: Unable to communicate with SponsorBlock API: [Errno 101] Network is unreachable. Retrying (2/3)...\nWARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (3/3)...\nERROR: Preprocessing: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution\nWARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies\nERROR: Preprocessing: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution\n" 11:33:29.287 [info] Recovery from yt-dlp error seems possible. Updating media item #3439 with parsed JSON from partial download attempt. Full download will be re-attemted in future anyway 11:33:29.370 [debug] Running yt-dlp command for action: download_thumbnail 11:33:29.372 [debug] QUERY OK source="settings" db=0.5ms idle=1335.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 [] 11:33:29.372 [debug] QUERY OK source="settings" db=0.2ms idle=597.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 [] 11:33:29.373 [debug] QUERY OK source="settings" db=0.1ms idle=597.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 [] 11:33:29.373 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VmbNmExKM0s --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3439/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/a2/90/a2907848e01533a15552b0e8c82a6c913c92dbaf498b37746f12756905ef765d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:33:33.462 [info] {"source":"oban","duration":2985,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:40.917 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VmbNmExKM0s --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3439/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/a2/90/a2907848e01533a15552b0e8c82a6c913c92dbaf498b37746f12756905ef765d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:33:40.919 [debug] QUERY OK db=0.2ms queue=0.1ms idle=1143.4ms begin [] 11:33:40.925 [debug] QUERY OK source="media_items" db=4.9ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 00:33:29Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e112499 - The Art of Flavor-Pairing in Cocktails!.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e112499 - The Art of Flavor-Pairing in Cocktails!.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e112499 - The Art of Flavor-Pairing in Cocktails!.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e112499 - The Art of Flavor-Pairing in Cocktails!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e112499 - The Art of Flavor-Pairing in Cocktails!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e112499 - The Art of Flavor-Pairing in Cocktails!-thumb.jpg", ~U[2026-03-28 00:33:40Z], 3439] 11:33:40.929 [debug] QUERY OK source="media_metadata" db=3.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/3439/metadata.json.gz", "/config/metadata/media_items/3439/thumbnail.jpg", 3439, ~U[2026-03-28 00:33:40Z], ~U[2026-03-28 00:33:40Z]] 11:33:40.930 [debug] QUERY OK db=0.9ms commit [] 11:33:40.938 [debug] QUERY OK source="media_items" db=6.8ms idle=844.0ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: Unable to communicate with SponsorBlock API: [Errno 101] Network is unreachable. Retrying (1/3)...\nWARNING: Unable to communicate with SponsorBlock API: [Errno 101] Network is unreachable. Retrying (2/3)...\nWARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (3/3)...\nERROR: Preprocessing: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution\nWARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies\nERROR: Preprocessing: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution\n", ~U[2026-03-28 00:33:40Z], 3439] 11:33:40.940 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :retry}","args":{"id":3439},"id":585,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":280443543,"event":"job:exception","queue_time":73355491837,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:33:40.950 [info] {"args":{"id":3445},"id":587,"meta":{},"system_time":1774658020950144427,"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"]} 11:33:40.952 [debug] QUERY OK source="media_items" db=0.9ms idle=175.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" = ?) [3445] 11:33:40.953 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:33:40.954 [debug] QUERY OK source="sources" db=0.9ms idle=23.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" = ?) [4] 11:33:40.955 [debug] QUERY OK source="media_profiles" db=0.7ms idle=16.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] 11:33:40.956 [debug] QUERY OK source="media_items" db=0.9ms idle=16.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 [3445] 11:33:40.958 [debug] QUERY OK source="media_metadata" db=0.3ms queue=0.1ms idle=8.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" = ?) [3445] 11:33:40.959 [debug] QUERY OK source="media_profiles" db=0.4ms idle=6.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] 11:33:40.960 [debug] QUERY OK source="settings" db=0.1ms 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 [] 11:33:40.960 [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 [] 11:33:40.961 [debug] Running yt-dlp command for action: get_downloadable_status 11:33:40.962 [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 [] 11:33:40.962 [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 [] 11:33:40.962 [debug] QUERY OK source="settings" db=0.1ms 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 [] 11:33:40.962 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=c1l8S3mjJI0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/70/b8/70b8424b566fd3094f3ec7313e8ba526a3bb035697a3b958e9a0771593f31d93.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:33:49.144 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=c1l8S3mjJI0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/70/b8/70b8424b566fd3094f3ec7313e8ba526a3bb035697a3b958e9a0771593f31d93.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:33:49.145 [debug] Running yt-dlp command for action: download 11:33:49.146 [debug] QUERY OK source="settings" db=0.5ms idle=370.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 [] 11:33:49.146 [debug] QUERY OK source="settings" db=0.3ms idle=371.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 [] 11:33:49.147 [debug] QUERY OK source="settings" db=0.3ms idle=371.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 [] 11:33:49.147 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=c1l8S3mjJI0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/44/ee/44eea351754b98d07a070522ce94a32533fd2d757c49c960f14990e12fe2a1a4.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:34:00.758 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:34:03.466 [info] {"source":"oban","duration":1988,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:14.489 [info] GET /sources/2/media/8244/force_download 11:34:14.490 [debug] QUERY OK source="settings" db=0.4ms idle=1714.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 [] 11:34:14.491 [debug] QUERY OK source="settings" db=0.2ms idle=1715.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 [] 11:34:14.491 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:34:14.492 [error] #PID<0.27662.0> running PinchflatWeb.Endpoint (connection #PID<0.27661.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /sources/2/media/8244/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/2/media/8244/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27661.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/8244/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 60530}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "47.128.19.127", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27662.0>, params: %{}, path_info: ["sources", "2", "media", "8244", "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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"host", "pinchflat.suranyami.com"}, {"priority", "u=0, i"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "47.128.19.127"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/2/media/8244/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDaGRekjxNSCLAAFPOi"} ], 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.27661.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/8244/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 60530}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "47.128.19.127", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/8244/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27661.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/8244/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 60530}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Byt (truncated) 11:34:17.681 [info] GET / 11:34:17.682 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:34:17.683 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1907.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 [] 11:34:17.684 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1908.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:34:17.684 [debug] QUERY OK source="sources" db=0.2ms idle=1465.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:34:17.745 [debug] QUERY OK source="media_items" db=60.8ms idle=909.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:34:17.751 [debug] QUERY OK source="media_items" db=4.8ms queue=0.2ms idle=521.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:34:17.753 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=69.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 [] 11:34:17.754 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=69.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 [] 11:34:17.756 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=71.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 [] 11:34:17.763 [debug] QUERY OK source="media_items" db=4.7ms idle=13.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 (NOT (m0."media_filepath" IS NULL)) [] 11:34:17.765 [debug] QUERY OK source="media_items" db=1.0ms idle=12.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:34:17.766 [debug] QUERY OK source="sources" db=0.4ms idle=12.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" IN (?,?)) [6, 2] 11:34:17.828 [debug] QUERY OK source="media_items" db=58.4ms idle=15.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 (((((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"))) [] 11:34:17.905 [debug] QUERY OK source="media_items" db=76.2ms idle=72.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:34:17.906 [debug] QUERY OK source="sources" db=0.2ms idle=142.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] 11:34:17.908 [debug] QUERY OK source="tasks" db=0.4ms idle=142.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:34:17.909 [debug] QUERY OK source="media_items" db=0.3ms idle=142.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3442, 3445] 11:34:17.910 [info] Sent 200 in 228ms 11:34:33.469 [info] {"source":"oban","duration":2198,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:00.759 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:35:03.471 [info] {"source":"oban","duration":1885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:18.827 [info] GET / 11:35:18.827 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:35:18.828 [debug] QUERY OK source="settings" db=0.3ms idle=1052.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 [] 11:35:18.828 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1053.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:35:18.829 [debug] QUERY OK source="sources" db=0.3ms idle=1054.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:35:18.840 [debug] QUERY OK source="media_items" db=10.8ms idle=399.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:35:18.843 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=66.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:35:18.844 [debug] QUERY OK source="settings" db=0.3ms idle=16.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 [] 11:35:18.845 [debug] QUERY OK source="settings" db=0.2ms idle=16.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 [] 11:35:18.847 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:35:18.851 [debug] QUERY OK source="media_items" db=2.5ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 11:35:18.853 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:35:18.855 [debug] QUERY OK source="sources" db=0.6ms idle=9.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" IN (?,?)) [6, 2] 11:35:18.888 [debug] QUERY OK source="media_items" db=25.2ms queue=0.2ms idle=17.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 (((((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"))) [] 11:35:18.966 [debug] QUERY OK source="media_items" db=77.5ms idle=41.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:35:18.967 [debug] QUERY OK source="sources" db=0.3ms idle=114.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] 11:35:18.969 [debug] QUERY OK source="tasks" db=0.6ms idle=115.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:35:18.971 [debug] QUERY OK source="media_items" db=0.5ms idle=115.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3442, 3445] 11:35:18.974 [info] Sent 200 in 147ms 11:35:33.475 [info] {"source":"oban","duration":2747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:00.761 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:36:03.480 [info] {"source":"oban","duration":3837,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:19.303 [info] GET /.well-known/acme-challenge/ZGHTLpFD_Hddfzb0nVwcPnASuoh3q7PUZHlgxBygtNI 11:36:19.305 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=629.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 [] 11:36:19.306 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=530.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 [] 11:36:19.306 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:36:19.307 [error] #PID<0.27678.0> running PinchflatWeb.Endpoint (connection #PID<0.27677.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/ZGHTLpFD_Hddfzb0nVwcPnASuoh3q7PUZHlgxBygtNI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ZGHTLpFD_Hddfzb0nVwcPnASuoh3q7PUZHlgxBygtNI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ZGHTLpFD_Hddfzb0nVwcPnASuoh3q7PUZHlgxBygtNI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36418}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/ZGHTLpFD_Hddfzb0nVwcPnASuoh3q7PUZHlgxBygtNI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27678.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ZGHTLpFD_Hddfzb0nVwcPnASuoh3q7PUZHlgxBygtNI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/ZGHTLpFD_Hddfzb0nVwcPnASuoh3q7PUZHlgxBygtNI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/ZGHTLpFD_Hddfzb0nVwcPnASuoh3q7PUZHlgxBygtNI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDaNicf0wFiPjsABY_D"} ], 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.27677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ZGHTLpFD_Hddfzb0nVwcPnASuoh3q7PUZHlgxBygtNI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36418}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/ZGHTLpFD_Hddfzb0nVwcPnASuoh3q7PUZHlgxBygtNI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ZGHTLpFD_Hddfzb0nVwcPnASuoh3q7PUZHlgxBygtNI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ZGHTLpFD_Hddfzb0nVwcPnASuoh3q7PUZHlgxBygtNI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36418}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/ZGHTLpFD_Hddfzb0nVwcPnASuoh3q7PUZHlgxBygtNI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27678.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ZGHTLpFD_Hddfzb0nVwcPnASuoh3q7PUZHlgxBygtNI"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:36:19.337 [info] GET / 11:36:19.337 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:36:19.337 [debug] QUERY OK source="settings" db=0.2ms idle=562.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 [] 11:36:19.338 [debug] QUERY OK source="media_profiles" db=0.1ms idle=562.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:36:19.338 [debug] QUERY OK source="sources" db=0.1ms idle=563.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:36:19.360 [debug] QUERY OK source="media_items" db=21.8ms idle=33.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:36:19.366 [debug] QUERY OK source="media_items" db=5.5ms idle=54.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:36:19.367 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=29.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 [] 11:36:19.367 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:36:19.369 [debug] QUERY OK source="settings" db=0.5ms idle=29.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 [] 11:36:19.374 [debug] QUERY OK source="media_items" db=4.8ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 11:36:19.375 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:36:19.377 [debug] QUERY OK source="sources" db=0.7ms idle=9.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" IN (?,?)) [6, 2] 11:36:19.480 [debug] QUERY OK source="media_items" db=96.4ms idle=16.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 (((((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"))) [] 11:36:19.497 [debug] QUERY OK source="media_items" db=15.1ms queue=0.2ms idle=112.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:36:19.498 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=123.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] 11:36:19.505 [debug] QUERY OK source="tasks" db=1.3ms queue=0.1ms idle=128.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:36:19.507 [debug] QUERY OK source="media_items" db=0.5ms idle=129.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3442, 3445] 11:36:19.508 [info] Sent 200 in 171ms 11:36:27.580 [info] GET /.well-known/acme-challenge/ipOc8Hzd0Ax3nhg3aBBqIdR4j5HdzTLoaKPmlmNmKU0 11:36:27.582 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=876.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 [] 11:36:27.583 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=807.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 [] 11:36:27.583 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:36:27.584 [error] #PID<0.27681.0> running PinchflatWeb.Endpoint (connection #PID<0.27680.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/ipOc8Hzd0Ax3nhg3aBBqIdR4j5HdzTLoaKPmlmNmKU0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ipOc8Hzd0Ax3nhg3aBBqIdR4j5HdzTLoaKPmlmNmKU0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27680.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ipOc8Hzd0Ax3nhg3aBBqIdR4j5HdzTLoaKPmlmNmKU0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 56528}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ipOc8Hzd0Ax3nhg3aBBqIdR4j5HdzTLoaKPmlmNmKU0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27681.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ipOc8Hzd0Ax3nhg3aBBqIdR4j5HdzTLoaKPmlmNmKU0"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ipOc8Hzd0Ax3nhg3aBBqIdR4j5HdzTLoaKPmlmNmKU0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/ipOc8Hzd0Ax3nhg3aBBqIdR4j5HdzTLoaKPmlmNmKU0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDaOBR684i6kVUAFPTC"} ], 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.27680.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ipOc8Hzd0Ax3nhg3aBBqIdR4j5HdzTLoaKPmlmNmKU0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 56528}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ipOc8Hzd0Ax3nhg3aBBqIdR4j5HdzTLoaKPmlmNmKU0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ipOc8Hzd0Ax3nhg3aBBqIdR4j5HdzTLoaKPmlmNmKU0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27680.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ipOc8Hzd0Ax3nhg3aBBqIdR4j5HdzTLoaKPmlmNmKU0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 56528}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ipOc8Hzd0Ax3nhg3aBBqIdR4j5HdzTLoaKPmlmNmKU0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27681.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ipOc8Hzd0Ax3nhg3aBBqIdR4j5HdzTLoaKPmlmNmKU0"], 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://pinchfla (truncated) 11:36:29.356 [info] GET /.well-known/acme-challenge/RG6deHLJMlsW6RniZaTrbM8oBdq6kGJpeGdKkG9r-A0 11:36:29.357 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=647.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 [] 11:36:29.359 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=583.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 [] 11:36:29.359 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:36:29.360 [error] #PID<0.27682.0> running PinchflatWeb.Endpoint (connection #PID<0.27680.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/RG6deHLJMlsW6RniZaTrbM8oBdq6kGJpeGdKkG9r-A0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/RG6deHLJMlsW6RniZaTrbM8oBdq6kGJpeGdKkG9r-A0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27680.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/RG6deHLJMlsW6RniZaTrbM8oBdq6kGJpeGdKkG9r-A0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 56528}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/RG6deHLJMlsW6RniZaTrbM8oBdq6kGJpeGdKkG9r-A0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27682.0>, params: %{}, path_info: [".well-known", "acme-challenge", "RG6deHLJMlsW6RniZaTrbM8oBdq6kGJpeGdKkG9r-A0"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/RG6deHLJMlsW6RniZaTrbM8oBdq6kGJpeGdKkG9r-A0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/RG6deHLJMlsW6RniZaTrbM8oBdq6kGJpeGdKkG9r-A0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDaOH5TAUVfL0gAFPTi"} ], 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.27680.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/RG6deHLJMlsW6RniZaTrbM8oBdq6kGJpeGdKkG9r-A0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 56528}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/RG6deHLJMlsW6RniZaTrbM8oBdq6kGJpeGdKkG9r-A0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/RG6deHLJMlsW6RniZaTrbM8oBdq6kGJpeGdKkG9r-A0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27680.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/RG6deHLJMlsW6RniZaTrbM8oBdq6kGJpeGdKkG9r-A0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 56528}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/RG6deHLJMlsW6RniZaTrbM8oBdq6kGJpeGdKkG9r-A0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27682.0>, params: %{}, path_info: [".well-known", "acme-challenge", "RG6deHLJMlsW6RniZaTrbM8oBdq6kGJpeGdKkG9r-A0"], 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://pinchfla (truncated) 11:36:30.349 [info] GET /.well-known/acme-challenge/0MomvpD_88vA-6w09njNmYvgzszy5JW4cj5aRvOmm2Q 11:36:30.350 [debug] QUERY OK source="settings" db=0.5ms idle=1574.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 [] 11:36:30.351 [debug] QUERY OK source="settings" db=0.4ms idle=1575.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 [] 11:36:30.351 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:36:30.351 [error] #PID<0.27684.0> running PinchflatWeb.Endpoint (connection #PID<0.27683.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/0MomvpD_88vA-6w09njNmYvgzszy5JW4cj5aRvOmm2Q ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/0MomvpD_88vA-6w09njNmYvgzszy5JW4cj5aRvOmm2Q (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/0MomvpD_88vA-6w09njNmYvgzszy5JW4cj5aRvOmm2Q", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 56542}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/0MomvpD_88vA-6w09njNmYvgzszy5JW4cj5aRvOmm2Q", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27684.0>, params: %{}, path_info: [".well-known", "acme-challenge", "0MomvpD_88vA-6w09njNmYvgzszy5JW4cj5aRvOmm2Q"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/0MomvpD_88vA-6w09njNmYvgzszy5JW4cj5aRvOmm2Q"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/0MomvpD_88vA-6w09njNmYvgzszy5JW4cj5aRvOmm2Q", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDaOLmBoZhtUMgABY_j"} ], 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.27683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/0MomvpD_88vA-6w09njNmYvgzszy5JW4cj5aRvOmm2Q", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 56542}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/0MomvpD_88vA-6w09njNmYvgzszy5JW4cj5aRvOmm2Q", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/0MomvpD_88vA-6w09njNmYvgzszy5JW4cj5aRvOmm2Q (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/0MomvpD_88vA-6w09njNmYvgzszy5JW4cj5aRvOmm2Q", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 56542}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/0MomvpD_88vA-6w09njNmYvgzszy5JW4cj5aRvOmm2Q", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27684.0>, params: %{}, path_info: [".well-known", "acme-challenge", "0MomvpD_88vA-6w09njNmYvgzszy5JW4cj5aRvOmm2Q"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:36:33.485 [info] {"source":"oban","duration":3123,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:39.518 [info] GET /.well-known/acme-challenge/OZ_kv2XHOBQ6LCYZzVyUxvc-RqSmTFWZxN9vfuOcpKA 11:36:39.520 [debug] QUERY OK source="settings" db=0.6ms idle=1744.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 [] 11:36:39.521 [debug] QUERY OK source="settings" db=0.4ms idle=778.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 [] 11:36:39.521 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:36:39.521 [error] #PID<0.27686.0> running PinchflatWeb.Endpoint (connection #PID<0.27685.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/OZ_kv2XHOBQ6LCYZzVyUxvc-RqSmTFWZxN9vfuOcpKA ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/OZ_kv2XHOBQ6LCYZzVyUxvc-RqSmTFWZxN9vfuOcpKA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27685.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/OZ_kv2XHOBQ6LCYZzVyUxvc-RqSmTFWZxN9vfuOcpKA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 38552}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/OZ_kv2XHOBQ6LCYZzVyUxvc-RqSmTFWZxN9vfuOcpKA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27686.0>, params: %{}, path_info: [".well-known", "acme-challenge", "OZ_kv2XHOBQ6LCYZzVyUxvc-RqSmTFWZxN9vfuOcpKA"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/OZ_kv2XHOBQ6LCYZzVyUxvc-RqSmTFWZxN9vfuOcpKA"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/OZ_kv2XHOBQ6LCYZzVyUxvc-RqSmTFWZxN9vfuOcpKA", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDaOtwO7Oo0JbgAFPUC"} ], 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.27685.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/OZ_kv2XHOBQ6LCYZzVyUxvc-RqSmTFWZxN9vfuOcpKA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 38552}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/OZ_kv2XHOBQ6LCYZzVyUxvc-RqSmTFWZxN9vfuOcpKA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/OZ_kv2XHOBQ6LCYZzVyUxvc-RqSmTFWZxN9vfuOcpKA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27685.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/OZ_kv2XHOBQ6LCYZzVyUxvc-RqSmTFWZxN9vfuOcpKA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 38552}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/OZ_kv2XHOBQ6LCYZzVyUxvc-RqSmTFWZxN9vfuOcpKA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27686.0>, params: %{}, path_info: [".well-known", "acme-challenge", "OZ_kv2XHOBQ6LCYZzVyUxvc-RqSmTFWZxN9vfuOcpKA"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:36:43.547 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=c1l8S3mjJI0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/44/ee/44eea351754b98d07a070522ce94a32533fd2d757c49c960f14990e12fe2a1a4.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 11:36:43.620 [debug] Running yt-dlp command for action: download_thumbnail 11:36:43.621 [debug] QUERY OK source="settings" db=0.2ms idle=866.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 [] 11:36:43.622 [debug] QUERY OK source="settings" db=0.1ms idle=846.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 [] 11:36:43.622 [debug] QUERY OK source="settings" db=0.1ms idle=847.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 [] 11:36:43.622 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=c1l8S3mjJI0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3445/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/e7/14/e7146c75adf4006c339e6e8f64aecdd51c2590fc474b9bc832400061be3016c5.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:36:47.817 [info] GET /.well-known/acme-challenge/odU1354uw-HCuMe1TfWYhuZ59UtSNzCWoltSCUgqMpM 11:36:47.818 [debug] QUERY OK source="settings" db=0.5ms idle=1042.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 [] 11:36:47.818 [debug] QUERY OK source="settings" db=0.3ms idle=1043.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 [] 11:36:47.819 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:36:47.819 [error] #PID<0.27692.0> running PinchflatWeb.Endpoint (connection #PID<0.27691.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/odU1354uw-HCuMe1TfWYhuZ59UtSNzCWoltSCUgqMpM ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/odU1354uw-HCuMe1TfWYhuZ59UtSNzCWoltSCUgqMpM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27691.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/odU1354uw-HCuMe1TfWYhuZ59UtSNzCWoltSCUgqMpM", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48576}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/odU1354uw-HCuMe1TfWYhuZ59UtSNzCWoltSCUgqMpM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27692.0>, params: %{}, path_info: [".well-known", "acme-challenge", "odU1354uw-HCuMe1TfWYhuZ59UtSNzCWoltSCUgqMpM"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/odU1354uw-HCuMe1TfWYhuZ59UtSNzCWoltSCUgqMpM"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/odU1354uw-HCuMe1TfWYhuZ59UtSNzCWoltSCUgqMpM", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDaPMqwnMANq9MAFPUi"} ], 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.27691.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/odU1354uw-HCuMe1TfWYhuZ59UtSNzCWoltSCUgqMpM", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48576}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/odU1354uw-HCuMe1TfWYhuZ59UtSNzCWoltSCUgqMpM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/odU1354uw-HCuMe1TfWYhuZ59UtSNzCWoltSCUgqMpM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27691.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/odU1354uw-HCuMe1TfWYhuZ59UtSNzCWoltSCUgqMpM", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48576}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/odU1354uw-HCuMe1TfWYhuZ59UtSNzCWoltSCUgqMpM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27692.0>, params: %{}, path_info: [".well-known", "acme-challenge", "odU1354uw-HCuMe1TfWYhuZ59UtSNzCWoltSCUgqMpM"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:36:47.948 [info] GET /.well-known/acme-challenge/SU4YPSVkoZCPlwP51k5HRyjIlds9M6R2K8bJzVxg-LU 11:36:47.949 [debug] QUERY OK source="settings" db=0.2ms idle=1174.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 [] 11:36:47.950 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:36:47.950 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:36:47.950 [error] #PID<0.27693.0> running PinchflatWeb.Endpoint (connection #PID<0.27691.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/SU4YPSVkoZCPlwP51k5HRyjIlds9M6R2K8bJzVxg-LU ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/SU4YPSVkoZCPlwP51k5HRyjIlds9M6R2K8bJzVxg-LU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27691.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/SU4YPSVkoZCPlwP51k5HRyjIlds9M6R2K8bJzVxg-LU", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48576}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/SU4YPSVkoZCPlwP51k5HRyjIlds9M6R2K8bJzVxg-LU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27693.0>, params: %{}, path_info: [".well-known", "acme-challenge", "SU4YPSVkoZCPlwP51k5HRyjIlds9M6R2K8bJzVxg-LU"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/SU4YPSVkoZCPlwP51k5HRyjIlds9M6R2K8bJzVxg-LU"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/SU4YPSVkoZCPlwP51k5HRyjIlds9M6R2K8bJzVxg-LU", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDaPNKHH9A0ENsAFPVC"} ], 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.27691.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/SU4YPSVkoZCPlwP51k5HRyjIlds9M6R2K8bJzVxg-LU", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48576}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/SU4YPSVkoZCPlwP51k5HRyjIlds9M6R2K8bJzVxg-LU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/SU4YPSVkoZCPlwP51k5HRyjIlds9M6R2K8bJzVxg-LU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27691.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/SU4YPSVkoZCPlwP51k5HRyjIlds9M6R2K8bJzVxg-LU", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48576}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/SU4YPSVkoZCPlwP51k5HRyjIlds9M6R2K8bJzVxg-LU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27693.0>, params: %{}, path_info: [".well-known", "acme-challenge", "SU4YPSVkoZCPlwP51k5HRyjIlds9M6R2K8bJzVxg-LU"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:36:50.489 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=c1l8S3mjJI0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3445/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/e7/14/e7146c75adf4006c339e6e8f64aecdd51c2590fc474b9bc832400061be3016c5.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:36:50.490 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1710.2ms begin [] 11:36:50.495 [debug] QUERY OK source="media_items" db=4.4ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 00:36:43Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e111099 - Quick and Easy Homemade Fanta!.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e111099 - Quick and Easy Homemade Fanta!.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e111099 - Quick and Easy Homemade Fanta!.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e111099 - Quick and Easy Homemade Fanta!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e111099 - Quick and Easy Homemade Fanta!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e111099 - Quick and Easy Homemade Fanta!-thumb.jpg", ~U[2026-03-28 00:36:50Z], 3445] 11:36:50.499 [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/3445/metadata.json.gz", "/config/metadata/media_items/3445/thumbnail.jpg", 3445, ~U[2026-03-28 00:36:50Z], ~U[2026-03-28 00:36:50Z]] 11:36:50.500 [debug] QUERY OK db=1.0ms commit [] 11:36:50.518 [debug] QUERY OK source="media_items" db=7.8ms idle=735.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [84612481, ~U[2026-03-28 00:36:50Z], 3445] 11:36:50.518 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:36:50.525 [info] {"args":{"id":3445},"id":587,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":189568822,"event":"job:stop","queue_time":73623946873,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:36:50.545 [info] {"args":{"id":3448},"id":588,"meta":{},"system_time":1774658210545530228,"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"]} 11:36:50.557 [debug] QUERY OK source="media_items" db=10.5ms queue=0.1ms idle=762.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" = ?) [3448] 11:36:50.557 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:36:50.564 [debug] QUERY OK source="sources" db=6.2ms queue=0.2ms idle=57.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" = ?) [4] 11:36:50.566 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=46.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] 11:36:50.567 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=41.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 [3448] 11:36:50.570 [debug] QUERY OK source="media_metadata" db=1.1ms idle=23.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" = ?) [3448] 11:36:50.571 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=13.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] 11:36:50.572 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:36:50.573 [debug] QUERY OK source="settings" db=0.1ms 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 [] 11:36:50.573 [debug] Running yt-dlp command for action: get_downloadable_status 11:36:50.574 [debug] QUERY OK source="settings" db=0.1ms idle=6.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 [] 11:36:50.574 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:36:50.575 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:36:50.575 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=pRz9HX5kjoU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/55/4c/554c47b10bf00d94f3095e052ce61692162cfd2870de5bfd951b2b2ccf455328.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:36:56.630 [info] GET /.well-known/acme-challenge/z1uvAtHd3gckii2On13-NK02H-eorLQYAxXUIukQvOY 11:36:56.631 [debug] QUERY OK source="settings" db=0.4ms idle=855.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 [] 11:36:56.631 [debug] QUERY OK source="settings" db=0.4ms idle=856.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 [] 11:36:56.631 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:36:56.632 [error] #PID<0.27700.0> running PinchflatWeb.Endpoint (connection #PID<0.27699.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/z1uvAtHd3gckii2On13-NK02H-eorLQYAxXUIukQvOY ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/z1uvAtHd3gckii2On13-NK02H-eorLQYAxXUIukQvOY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27699.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/z1uvAtHd3gckii2On13-NK02H-eorLQYAxXUIukQvOY", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41008}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/z1uvAtHd3gckii2On13-NK02H-eorLQYAxXUIukQvOY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27700.0>, params: %{}, path_info: [".well-known", "acme-challenge", "z1uvAtHd3gckii2On13-NK02H-eorLQYAxXUIukQvOY"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/z1uvAtHd3gckii2On13-NK02H-eorLQYAxXUIukQvOY"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/z1uvAtHd3gckii2On13-NK02H-eorLQYAxXUIukQvOY", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDaPtf0jHTMDN0AFPVi"} ], 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.27699.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/z1uvAtHd3gckii2On13-NK02H-eorLQYAxXUIukQvOY", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41008}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/z1uvAtHd3gckii2On13-NK02H-eorLQYAxXUIukQvOY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/z1uvAtHd3gckii2On13-NK02H-eorLQYAxXUIukQvOY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27699.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/z1uvAtHd3gckii2On13-NK02H-eorLQYAxXUIukQvOY", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41008}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/z1uvAtHd3gckii2On13-NK02H-eorLQYAxXUIukQvOY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27700.0>, params: %{}, path_info: [".well-known", "acme-challenge", "z1uvAtHd3gckii2On13-NK02H-eorLQYAxXUIukQvOY"], 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://pinchfla (truncated) 11:36:57.347 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=pRz9HX5kjoU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/55/4c/554c47b10bf00d94f3095e052ce61692162cfd2870de5bfd951b2b2ccf455328.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:36:57.347 [debug] Running yt-dlp command for action: download 11:36:57.348 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1572.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 [] 11:36:57.349 [debug] QUERY OK source="settings" db=0.1ms idle=1544.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 [] 11:36:57.349 [debug] QUERY OK source="settings" db=0.1ms idle=718.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 [] 11:36:57.349 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=pRz9HX5kjoU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/08/e2/08e2e94239523c0781aeceb00e432aace61aa912cb36433a8cca8984e6522515.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:36:57.425 [info] GET /.well-known/acme-challenge/vv79ZaUWP9jwA72AgODHXYxQClv1lCe4gvnTXB9qecU 11:36:57.426 [debug] QUERY OK source="settings" db=0.4ms idle=794.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 [] 11:36:57.427 [debug] QUERY OK source="settings" db=0.3ms idle=618.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 [] 11:36:57.427 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:36:57.427 [error] #PID<0.27701.0> running PinchflatWeb.Endpoint (connection #PID<0.27699.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/vv79ZaUWP9jwA72AgODHXYxQClv1lCe4gvnTXB9qecU ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/vv79ZaUWP9jwA72AgODHXYxQClv1lCe4gvnTXB9qecU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27699.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/vv79ZaUWP9jwA72AgODHXYxQClv1lCe4gvnTXB9qecU", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41008}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/vv79ZaUWP9jwA72AgODHXYxQClv1lCe4gvnTXB9qecU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27701.0>, params: %{}, path_info: [".well-known", "acme-challenge", "vv79ZaUWP9jwA72AgODHXYxQClv1lCe4gvnTXB9qecU"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/vv79ZaUWP9jwA72AgODHXYxQClv1lCe4gvnTXB9qecU"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/vv79ZaUWP9jwA72AgODHXYxQClv1lCe4gvnTXB9qecU", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDaPwdjLfiI1lEAFPWC"} ], 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.27699.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/vv79ZaUWP9jwA72AgODHXYxQClv1lCe4gvnTXB9qecU", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41008}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/vv79ZaUWP9jwA72AgODHXYxQClv1lCe4gvnTXB9qecU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/vv79ZaUWP9jwA72AgODHXYxQClv1lCe4gvnTXB9qecU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27699.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/vv79ZaUWP9jwA72AgODHXYxQClv1lCe4gvnTXB9qecU", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41008}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/vv79ZaUWP9jwA72AgODHXYxQClv1lCe4gvnTXB9qecU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27701.0>, params: %{}, path_info: [".well-known", "acme-challenge", "vv79ZaUWP9jwA72AgODHXYxQClv1lCe4gvnTXB9qecU"], 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://pinchfla (truncated) 11:36:59.704 [info] GET /.well-known/acme-challenge/6HIsXxIBwjklvu-0LUnUSKz2S0TUKKd0RlacC9SEam0 11:36:59.707 [debug] QUERY OK source="settings" db=1.1ms queue=0.3ms idle=930.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 [] 11:36:59.709 [debug] QUERY OK source="settings" db=0.8ms queue=0.3ms idle=933.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 [] 11:36:59.710 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:36:59.712 [error] #PID<0.27702.0> running PinchflatWeb.Endpoint (connection #PID<0.27699.0>, stream id 3) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/6HIsXxIBwjklvu-0LUnUSKz2S0TUKKd0RlacC9SEam0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/6HIsXxIBwjklvu-0LUnUSKz2S0TUKKd0RlacC9SEam0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27699.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6HIsXxIBwjklvu-0LUnUSKz2S0TUKKd0RlacC9SEam0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41008}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/6HIsXxIBwjklvu-0LUnUSKz2S0TUKKd0RlacC9SEam0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27702.0>, params: %{}, path_info: [".well-known", "acme-challenge", "6HIsXxIBwjklvu-0LUnUSKz2S0TUKKd0RlacC9SEam0"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/6HIsXxIBwjklvu-0LUnUSKz2S0TUKKd0RlacC9SEam0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/6HIsXxIBwjklvu-0LUnUSKz2S0TUKKd0RlacC9SEam0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDaP48zB9S1qBkAFPWi"} ], 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.27699.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6HIsXxIBwjklvu-0LUnUSKz2S0TUKKd0RlacC9SEam0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41008}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/6HIsXxIBwjklvu-0LUnUSKz2S0TUKKd0RlacC9SEam0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/6HIsXxIBwjklvu-0LUnUSKz2S0TUKKd0RlacC9SEam0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27699.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6HIsXxIBwjklvu-0LUnUSKz2S0TUKKd0RlacC9SEam0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41008}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/6HIsXxIBwjklvu-0LUnUSKz2S0TUKKd0RlacC9SEam0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27702.0>, params: %{}, path_info: [".well-known", "acme-challenge", "6HIsXxIBwjklvu-0LUnUSKz2S0TUKKd0RlacC9SEam0"], 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://pinchfla (truncated) 11:37:00.763 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:37:03.488 [info] {"source":"oban","duration":2304,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:19.707 [info] GET / 11:37:19.708 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:37:19.709 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=933.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 [] 11:37:19.710 [debug] QUERY OK source="media_profiles" db=0.5ms idle=934.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:37:19.712 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=935.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:37:19.738 [debug] QUERY OK source="media_items" db=25.8ms queue=0.1ms idle=936.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:37:19.742 [debug] QUERY OK source="media_items" db=3.3ms queue=0.1ms idle=843.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:37:19.743 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=33.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 [] 11:37:19.744 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=32.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 [] 11:37:19.746 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=33.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 [] 11:37:19.754 [debug] QUERY OK source="media_items" db=5.9ms queue=0.4ms idle=10.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 (NOT (m0."media_filepath" IS NULL)) [] 11:37:19.757 [debug] QUERY OK source="media_items" db=1.3ms queue=0.3ms idle=13.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:37:19.760 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms idle=15.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" IN (?,?)) [6, 2] 11:37:19.829 [debug] QUERY OK source="media_items" db=61.8ms idle=22.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 (((((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"))) [] 11:37:19.903 [debug] QUERY OK source="media_items" db=73.8ms queue=0.2ms idle=83.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:37:19.905 [debug] QUERY OK source="sources" db=0.3ms idle=147.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] 11:37:19.911 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=150.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:37:19.913 [debug] QUERY OK source="media_items" db=0.7ms idle=83.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3442, 3448] 11:37:19.917 [info] Sent 200 in 209ms 11:37:32.631 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=NDBkMX28s0I --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/43/36/433634e5b7633b2668ded65505d64bb3f30e603bb6f24b1bafe3f74dbad84144.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (1/3)... WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (2/3)... WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (3/3)... WARNING: [youtube] Unable to download webpage: [Errno -3] Temporary failure in name resolution (caused by TransportError('[Errno -3] Temporary failure in name resolution')). Giving up after 3 retries WARNING: [youtube] [Errno -3] Temporary failure in name resolution. Retrying (1/3)... WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" WARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (1/3)... WARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (2/3)... WARNING: Unable to communicate with SponsorBlock API: [Errno -3] Temporary failure in name resolution. Retrying (3/3)... WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 11:37:32.774 [debug] Running yt-dlp command for action: download_thumbnail 11:37:32.775 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=997.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 [] 11:37:32.776 [debug] QUERY OK source="settings" db=0.3ms idle=998.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 [] 11:37:32.777 [debug] QUERY OK source="settings" db=0.1ms idle=999.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 [] 11:37:32.777 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=NDBkMX28s0I --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3442/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/35/c5/35c596210c84a641f473da6209a18b6e0ee20e922b039893ebac9a435b2ab6ac.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:37:33.490 [info] {"source":"oban","duration":1577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:41.900 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=NDBkMX28s0I --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3442/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/35/c5/35c596210c84a641f473da6209a18b6e0ee20e922b039893ebac9a435b2ab6ac.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:37:41.901 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1124.4ms begin [] 11:37:41.904 [debug] QUERY OK source="media_items" db=1.7ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 00:37:32Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e111799 - Batched Cocktails by Jamie Oliver - Are They Good?.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e111799 - Batched Cocktails by Jamie Oliver - Are They Good?.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e111799 - Batched Cocktails by Jamie Oliver - Are They Good?.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e111799 - Batched Cocktails by Jamie Oliver - Are They Good?.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e111799 - Batched Cocktails by Jamie Oliver - Are They Good?.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e111799 - Batched Cocktails by Jamie Oliver - Are They Good?-thumb.jpg", ~U[2026-03-28 00:37:41Z], 3442] 11:37:41.905 [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/3442/metadata.json.gz", "/config/metadata/media_items/3442/thumbnail.jpg", 3442, ~U[2026-03-28 00:37:41Z], ~U[2026-03-28 00:37:41Z]] 11:37:41.906 [debug] QUERY OK db=0.4ms commit [] 11:37:41.951 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=1171.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [100653723, ~U[2026-03-28 00:37:41Z], 3442] 11:37:41.951 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:37:41.968 [info] {"args":{"id":3442},"id":586,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":413537839,"event":"job:stop","queue_time":73456412781,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:37:41.992 [info] {"args":{"id":3450},"id":589,"meta":{},"system_time":1774658261991813932,"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"]} 11:37:41.996 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=86.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" = ?) [3450] 11:37:41.996 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:37:41.998 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=46.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" = ?) [4] 11:37:42.000 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.1ms idle=30.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] 11:37:42.002 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms 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 [3450] 11:37:42.005 [debug] QUERY OK source="media_metadata" db=0.4ms 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" = ?) [3450] 11:37:42.006 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=7.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] 11:37:42.007 [debug] QUERY OK source="settings" db=0.4ms 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 [] 11:37:42.008 [debug] QUERY OK source="settings" db=0.3ms idle=5.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 [] 11:37:42.009 [debug] Running yt-dlp command for action: get_downloadable_status 11:37:42.010 [debug] QUERY OK source="settings" db=0.4ms 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 [] 11:37:42.011 [debug] QUERY OK source="settings" db=0.3ms idle=5.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 [] 11:37:42.011 [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 [] 11:37:42.011 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tzHYGkDnopY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1f/9a/1f9a408c97b4ce42f4c11c6c4d7d98ae5020fe99613f73fee45d3f8ae530d85e.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:37:48.036 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tzHYGkDnopY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1f/9a/1f9a408c97b4ce42f4c11c6c4d7d98ae5020fe99613f73fee45d3f8ae530d85e.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:37:48.037 [debug] Running yt-dlp command for action: download 11:37:48.037 [debug] QUERY OK source="settings" db=0.4ms idle=260.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 [] 11:37:48.038 [debug] QUERY OK source="settings" db=0.3ms idle=260.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 [] 11:37:48.039 [debug] QUERY OK source="settings" db=0.4ms idle=261.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 [] 11:37:48.039 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tzHYGkDnopY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1f/40/1f40a9001b44754fbba091217b92e9d06885c344e970fec495eb94177332e89f.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:38:00.765 [info] {"source":"oban","duration":899,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:38:03.493 [info] {"source":"oban","duration":2799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:13.108 [info] GET /sources/2/media/61921 11:38:13.108 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "61921", "source_id" => "2"} Pipelines: [:browser] 11:38:13.110 [debug] QUERY OK source="media_items" db=1.0ms idle=1331.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" = ?) [61921] 11:38:13.112 [debug] QUERY OK source="settings" db=0.5ms idle=1334.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 [] 11:38:13.113 [debug] QUERY OK source="settings" db=0.2ms idle=1335.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 [] 11:38:13.114 [debug] QUERY OK source="settings" db=0.2ms idle=997.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 [] 11:38:13.118 [info] Sent 404 in 9ms 11:38:13.119 [debug] Converted error Ecto.NoResultsError to 404 response 11:38:20.130 [info] GET / 11:38:20.130 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:38:20.131 [debug] QUERY OK source="settings" db=0.3ms idle=1353.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 [] 11:38:20.131 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1354.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:38:20.132 [debug] QUERY OK source="sources" db=0.2ms idle=1354.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:38:20.159 [debug] QUERY OK source="media_items" db=26.9ms idle=1355.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:38:20.164 [debug] QUERY OK source="media_items" db=4.8ms queue=0.2ms idle=28.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:38:20.166 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=33.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 [] 11:38:20.166 [debug] QUERY OK source="settings" db=0.2ms idle=34.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 [] 11:38:20.168 [debug] QUERY OK source="settings" db=0.8ms idle=29.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 [] 11:38:20.177 [debug] QUERY OK source="media_items" db=8.6ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 11:38:20.180 [debug] QUERY OK source="media_items" db=2.1ms queue=0.2ms idle=13.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:38:20.182 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [6, 2] 11:38:20.247 [debug] QUERY OK source="media_items" db=59.0ms idle=21.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 (((((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"))) [] 11:38:20.320 [debug] QUERY OK source="media_items" db=71.7ms queue=0.2ms idle=80.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:38:20.322 [debug] QUERY OK source="sources" db=0.4ms idle=144.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] 11:38:20.328 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=146.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:38:20.329 [debug] QUERY OK source="media_items" db=0.6ms idle=146.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3448, 3450] 11:38:20.333 [info] Sent 200 in 203ms 11:38:33.498 [info] {"source":"oban","duration":3853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:00.766 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:39:03.501 [info] {"source":"oban","duration":2034,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:20.525 [info] GET / 11:39:20.526 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:39:20.528 [debug] QUERY OK source="settings" db=1.1ms queue=0.3ms idle=1163.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 [] 11:39:20.529 [debug] QUERY OK source="media_profiles" db=0.2ms idle=750.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:39:20.529 [debug] QUERY OK source="sources" db=0.2ms idle=751.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:39:20.590 [debug] QUERY OK source="media_items" db=59.9ms queue=0.1ms idle=751.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:39:20.595 [debug] QUERY OK source="media_items" db=4.3ms idle=222.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:39:20.596 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=67.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 [] 11:39:20.596 [debug] QUERY OK source="settings" db=0.2ms idle=67.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 [] 11:39:20.597 [debug] QUERY OK source="settings" db=0.2ms idle=67.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 [] 11:39:20.601 [debug] QUERY OK source="media_items" db=1.5ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 11:39:20.602 [debug] QUERY OK source="media_items" db=0.6ms queue=0.2ms idle=6.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:39:20.603 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=7.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" IN (?,?)) [6, 2] 11:39:20.670 [debug] QUERY OK source="media_items" db=60.3ms idle=13.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 (((((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"))) [] 11:39:20.747 [debug] QUERY OK source="media_items" db=76.0ms queue=0.1ms idle=73.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:39:20.748 [debug] QUERY OK source="sources" db=0.3ms idle=146.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] 11:39:20.754 [debug] QUERY OK source="tasks" db=0.6ms idle=151.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:39:20.755 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=151.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3448, 3450] 11:39:20.758 [info] Sent 200 in 232ms 11:39:33.505 [info] {"source":"oban","duration":2544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:45.490 [info] {"args":{"id":3},"id":1630,"meta":{},"system_time":1774658385490393942,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:39:45.499 [debug] QUERY OK source="sources" db=8.0ms idle=1712.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] 11:39:45.507 [debug] QUERY OK source="settings" db=7.8ms queue=0.1ms idle=1023.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 [] 11:39:45.517 [debug] QUERY OK source="media_profiles" db=9.3ms idle=730.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] 11:39:45.527 [debug] QUERY OK source="settings" db=9.5ms idle=39.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 [] 11:39:45.527 [debug] Fetching recent media IDs from YouTube API for playlist: UUwnKziETDbHJtx78nIkfYug 11:39:45.528 [debug] QUERY OK source="settings" db=0.3ms idle=37.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 [] 11:39:45.528 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:39:46.225 [debug] QUERY OK source="media_items" db=3.6ms queue=0.1ms idle=721.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "QtpFa0LdXEY", "8Rv4wwcQ89Y", "2cRKv1oqyX8", "mQfQwLW6CNw", "y0TZuhNixNk", "GZ7wE3XOwFU", "-aRdX-kZ9g4", "99bldMr1byI", "EzCiEv1IqiA", "mC5NdpSMDks", "ccV3u3D9ONE", "cVCDjEfPzII", "n0X2rqzKTgM", "dcuCvRNqmpY", "GG1qX8jHKGo", "k9wkleHFvo0", "CWoYVlMuUNQ", "xlfeieH4z38", "eZM2Ik-FHEU", "CtcTG8-qzbA", "6Mmj7mf1qlg", "InwVO9qBjqs", "1Hp-W2bpPrw", "VtE5sTpkn7k", "8dOJypt2F70", "Evm4t4prtWo", "taLzgvbrnv0", "rgCrnyf5JEI", "PHhc-48JT3U", "vFKjpNNjNGw", "VJQlOI70ubw", "E5cfNq0DO90", "DNBGSsZatbY", "pna1NyaHTls", "CUHao-vA98g", "cPN9BJe_RQw", "rCBt4XgCX-0", "f4g6KKGMmEI", "P_I5Jsc3xRw", "fPaU2l7RktM", "0PVwt01b6fs", "0qMDM4Y4Hwo", "Ld285PDsHvs", "p1mQC71wplA", "9k5JhKK6WlA", "WPxrifmtlQI", "nVNBmK7a1y8", "QDnMYztaxfI", "gxsaWhXG1Gg", ...] 11:39:46.232 [debug] QUERY OK source="media_items" db=4.0ms queue=0.1ms idle=720.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 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] 11:39:46.246 [debug] QUERY OK source="tasks" db=2.9ms idle=715.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1636, 3, ~U[2026-03-28 00:39:46Z], ~U[2026-03-28 00:39:46Z]] 11:39:46.249 [info] {"args":{"id":3},"id":1630,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":756366,"event":"job:stop","queue_time":250577,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:39:59.653 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=pRz9HX5kjoU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/08/e2/08e2e94239523c0781aeceb00e432aace61aa912cb36433a8cca8984e6522515.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 11:39:59.728 [debug] Running yt-dlp command for action: download_thumbnail 11:39:59.729 [debug] QUERY OK source="settings" db=0.3ms idle=1951.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 [] 11:39:59.730 [debug] QUERY OK source="settings" db=0.1ms idle=1951.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 [] 11:39:59.730 [debug] QUERY OK source="settings" db=0.1ms idle=1952.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 [] 11:39:59.730 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=pRz9HX5kjoU --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3448/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c9/ca/c9ca75eb37df062c6fcf41c5a76642ebee036c4201ad365e3fc60c7951e36f33.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:40:00.767 [info] {"source":"oban","duration":456,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:40:03.508 [info] {"source":"oban","duration":1548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:06.776 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=pRz9HX5kjoU --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3448/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c9/ca/c9ca75eb37df062c6fcf41c5a76642ebee036c4201ad365e3fc60c7951e36f33.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:40:06.776 [debug] QUERY OK db=0.0ms idle=1998.8ms begin [] 11:40:06.778 [debug] QUERY OK source="media_items" db=1.6ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 00:39:59Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e102799 - Is This the ULTIMATE Mai Tai?.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e102799 - Is This the ULTIMATE Mai Tai?.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e102799 - Is This the ULTIMATE Mai Tai?.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e102799 - Is This the ULTIMATE Mai Tai?.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e102799 - Is This the ULTIMATE Mai Tai?.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e102799 - Is This the ULTIMATE Mai Tai?-thumb.jpg", ~U[2026-03-28 00:40:06Z], 3448] 11:40:06.783 [debug] QUERY OK source="media_metadata" db=4.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/3448/metadata.json.gz", "/config/metadata/media_items/3448/thumbnail.jpg", 3448, ~U[2026-03-28 00:40:06Z], ~U[2026-03-28 00:40:06Z]] 11:40:06.784 [debug] QUERY OK db=1.1ms commit [] 11:40:06.804 [debug] QUERY OK source="media_items" db=17.3ms idle=1008.6ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [74452544, ~U[2026-03-28 00:40:06Z], 3448] 11:40:06.805 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:40:06.805 [info] {"args":{"id":3448},"id":588,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":196259666,"event":"job:stop","queue_time":73809531809,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:40:06.813 [info] {"args":{"id":3454},"id":590,"meta":{},"system_time":1774658406813087822,"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"]} 11:40:06.814 [debug] QUERY OK source="media_items" db=0.5ms idle=35.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" = ?) [3454] 11:40:06.814 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:40:06.815 [debug] QUERY OK source="sources" db=0.4ms idle=30.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" = ?) [4] 11:40:06.815 [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] 11:40:06.816 [debug] QUERY OK source="media_items" db=0.3ms 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 [3454] 11:40:06.817 [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" = ?) [3454] 11:40:06.817 [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] 11:40:06.818 [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 [] 11:40:06.818 [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 [] 11:40:06.819 [debug] Running yt-dlp command for action: get_downloadable_status 11:40:06.819 [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 [] 11:40:06.820 [debug] QUERY OK source="settings" db=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 [] 11:40:06.820 [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 [] 11:40:06.820 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hVmkomWHEss --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/45/c5/45c5927fa0383055dd7b4bad1e0e4d13081b748a8b330d55b831876cabf63323.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:40:12.695 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tzHYGkDnopY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1f/40/1f40a9001b44754fbba091217b92e9d06885c344e970fec495eb94177332e89f.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 11:40:12.796 [debug] Running yt-dlp command for action: download_thumbnail 11:40:12.798 [debug] QUERY OK source="settings" db=0.4ms idle=227.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 [] 11:40:12.798 [debug] QUERY OK source="settings" db=0.3ms idle=20.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 [] 11:40:12.799 [debug] QUERY OK source="settings" db=0.2ms idle=20.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 [] 11:40:12.799 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tzHYGkDnopY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3450/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/10/af/10af90c2d721c17c5d81cb6ca0e976c33b9f871089716414cdf0e2cd79e73c31.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:40:14.361 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hVmkomWHEss --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/45/c5/45c5927fa0383055dd7b4bad1e0e4d13081b748a8b330d55b831876cabf63323.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:40:14.362 [debug] Running yt-dlp command for action: download 11:40:14.363 [debug] QUERY OK source="settings" db=0.3ms idle=1584.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 [] 11:40:14.363 [debug] QUERY OK source="settings" db=0.2ms idle=1565.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 [] 11:40:14.364 [debug] QUERY OK source="settings" db=0.1ms idle=1565.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 [] 11:40:14.364 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hVmkomWHEss --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7e/5d/7e5d83df11a09d693845deacd47bbda0deb99c4229087617d95ffb1522f36499.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:40:19.655 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tzHYGkDnopY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3450/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/10/af/10af90c2d721c17c5d81cb6ca0e976c33b9f871089716414cdf0e2cd79e73c31.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:40:19.657 [debug] QUERY OK db=0.2ms queue=0.1ms idle=1878.5ms begin [] 11:40:19.661 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 00:40:12Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e102099 - Clear Orgeat - Make Beautiful Cocktails!.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e102099 - Clear Orgeat - Make Beautiful Cocktails!.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e102099 - Clear Orgeat - Make Beautiful Cocktails!.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e102099 - Clear Orgeat - Make Beautiful Cocktails!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e102099 - Clear Orgeat - Make Beautiful Cocktails!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e102099 - Clear Orgeat - Make Beautiful Cocktails!-thumb.jpg", ~U[2026-03-28 00:40:19Z], 3450] 11:40:19.674 [debug] QUERY OK source="media_metadata" db=12.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/3450/metadata.json.gz", "/config/metadata/media_items/3450/thumbnail.jpg", 3450, ~U[2026-03-28 00:40:19Z], ~U[2026-03-28 00:40:19Z]] 11:40:19.675 [debug] QUERY OK db=0.8ms commit [] 11:40:19.706 [debug] QUERY OK source="media_items" db=2.7ms idle=1925.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [73725556, ~U[2026-03-28 00:40:19Z], 3450] 11:40:19.707 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:40:19.708 [info] {"args":{"id":3450},"id":589,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":157715408,"event":"job:stop","queue_time":73855974897,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:40:19.716 [info] {"args":{"id":3457},"id":591,"meta":{},"system_time":1774658419716117074,"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"]} 11:40:19.718 [debug] QUERY OK source="media_items" db=1.3ms idle=118.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" = ?) [3457] 11:40:19.718 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:40:19.720 [debug] QUERY OK source="sources" db=1.2ms idle=43.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" = ?) [4] 11:40:19.722 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=14.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] 11:40:19.724 [debug] QUERY OK source="media_items" db=1.2ms idle=14.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 [3457] 11:40:19.727 [debug] QUERY OK source="media_metadata" db=0.6ms queue=0.1ms idle=10.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" = ?) [3457] 11:40:19.728 [debug] QUERY OK source="media_profiles" db=0.9ms queue=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] 11:40:19.730 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 11:40:19.731 [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 [] 11:40:19.732 [debug] Running yt-dlp command for action: get_downloadable_status 11:40:19.735 [debug] QUERY OK source="settings" db=0.7ms 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 [] 11:40:19.736 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms 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 [] 11:40:19.737 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 11:40:19.737 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=btv2CN1KHs4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e7/af/e7afcde8c28715d529ec3cb41a0d20169b9f2049c95d8f93e05c5d5bbc7a67a3.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:40:20.959 [info] GET / 11:40:20.959 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:40:20.960 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=357.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 [] 11:40:20.961 [debug] QUERY OK source="media_profiles" db=0.3ms idle=182.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:40:20.961 [debug] QUERY OK source="sources" db=0.2ms idle=183.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:40:21.027 [debug] QUERY OK source="media_items" db=66.0ms idle=183.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:40:21.033 [debug] QUERY OK source="media_items" db=5.1ms queue=0.1ms idle=250.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:40:21.035 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms 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 [] 11:40:21.036 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=75.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 [] 11:40:21.038 [debug] QUERY OK source="settings" db=0.4ms idle=76.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 [] 11:40:21.046 [debug] QUERY OK source="media_items" db=5.3ms queue=0.1ms idle=13.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 (NOT (m0."media_filepath" IS NULL)) [] 11:40:21.047 [debug] QUERY OK source="media_items" db=0.8ms idle=13.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:40:21.050 [debug] QUERY OK source="sources" db=1.0ms idle=13.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" IN (?,?)) [6, 2] 11:40:21.144 [debug] QUERY OK source="media_items" db=87.9ms queue=0.1ms idle=19.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 (((((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"))) [] 11:40:21.223 [debug] QUERY OK source="media_items" db=78.2ms idle=106.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:40:21.225 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=178.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] 11:40:21.231 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=182.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:40:21.232 [debug] QUERY OK source="media_items" db=0.5ms idle=181.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3454, 3457] 11:40:21.236 [info] Sent 200 in 277ms 11:40:23.621 [info] {"args":{"id":2},"id":1631,"meta":{},"system_time":1774658423620383154,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:40:23.622 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=842.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" = ?) [2] 11:40:23.631 [debug] QUERY OK source="settings" db=7.3ms queue=0.4ms idle=844.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 [] 11:40:23.632 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.1ms idle=852.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] 11:40:23.641 [debug] QUERY OK source="settings" db=7.6ms idle=23.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 [] 11:40:23.641 [debug] Fetching recent media IDs from YouTube API for playlist: UUjzi56cxvmEDwjo1Bd2Yxpg 11:40:23.642 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=21.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 [] 11:40:23.642 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:40:24.144 [debug] QUERY OK source="media_items" db=6.7ms idle=514.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "Hw2_s31u_4Q", "b4x9IzQtiA0", "16aM5Bop7Qw", "3hBk9xqT9hs", "xDa45wnAzc8", "Yq41acIvzj8", "Ttn_Q1B2ALc", "-bV0F6OP31U", "qAstyiKRt10", "NF2StvrYme0", "_Q-2UzYr3AA", "FeEEy3jZvlM", "EHaNwda0xto", "KL0u63mAy5M", "fzklfnO42ts", "oZ4kddHCFVY", "spSOp5s_6_A", "C48yl9fSYv8", "654RgtNwXZ8", "4wu_B_XF6wk", "wFLJxWyDJPs", "J5NKnYfn6qw", "fcVRuF6c-bc", "xNAFpSnpqjs", "cavmWZnCeJI", "_J0gQ5GdUSk", "_oISg668F40", "v34wa9QhF0s", "iEen_cClzkg", "CD9wUM2v-0U", "E8k9oqjl5_E", "lQDUMfg_SJc", "pPMD0YPBHQ4", "qq1IN4umTI8", "L63goFhe8KM", "5OXvwQ3CB1I", "doZvHBPoVCw", "9SXMTDO4lIo", "8JmSUN8jp3Q", "7oSgaaUEjZM", "sKSPwnFSRCw", "gdY_Q9ltw8w", "uHbviTslBFY", "gMzXgYFT4Ck", "NdsMuD-_5To", "9JXltNRqLu4", "7ThBvLBMacw", "7BTWa3jFBMw", "U2LsOO1upXY", ...] 11:40:24.235 [debug] QUERY OK source="media_items" db=87.0ms queue=0.1ms idle=517.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 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] 11:40:24.244 [debug] QUERY OK source="tasks" db=0.3ms idle=99.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1637, 2, ~U[2026-03-28 00:40:24Z], ~U[2026-03-28 00:40:24Z]] 11:40:24.256 [info] {"args":{"id":2},"id":1631,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":624008,"event":"job:stop","queue_time":600061,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:40:26.026 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=btv2CN1KHs4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e7/af/e7afcde8c28715d529ec3cb41a0d20169b9f2049c95d8f93e05c5d5bbc7a67a3.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:40:26.027 [debug] Running yt-dlp command for action: download 11:40:26.028 [debug] QUERY OK source="settings" db=0.5ms idle=410.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 [] 11:40:26.028 [debug] QUERY OK source="settings" db=0.4ms idle=249.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 [] 11:40:26.029 [debug] QUERY OK source="settings" db=0.2ms idle=249.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 [] 11:40:26.029 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=btv2CN1KHs4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fe/54/fe547d8edf1869a8727f5686f6d7295e1f8e2131a485571efe989547878034af.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:40:33.511 [info] {"source":"oban","duration":2762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:51.732 [info] {"args":{"id":4},"id":1632,"meta":{},"system_time":1774658451732612834,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:40:51.734 [debug] QUERY OK source="sources" db=0.4ms idle=1954.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] 11:40:51.735 [debug] QUERY OK source="settings" db=1.2ms idle=1015.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 [] 11:40:51.736 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=956.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] 11:40:51.737 [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 [] 11:40:51.737 [debug] Fetching recent media IDs from YouTube API for playlist: UUEiui9T4ZYx8K8nuZ5YFSTw 11:40:51.738 [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 [] 11:40:51.738 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:40:52.302 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=564.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [4, "gthI7e6zPWo", "psRX1C7auj8", "2ZtSRjGhStw", "Z8KiNkDP9c4", "AZibPvCnG4k", "QXNPI7Ucivo", "WtxCD4567G4", "80bkfWoOHaE", "pYBAEGrhggM", "9M3wLySdGXY", "mcvbD_Ipbf8", "E_Y7kLO3Iaw", "gPdh5lVJYD0", "qrkTK1UcvSM", "45UcuOLjxeY", "gnbhO9hJ198", "fiFzXo1wNno", "TM5mKkwC0Ok", "kS2A72peqmg", "ueDcEpRFW_M", "AN4-pHYBK2M", "TMNa6ocIv8o", "S1Vt1tQJczE", "_BEmUjtwhLw", "1bxoWiQ2AQY", "CZeRfNeKEBE", "2nftRe3tjLQ", "v1biAguVbg8", "cLDsQImoeHQ", "hhH7mchDBXY", "uQj2W5ej104", "vYRV_nprXBA", "1v_qsQL3mo8", "hfHxFTbVaTo", "mfWqziOaR4A", "AmCWMmKgHkI", "ZWgq-s8r2FE", "1dAkTDsD1c4", "ozdDp_eMPZY", "iHogtXxywLQ", "7ysd04ltGag", "5jq8kH9s0V8", "AB6bC9gtfoc", "R7Tm3zvyy9U", "dUHzocz0hLo", "9Oh6oVrf7kM", "LzUhByZ4jtc", "j7evpR_Fbsw", "_iGhJt3ah8E", ...] 11:40:52.312 [debug] QUERY OK source="media_items" db=6.7ms queue=0.1ms idle=570.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 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] 11:40:52.595 [debug] QUERY OK source="tasks" db=0.4ms idle=5.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1638, 4, ~U[2026-03-28 00:40:52Z], ~U[2026-03-28 00:40:52Z]] 11:40:52.596 [info] {"args":{"id":4},"id":1632,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":862842,"event":"job:stop","queue_time":327497,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:41:00.768 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:41:03.515 [info] {"source":"oban","duration":2631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:21.475 [info] GET / 11:41:21.475 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:41:21.477 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=1696.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 [] 11:41:21.478 [debug] QUERY OK source="media_profiles" db=0.7ms idle=1643.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:41:21.479 [debug] QUERY OK source="sources" db=0.6ms idle=699.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:41:21.545 [debug] QUERY OK source="media_items" db=66.0ms idle=700.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:41:21.550 [debug] QUERY OK source="media_items" db=4.1ms queue=0.1ms idle=709.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:41:21.551 [debug] QUERY OK source="settings" db=0.3ms idle=73.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 [] 11:41:21.552 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=73.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 [] 11:41:21.553 [debug] QUERY OK source="settings" db=0.3ms idle=73.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 [] 11:41:21.557 [debug] QUERY OK source="media_items" db=3.1ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 11:41:21.558 [debug] QUERY OK source="media_items" db=0.6ms idle=6.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:41:21.559 [debug] QUERY OK source="sources" db=0.3ms idle=7.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" IN (?,?)) [6, 2] 11:41:21.619 [debug] QUERY OK source="media_items" db=58.4ms idle=9.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 (((((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"))) [] 11:41:21.696 [debug] QUERY OK source="media_items" db=75.9ms idle=66.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:41:21.697 [debug] QUERY OK source="sources" db=0.2ms idle=139.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] 11:41:21.699 [debug] QUERY OK source="tasks" db=0.5ms idle=140.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:41:21.700 [debug] QUERY OK source="media_items" db=0.5ms idle=140.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3454, 3457] 11:41:21.701 [info] Sent 200 in 226ms 11:41:33.519 [info] {"source":"oban","duration":2086,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:48.946 [info] {"args":{"id":5},"id":1633,"meta":{},"system_time":1774658508945810774,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:41:48.952 [debug] QUERY OK source="sources" db=6.1ms idle=167.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" = ?) [5] 11:41:48.963 [debug] QUERY OK source="settings" db=10.1ms idle=173.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 [] 11:41:48.979 [debug] QUERY OK source="media_profiles" db=15.0ms queue=0.3ms idle=184.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] 11:41:48.981 [debug] QUERY OK source="settings" db=0.7ms queue=0.4ms idle=41.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 [] 11:41:48.981 [debug] Fetching recent media IDs from YouTube API for playlist: UUVwfqPkv08OTuHzkPU3EaDw 11:41:48.982 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=36.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 [] 11:41:48.983 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:41:49.460 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=504.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [5, "k8Yr1jU-0EE", "NFrnhg8hI0c", "20XMhcpSNV0", "YVGFnwJho6E", "xQXiSGDXknA", "uZl0TO8i96g", "Hs5ewNKWUwk", "E5suxhHY0aY", "sCou7ut2L-o", "a0INtLdzUiE", "n0x8sH0M9CE", "W4Af6DIMqnE", "Q-sUbLem5aI", "s-jMj11w68U", "DS9HZG5JRBc", "_wLy-vzLi3E", "iFpZfYwRcns", "nPovqKKSKcE", "j_w4tRYm7Og", "laZpTO7IFtA", "FM5e9Vb1noE", "cK6g53lLgnw", "1X5WYEhzGyI", "QVpu66njzdE", "tfnANe2YUwM", "0-QK6hxLxgM", "TYUeXqSlcDg", "0322Pk-GKto", "1Em1UrRSEXc", "x2RT9Awsyi8", "4Yth52yml8E", "ky9Zo2FmjQ8", "npU2QpX5piA", "XEb_1Sq8jNo", "L3QQDAKxUIk", "l3s8S6bBbOs", "WyWBU1NpDf8", "7wZ0NVuoDWg", "-Ig2-rBZtSI", "5BG06-J1t4Y", "GcQ6vQEeQew", "ap8S88LeiB0", "4LvXP3XR6gw", "I9o65_aIq0Q", "Ut9XjFkGK6s", "PcFkjR5NELA", "Yl67318oP-s", "umbar5BKBus", "FEfCtNhVjJ0", ...] 11:41:49.467 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=501.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 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")))) [5] 11:41:49.687 [debug] QUERY OK source="tasks" db=0.4ms idle=6.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1639, 5, ~U[2026-03-28 00:41:49Z], ~U[2026-03-28 00:41:49Z]] 11:41:49.689 [info] {"args":{"id":5},"id":1633,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":742213,"event":"job:stop","queue_time":593481,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:42:00.770 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:42:03.522 [info] {"source":"oban","duration":2916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:13.362 [info] GET /sources/18/media/63200 11:42:13.363 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "63200", "prevent_download" => "true", "source_id" => "18"} Pipelines: [:browser] 11:42:13.365 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=1585.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" = ?) [63200] 11:42:13.369 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1343.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 [] 11:42:13.370 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=591.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 [] 11:42:13.373 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=593.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 [] 11:42:13.377 [info] Sent 404 in 14ms 11:42:13.378 [debug] Converted error Ecto.NoResultsError to 404 response 11:42:21.922 [info] GET / 11:42:21.922 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:42:21.923 [debug] QUERY OK source="settings" db=0.4ms idle=1143.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 [] 11:42:21.924 [debug] QUERY OK source="media_profiles" db=0.8ms idle=1144.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:42:21.925 [debug] QUERY OK source="sources" db=0.3ms idle=1145.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:42:21.952 [debug] QUERY OK source="media_items" db=26.8ms idle=1146.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:42:21.955 [debug] QUERY OK source="media_items" db=3.0ms idle=892.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:42:21.956 [debug] QUERY OK source="settings" db=0.3ms idle=32.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 [] 11:42:21.956 [debug] QUERY OK source="settings" db=0.2ms idle=32.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 [] 11:42:21.957 [debug] QUERY OK source="settings" db=0.3ms idle=32.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 [] 11:42:21.961 [debug] QUERY OK source="media_items" db=3.1ms idle=6.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 (NOT (m0."media_filepath" IS NULL)) [] 11:42:21.962 [debug] QUERY OK source="media_items" db=0.5ms idle=6.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:42:21.963 [debug] QUERY OK source="sources" db=0.3ms idle=6.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" IN (?,?)) [6, 2] 11:42:22.026 [debug] QUERY OK source="media_items" db=59.8ms idle=9.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 (((((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"))) [] 11:42:22.109 [debug] QUERY OK source="media_items" db=83.1ms queue=0.1ms idle=68.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:42:22.110 [debug] QUERY OK source="sources" db=0.6ms idle=147.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] 11:42:22.114 [debug] QUERY OK source="tasks" db=1.0ms idle=149.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:42:22.115 [debug] QUERY OK source="media_items" db=0.8ms idle=88.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3454, 3457] 11:42:22.117 [info] Sent 200 in 195ms 11:42:33.525 [info] {"source":"oban","duration":1612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:39.363 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=btv2CN1KHs4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fe/54/fe547d8edf1869a8727f5686f6d7295e1f8e2131a485571efe989547878034af.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 11:42:39.420 [debug] Running yt-dlp command for action: download_thumbnail 11:42:39.422 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1642.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 [] 11:42:39.422 [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 [] 11:42:39.423 [debug] QUERY OK source="settings" db=0.2ms idle=1281.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 [] 11:42:39.423 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=btv2CN1KHs4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3457/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/0c/ce/0cce26e87a0f3e7b849c2d4cd7cb4e3b9207c8d0385021f6e62294c7addd089c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:42:43.169 [info] {"args":{"id":1},"id":1634,"meta":{},"system_time":1774658563168779392,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:42:43.179 [debug] QUERY OK source="sources" db=9.8ms idle=390.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" = ?) [1] 11:42:43.205 [debug] QUERY OK source="settings" db=24.9ms queue=0.2ms idle=401.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 [] 11:42:43.218 [debug] QUERY OK source="media_profiles" db=12.5ms idle=427.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] 11:42:43.220 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=59.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 [] 11:42:43.220 [debug] Fetching recent media IDs from YouTube API for playlist: UUISrVZmDM4x-Rq9mmNUw7Zw 11:42:43.221 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=52.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 [] 11:42:43.222 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:42:43.724 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=542.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "Q0qmHym16H4", "WcWL0_PlcO8", "dQV1WkSly7k", "Xpohopi2_tA", "fsZdCn4jIUY", "hgk2jMPnG2w", "oDh4gg7xiUs", "3LfUmSMW_qc", "5gN9QvwPLq8", "uSBe19ms3aw", "Eq1BmJikpHA", "OsKelxcQUNo", "zNP6Q_Yk9hU", "ZPPCc15thCc", "UzARiS2CyJ4", "r8X8HVGVV1o", "_JI7oYBFZIo", "niCh-EI1Kfo", "92mSBlpBEJo", "_6OAB_8iwqs", "tJbcC43WELc", "cPz1rUCNI0o", "hFzt_dOdElw", "nC-QKeluT0c", "i8ARsrsVUMM", "X30l-491qck", "rzQeUM-lMUY", "BkUHm95UvCw", "MQ2cHq3-J7A", "CtF5dLHITYA", "SGJkxRdkRGg", "OUCt85aJaAA", "9gARPYZOka4", "-uH-Gi5tjEw", "qwUBBQKYX94", "s8VLDSQJ8nA", "EvPfr0lKkh4", "msXzAxF49gA", "hQCWaSvjkU0", "RcmjVsy3a-g", "xtuNc9vYJG4", "fj2tcg8OzsM", "2FZ4IfPACDM", "2Q9DzW20YJ8", "IVsWFGOE_mw", "vPxpMcv2Z4Y", "Zverj_ldlhY", "pQK8xasPd9Q", "_Yo7nh8u9pk", ...] 11:42:43.729 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=521.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 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] 11:42:43.768 [debug] QUERY OK source="tasks" db=0.8ms idle=14.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1640, 1, ~U[2026-03-28 00:42:43Z], ~U[2026-03-28 00:42:43Z]] 11:42:43.769 [info] {"args":{"id":1},"id":1634,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":599986,"event":"job:stop","queue_time":702581,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:42:46.630 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=btv2CN1KHs4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3457/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/0c/ce/0cce26e87a0f3e7b849c2d4cd7cb4e3b9207c8d0385021f6e62294c7addd089c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:42:46.632 [debug] QUERY OK db=0.3ms queue=0.2ms idle=1852.6ms begin [] 11:42:46.638 [debug] QUERY OK source="media_items" db=4.9ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 00:42:39Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e100699 - Jägerbomb - Can It Be Fixed?.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e100699 - Jägerbomb - Can It Be Fixed?.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e100699 - Jägerbomb - Can It Be Fixed?.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e100699 - Jägerbomb - Can It Be Fixed?.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e100699 - Jägerbomb - Can It Be Fixed?.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e100699 - Jägerbomb - Can It Be Fixed?-thumb.jpg", ~U[2026-03-28 00:42:46Z], 3457] 11:42:46.658 [debug] QUERY OK source="media_metadata" db=19.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/3457/metadata.json.gz", "/config/metadata/media_items/3457/thumbnail.jpg", 3457, ~U[2026-03-28 00:42:46Z], ~U[2026-03-28 00:42:46Z]] 11:42:46.660 [debug] QUERY OK db=1.5ms commit [] 11:42:46.689 [debug] QUERY OK source="media_items" db=8.0ms idle=1902.4ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [74365201, ~U[2026-03-28 00:42:46Z], 3457] 11:42:46.690 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:42:46.691 [info] {"args":{"id":3457},"id":591,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":146974522,"event":"job:stop","queue_time":74001714879,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:42:46.699 [info] {"args":{"id":3459},"id":592,"meta":{},"system_time":1774658566699493172,"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"]} 11:42:46.700 [debug] QUERY OK source="media_items" db=0.5ms idle=527.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" = ?) [3459] 11:42:46.700 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:42:46.702 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms idle=40.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" = ?) [4] 11:42:46.703 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=13.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] 11:42:46.705 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=13.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 [3459] 11:42:46.707 [debug] QUERY OK source="media_metadata" db=0.2ms idle=7.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" = ?) [3459] 11:42:46.707 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=6.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] 11:42:46.709 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:42:46.709 [debug] QUERY OK source="settings" db=0.1ms idle=5.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 [] 11:42:46.710 [debug] Running yt-dlp command for action: get_downloadable_status 11:42:46.711 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:42:46.712 [debug] QUERY OK source="settings" db=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 [] 11:42:46.712 [debug] QUERY OK source="settings" db=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 [] 11:42:46.713 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EZJGjmg4aR8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/dd/45/dd45ca0299b86ac64c376d0a1777ebb91f42e553cce806676ccf875ecc9c7e82.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:42:53.473 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EZJGjmg4aR8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/dd/45/dd45ca0299b86ac64c376d0a1777ebb91f42e553cce806676ccf875ecc9c7e82.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:42:53.474 [debug] Running yt-dlp command for action: download 11:42:53.474 [debug] QUERY OK source="settings" db=0.4ms idle=1695.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 [] 11:42:53.475 [debug] QUERY OK source="settings" db=0.3ms idle=1695.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 [] 11:42:53.475 [debug] QUERY OK source="settings" db=0.3ms idle=1696.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 [] 11:42:53.475 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EZJGjmg4aR8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/53/12/53129b1f6c128fb9cf8168f64561683da89514282378f9376f17e0b585495f00.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:43:00.772 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:43:03.529 [info] {"source":"oban","duration":3009,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:21.311 [info] {"args":{"id":6},"id":1635,"meta":{},"system_time":1774658601311256234,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:43:21.312 [debug] QUERY OK source="sources" db=0.5ms idle=532.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" = ?) [6] 11:43:21.313 [debug] QUERY OK source="settings" db=0.3ms idle=533.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 [] 11:43:21.314 [debug] QUERY OK source="media_profiles" db=0.3ms idle=534.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] 11:43:21.314 [debug] QUERY OK source="settings" db=0.2ms idle=10.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 [] 11:43:21.314 [debug] Fetching recent media IDs from YouTube API for playlist: UUOzMAa6IhV6uwYQATYG_2kg 11:43:21.314 [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 [] 11:43:21.314 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:43:21.767 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=450.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6, "dnia-38h1GA", "iZaN9NRWc28", "CJrLdBStrzc", "u-eoT-Foth8", "XHineC0YKjs", "VdlejwGkNoI", "ikIigkz2pMg", "qUdPPQ9-9Tg", "k9fuSOPjSXM", "hb-oXWK9r7k", "hDfrtCQmNOo", "zRIUM4OhyWU", "W7c0iVM4P2I", "KCFDp_kxT_4", "aZhuGRngq-g", "BgWbezF2M28", "ZJfHw71KKsk", "MisOg5bX0a4", "2UampQ_86ek", "7-iImzOel-s", "O8E47Ib_RoU", "RcVBMZd2_u8", "b-DHev8Uc6I", "0apH8xkS6PE", "I8m3hyPVsxA", "urqkKHRaT-8", "shyrhINSaPk", "Ze3bKcLbPWg", "ydk9KfgHUPo", "sFlgR1oiUXk", "jCieQsNXdBM", "Nz4uVkNMKdI", "tyX3PvjLSC8", "VeDDo4HhNVo", "2RmXPeBn3x0", "1sA4iEo0x1o", "KqAYebG_Bs0", "FelCut8wQ3o", "wY5Xb_t79SM", "-YqD-IWgaz8", "BdV0pSziReE", "u5VKDy7Dgj8", "hn89XxHJLQ0", "wE60s-NuU6c", "LBwtYK3W-vw", "FGpCwqNklsw", "79hW_qeneEY", "aNpJxLXZATY", "9JhGit6JRw0", ...] 11:43:21.770 [debug] QUERY OK source="settings" db=0.3ms idle=456.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 [] 11:43:21.771 [debug] QUERY OK source="settings" db=0.2ms idle=457.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 [] 11:43:21.771 [debug] Running yt-dlp command for action: get_media_attributes 11:43:21.773 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=458.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 [] 11:43:21.775 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=459.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 [] 11:43:21.775 [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 [] 11:43:21.777 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/f9/8a/f98a97d983565cc6ef4d2e051531d17ea0d61017039d6f339622e97ac586304a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:43:22.349 [info] GET / 11:43:22.349 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:43:22.350 [debug] QUERY OK source="settings" db=0.5ms idle=578.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 [] 11:43:22.351 [debug] QUERY OK source="media_profiles" db=0.4ms idle=577.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:43:22.352 [debug] QUERY OK source="sources" db=0.5ms idle=576.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:43:22.402 [debug] QUERY OK source="media_items" db=50.0ms idle=576.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:43:22.410 [debug] QUERY OK source="media_items" db=7.3ms queue=0.1ms idle=95.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:43:22.411 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=59.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 [] 11:43:22.411 [debug] QUERY OK source="settings" db=0.4ms idle=59.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 [] 11:43:22.412 [debug] QUERY OK source="settings" db=0.1ms idle=60.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 [] 11:43:22.420 [debug] QUERY OK source="media_items" db=7.5ms idle=10.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 (NOT (m0."media_filepath" IS NULL)) [] 11:43:22.423 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=11.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:43:22.424 [debug] QUERY OK source="sources" db=0.7ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [6, 2] 11:43:22.508 [debug] QUERY OK source="media_items" db=81.2ms idle=15.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 (((((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"))) [] 11:43:22.589 [debug] QUERY OK source="media_items" db=80.0ms queue=0.2ms idle=96.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:43:22.591 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=169.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] 11:43:22.597 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=173.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:43:22.599 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=174.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3454, 3459] 11:43:22.600 [debug] QUERY OK source="sources" db=0.8ms idle=90.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] 11:43:22.604 [info] Sent 200 in 254ms 11:43:24.744 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/f9/8a/f98a97d983565cc6ef4d2e051531d17ea0d61017039d6f339622e97ac586304a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days. 11:43:24.744 [error] Error creating media item 'u-eoT-Foth8' from URL: {:error, "ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days.\n", 1} 11:43:24.767 [debug] QUERY OK source="media_items" db=22.0ms idle=965.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 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] 11:43:24.984 [debug] QUERY OK source="tasks" db=10.4ms idle=8.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1641, 6, ~U[2026-03-28 00:43:24Z], ~U[2026-03-28 00:43:24Z]] 11:43:24.985 [info] {"args":{"id":6},"id":1635,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":3673323,"event":"job:stop","queue_time":226055,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:43:33.534 [info] {"source":"oban","duration":3235,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:00.774 [info] {"source":"oban","duration":549,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:44:03.538 [info] {"source":"oban","duration":3260,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:22.808 [info] GET / 11:44:22.809 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:44:22.810 [debug] QUERY OK source="settings" db=0.5ms idle=261.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 [] 11:44:22.810 [debug] QUERY OK source="media_profiles" db=0.1ms idle=31.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:44:22.810 [debug] QUERY OK source="sources" db=0.1ms idle=31.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:44:22.851 [debug] QUERY OK source="media_items" db=40.8ms idle=31.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:44:22.854 [debug] QUERY OK source="media_items" db=2.9ms idle=72.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:44:22.855 [debug] QUERY OK source="settings" db=0.4ms idle=45.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 [] 11:44:22.856 [debug] QUERY OK source="settings" db=0.2ms idle=45.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 [] 11:44:22.857 [debug] QUERY OK source="settings" db=0.2ms idle=46.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 [] 11:44:22.863 [debug] QUERY OK source="media_items" db=4.0ms idle=7.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 (NOT (m0."media_filepath" IS NULL)) [] 11:44:22.865 [debug] QUERY OK source="media_items" db=0.9ms queue=0.2ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:44:22.866 [debug] QUERY OK source="sources" db=0.4ms idle=10.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" IN (?,?)) [6, 2] 11:44:22.929 [debug] QUERY OK source="media_items" db=59.8ms idle=13.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 (((((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"))) [] 11:44:23.007 [debug] QUERY OK source="media_items" db=77.9ms idle=72.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:44:23.008 [debug] QUERY OK source="sources" db=0.3ms idle=144.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] 11:44:23.014 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=148.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:44:23.015 [debug] QUERY OK source="media_items" db=0.4ms idle=148.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3454, 3459] 11:44:23.018 [info] Sent 200 in 210ms 11:44:33.541 [info] {"source":"oban","duration":1997,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:56.477 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hVmkomWHEss --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7e/5d/7e5d83df11a09d693845deacd47bbda0deb99c4229087617d95ffb1522f36499.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 11:44:56.545 [debug] Running yt-dlp command for action: download_thumbnail 11:44:56.547 [debug] QUERY OK source="settings" db=0.5ms idle=1767.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 [] 11:44:56.548 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1768.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 [] 11:44:56.548 [debug] QUERY OK source="settings" db=0.3ms idle=1769.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 [] 11:44:56.549 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hVmkomWHEss --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3454/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/da/59/da59fc6625431129dce5275d3c7218d3f72c6d2188a9481365a1762c28a389b2.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:45:00.777 [info] {"source":"oban","duration":852,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:45:03.546 [info] {"source":"oban","duration":4128,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:04.732 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hVmkomWHEss --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3454/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/da/59/da59fc6625431129dce5275d3c7218d3f72c6d2188a9481365a1762c28a389b2.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:45:04.733 [debug] QUERY OK db=0.0ms queue=0.1ms idle=1047.9ms begin [] 11:45:04.736 [debug] QUERY OK source="media_items" db=1.9ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 00:44:56Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e101399 - Milk Syrup - Can It REPLACE EGG WHITE? Silky, Frothy & Simple!.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e101399 - Milk Syrup - Can It REPLACE EGG WHITE? Silky, Frothy & Simple!.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e101399 - Milk Syrup - Can It REPLACE EGG WHITE? Silky, Frothy & Simple!.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e101399 - Milk Syrup - Can It REPLACE EGG WHITE? Silky, Frothy & Simple!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e101399 - Milk Syrup - Can It REPLACE EGG WHITE? Silky, Frothy & Simple!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e101399 - Milk Syrup - Can It REPLACE EGG WHITE? Silky, Frothy & Simple!-thumb.jpg", ~U[2026-03-28 00:45:04Z], 3454] 11:45:04.739 [debug] QUERY OK source="media_metadata" db=3.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/3454/metadata.json.gz", "/config/metadata/media_items/3454/thumbnail.jpg", 3454, ~U[2026-03-28 00:45:04Z], ~U[2026-03-28 00:45:04Z]] 11:45:04.742 [debug] QUERY OK db=2.1ms commit [] 11:45:04.767 [debug] QUERY OK source="media_items" db=21.6ms idle=966.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [86065690, ~U[2026-03-28 00:45:04Z], 3454] 11:45:04.767 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:45:04.769 [info] {"args":{"id":3454},"id":590,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":297954952,"event":"job:stop","queue_time":73993811878,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:45:04.782 [info] {"args":{"id":3463},"id":593,"meta":{},"system_time":1774658704781742081,"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"]} 11:45:04.783 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=94.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" = ?) [3463] 11:45:04.784 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:45:04.788 [debug] QUERY OK source="sources" db=4.1ms idle=41.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" = ?) [4] 11:45:04.789 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=21.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] 11:45:04.791 [debug] QUERY OK source="media_items" db=0.5ms idle=21.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 [3463] 11:45:04.793 [debug] QUERY OK source="media_metadata" db=0.1ms idle=11.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" = ?) [3463] 11:45:04.793 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 11:45:04.794 [debug] QUERY OK source="settings" db=0.4ms idle=5.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 [] 11:45:04.794 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:45:04.795 [debug] Running yt-dlp command for action: get_downloadable_status 11:45:04.796 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:45:04.797 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:45:04.797 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:45:04.797 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DM0bn9O2FW4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/82/1c/821c970376516b3372b9ca9e95286c68bebe49f6a398c077420d95e8205590f1.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:45:12.699 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DM0bn9O2FW4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/82/1c/821c970376516b3372b9ca9e95286c68bebe49f6a398c077420d95e8205590f1.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:45:12.700 [debug] Running yt-dlp command for action: download 11:45:12.701 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1921.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 [] 11:45:12.702 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1922.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 [] 11:45:12.702 [debug] QUERY OK source="settings" db=0.2ms idle=1923.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 [] 11:45:12.704 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DM0bn9O2FW4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/93/93/93931759a907e23f016fd463b1f1fe069a15de800bfc6e5d07409d47306af29a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:45:23.246 [info] GET / 11:45:23.247 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:45:23.248 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1468.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 [] 11:45:23.249 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=1469.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:45:23.249 [debug] QUERY OK source="sources" db=0.3ms idle=1470.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:45:23.277 [debug] QUERY OK source="media_items" db=27.9ms idle=497.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:45:23.281 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=499.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:45:23.282 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:45:23.283 [debug] QUERY OK source="settings" db=0.3ms idle=33.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 [] 11:45:23.284 [debug] QUERY OK source="settings" db=0.4ms idle=34.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 [] 11:45:23.289 [debug] QUERY OK source="media_items" db=3.9ms idle=7.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 (NOT (m0."media_filepath" IS NULL)) [] 11:45:23.290 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=7.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:45:23.291 [debug] QUERY OK source="sources" db=0.5ms idle=8.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" IN (?,?)) [6, 2] 11:45:23.361 [debug] QUERY OK source="media_items" db=66.4ms idle=11.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 (((((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"))) [] 11:45:23.446 [debug] QUERY OK source="media_items" db=84.6ms queue=0.1ms idle=77.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:45:23.449 [debug] QUERY OK source="sources" db=0.4ms queue=0.2ms idle=159.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] 11:45:23.464 [debug] QUERY OK source="tasks" db=0.5ms idle=173.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:45:23.465 [debug] QUERY OK source="media_items" db=0.7ms idle=173.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3459, 3463] 11:45:23.467 [info] Sent 200 in 220ms 11:45:30.666 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EZJGjmg4aR8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/53/12/53129b1f6c128fb9cf8168f64561683da89514282378f9376f17e0b585495f00.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 11:45:30.749 [debug] Running yt-dlp command for action: download_thumbnail 11:45:30.751 [debug] QUERY OK source="settings" db=0.7ms idle=1971.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 [] 11:45:30.751 [debug] QUERY OK source="settings" db=0.2ms idle=1972.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 [] 11:45:30.752 [debug] QUERY OK source="settings" db=0.4ms idle=1972.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 [] 11:45:30.752 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EZJGjmg4aR8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3459/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/98/03/9803ef1ae84f50bd3a5800f14eb857bae720daa23432ce332f765f650e329108.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:45:33.549 [info] {"source":"oban","duration":2421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:38.219 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EZJGjmg4aR8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3459/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/98/03/9803ef1ae84f50bd3a5800f14eb857bae720daa23432ce332f765f650e329108.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:45:38.220 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1440.7ms begin [] 11:45:38.224 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 00:45:30Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e092999 - Sidecar Cocktail Three Ways - Best Cognac Cocktail?.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e092999 - Sidecar Cocktail Three Ways - Best Cognac Cocktail?.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e092999 - Sidecar Cocktail Three Ways - Best Cognac Cocktail?.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e092999 - Sidecar Cocktail Three Ways - Best Cognac Cocktail?.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e092999 - Sidecar Cocktail Three Ways - Best Cognac Cocktail?.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e092999 - Sidecar Cocktail Three Ways - Best Cognac Cocktail?-thumb.jpg", ~U[2026-03-28 00:45:38Z], 3459] 11:45:38.228 [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/3459/metadata.json.gz", "/config/metadata/media_items/3459/thumbnail.jpg", 3459, ~U[2026-03-28 00:45:38Z], ~U[2026-03-28 00:45:38Z]] 11:45:38.232 [debug] QUERY OK db=3.3ms commit [] 11:45:38.277 [debug] QUERY OK source="media_items" db=25.4ms queue=0.1ms idle=1472.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [80694695, ~U[2026-03-28 00:45:38Z], 3459] 11:45:38.278 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:45:38.289 [info] {"args":{"id":3459},"id":592,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":171578986,"event":"job:stop","queue_time":74144697843,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:45:38.305 [info] {"args":{"id":3465},"id":595,"meta":{},"system_time":1774658738305361566,"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"]} 11:45:38.320 [debug] QUERY OK source="media_items" db=14.4ms idle=497.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" = ?) [3465] 11:45:38.320 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:45:38.333 [debug] QUERY OK source="sources" db=12.0ms idle=88.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" = ?) [4] 11:45:38.334 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=55.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] 11:45:38.336 [debug] QUERY OK source="media_items" db=0.9ms idle=46.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 [3465] 11:45:38.338 [debug] QUERY OK source="media_metadata" db=0.2ms idle=32.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" = ?) [3465] 11:45:38.338 [debug] QUERY OK source="media_profiles" db=0.5ms idle=18.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] 11:45:38.340 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 11:45:38.340 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:45:38.341 [debug] Running yt-dlp command for action: get_downloadable_status 11:45:38.342 [debug] QUERY OK source="settings" db=0.1ms idle=6.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 [] 11:45:38.343 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms 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 [] 11:45:38.343 [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 [] 11:45:38.344 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fu7VER2_O0I --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fb/05/fb05f6980b62e39678f6d07bea3738893fd090cd356548d986f42e47b185f949.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:45:44.888 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fu7VER2_O0I --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fb/05/fb05f6980b62e39678f6d07bea3738893fd090cd356548d986f42e47b185f949.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:45:44.888 [debug] Running yt-dlp command for action: download 11:45:44.889 [debug] QUERY OK source="settings" db=0.6ms idle=1110.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 [] 11:45:44.890 [debug] QUERY OK source="settings" db=0.4ms idle=1111.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 [] 11:45:44.891 [debug] QUERY OK source="settings" db=0.3ms idle=1111.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 [] 11:45:44.891 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fu7VER2_O0I --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/59/d8/59d8b99a820786bb85f1910a3a5b9d1004b85ffaed267285d9bb10b28ddf77f8.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:46:00.778 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:46:03.552 [info] {"source":"oban","duration":2184,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:13.748 [info] GET /sources/5/media/38625 11:46:13.748 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "38625", "source_id" => "5"} Pipelines: [:browser] 11:46:13.750 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=1970.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" = ?) [38625] 11:46:13.753 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=1811.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 [] 11:46:13.754 [debug] QUERY OK source="settings" db=0.1ms idle=975.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 [] 11:46:13.755 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=976.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 [] 11:46:13.758 [info] Sent 404 in 10ms 11:46:13.758 [debug] Converted error Ecto.NoResultsError to 404 response 11:46:23.717 [info] GET / 11:46:23.717 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:46:23.718 [debug] QUERY OK source="settings" db=0.2ms idle=938.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 [] 11:46:23.718 [debug] QUERY OK source="media_profiles" db=0.2ms idle=939.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:46:23.718 [debug] QUERY OK source="sources" db=0.2ms idle=939.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:46:23.772 [debug] QUERY OK source="media_items" db=53.2ms idle=939.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:46:23.775 [debug] QUERY OK source="media_items" db=3.1ms idle=777.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:46:23.776 [debug] QUERY OK source="settings" db=0.2ms idle=57.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 [] 11:46:23.776 [debug] QUERY OK source="settings" db=0.1ms idle=57.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 [] 11:46:23.777 [debug] QUERY OK source="settings" db=0.5ms idle=58.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 [] 11:46:23.786 [debug] QUERY OK source="media_items" db=7.7ms idle=6.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 (NOT (m0."media_filepath" IS NULL)) [] 11:46:23.787 [debug] QUERY OK source="media_items" db=0.7ms idle=10.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:46:23.787 [debug] QUERY OK source="sources" db=0.4ms idle=11.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" IN (?,?)) [6, 2] 11:46:23.851 [debug] QUERY OK source="media_items" db=60.8ms idle=13.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 (((((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"))) [] 11:46:23.926 [debug] QUERY OK source="media_items" db=75.0ms 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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:46:23.927 [debug] QUERY OK source="sources" db=0.3ms idle=141.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] 11:46:23.930 [debug] QUERY OK source="tasks" db=0.5ms idle=142.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:46:23.930 [debug] QUERY OK source="media_items" db=0.3ms idle=142.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3463, 3465] 11:46:23.932 [info] Sent 200 in 214ms 11:46:24.211 [info] GET /.well-known/acme-challenge/NK8UiR4WIn-8tyBJU0C9AUBP0kQQ_YudcFF_p5dXCm0 11:46:24.212 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=285.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 [] 11:46:24.213 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=285.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 [] 11:46:24.214 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:46:24.215 [error] #PID<0.27829.0> running PinchflatWeb.Endpoint (connection #PID<0.27827.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/NK8UiR4WIn-8tyBJU0C9AUBP0kQQ_YudcFF_p5dXCm0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/NK8UiR4WIn-8tyBJU0C9AUBP0kQQ_YudcFF_p5dXCm0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/NK8UiR4WIn-8tyBJU0C9AUBP0kQQ_YudcFF_p5dXCm0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 46430}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/NK8UiR4WIn-8tyBJU0C9AUBP0kQQ_YudcFF_p5dXCm0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27829.0>, params: %{}, path_info: [".well-known", "acme-challenge", "NK8UiR4WIn-8tyBJU0C9AUBP0kQQ_YudcFF_p5dXCm0"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/NK8UiR4WIn-8tyBJU0C9AUBP0kQQ_YudcFF_p5dXCm0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/NK8UiR4WIn-8tyBJU0C9AUBP0kQQ_YudcFF_p5dXCm0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDawv5zsUFSf2UAFQmi"} ], 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.27827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/NK8UiR4WIn-8tyBJU0C9AUBP0kQQ_YudcFF_p5dXCm0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 46430}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/NK8UiR4WIn-8tyBJU0C9AUBP0kQQ_YudcFF_p5dXCm0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/NK8UiR4WIn-8tyBJU0C9AUBP0kQQ_YudcFF_p5dXCm0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/NK8UiR4WIn-8tyBJU0C9AUBP0kQQ_YudcFF_p5dXCm0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 46430}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/NK8UiR4WIn-8tyBJU0C9AUBP0kQQ_YudcFF_p5dXCm0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27829.0>, params: %{}, path_info: [".well-known", "acme-challenge", "NK8UiR4WIn-8tyBJU0C9AUBP0kQQ_YudcFF_p5dXCm0"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:46:31.943 [info] GET /.well-known/acme-challenge/x2zhcArmttS_3p6uOukqjytZDNnmcctqIeSb3_4qcIM 11:46:31.944 [debug] QUERY OK source="settings" db=0.4ms idle=1164.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 [] 11:46:31.944 [debug] QUERY OK source="settings" db=0.2ms idle=919.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 [] 11:46:31.944 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:46:31.945 [error] #PID<0.27831.0> running PinchflatWeb.Endpoint (connection #PID<0.27830.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/x2zhcArmttS_3p6uOukqjytZDNnmcctqIeSb3_4qcIM ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/x2zhcArmttS_3p6uOukqjytZDNnmcctqIeSb3_4qcIM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27830.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/x2zhcArmttS_3p6uOukqjytZDNnmcctqIeSb3_4qcIM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 58368}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/x2zhcArmttS_3p6uOukqjytZDNnmcctqIeSb3_4qcIM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27831.0>, params: %{}, path_info: [".well-known", "acme-challenge", "x2zhcArmttS_3p6uOukqjytZDNnmcctqIeSb3_4qcIM"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/x2zhcArmttS_3p6uOukqjytZDNnmcctqIeSb3_4qcIM"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/x2zhcArmttS_3p6uOukqjytZDNnmcctqIeSb3_4qcIM", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDaxMtKn6CO4wwABZ3D"} ], 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.27830.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/x2zhcArmttS_3p6uOukqjytZDNnmcctqIeSb3_4qcIM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 58368}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/x2zhcArmttS_3p6uOukqjytZDNnmcctqIeSb3_4qcIM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/x2zhcArmttS_3p6uOukqjytZDNnmcctqIeSb3_4qcIM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27830.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/x2zhcArmttS_3p6uOukqjytZDNnmcctqIeSb3_4qcIM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 58368}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/x2zhcArmttS_3p6uOukqjytZDNnmcctqIeSb3_4qcIM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27831.0>, params: %{}, path_info: [".well-known", "acme-challenge", "x2zhcArmttS_3p6uOukqjytZDNnmcctqIeSb3_4qcIM"], 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://pinchfla (truncated) 11:46:33.526 [info] GET /.well-known/acme-challenge/rPo9y4bRZ-esIuuF_eq-gcF8wNl1C9N1H5WuzKuNA5g 11:46:33.527 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1747.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 [] 11:46:33.528 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1583.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 [] 11:46:33.528 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:46:33.528 [error] #PID<0.27832.0> running PinchflatWeb.Endpoint (connection #PID<0.27830.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/rPo9y4bRZ-esIuuF_eq-gcF8wNl1C9N1H5WuzKuNA5g ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/rPo9y4bRZ-esIuuF_eq-gcF8wNl1C9N1H5WuzKuNA5g (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27830.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/rPo9y4bRZ-esIuuF_eq-gcF8wNl1C9N1H5WuzKuNA5g", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 58368}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/rPo9y4bRZ-esIuuF_eq-gcF8wNl1C9N1H5WuzKuNA5g", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27832.0>, params: %{}, path_info: [".well-known", "acme-challenge", "rPo9y4bRZ-esIuuF_eq-gcF8wNl1C9N1H5WuzKuNA5g"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/rPo9y4bRZ-esIuuF_eq-gcF8wNl1C9N1H5WuzKuNA5g"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/rPo9y4bRZ-esIuuF_eq-gcF8wNl1C9N1H5WuzKuNA5g", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDaxSmjrFmR2UcABZ3j"} ], 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.27830.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/rPo9y4bRZ-esIuuF_eq-gcF8wNl1C9N1H5WuzKuNA5g", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 58368}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/rPo9y4bRZ-esIuuF_eq-gcF8wNl1C9N1H5WuzKuNA5g", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/rPo9y4bRZ-esIuuF_eq-gcF8wNl1C9N1H5WuzKuNA5g (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27830.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/rPo9y4bRZ-esIuuF_eq-gcF8wNl1C9N1H5WuzKuNA5g", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 58368}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/rPo9y4bRZ-esIuuF_eq-gcF8wNl1C9N1H5WuzKuNA5g", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27832.0>, params: %{}, path_info: [".well-known", "acme-challenge", "rPo9y4bRZ-esIuuF_eq-gcF8wNl1C9N1H5WuzKuNA5g"], 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://pinchfla (truncated) 11:46:33.555 [info] {"source":"oban","duration":2472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:35.285 [info] GET /.well-known/acme-challenge/RXJE-EX306RLnhTeja5vtQlORzk14MIqgnGcTRqj5u4 11:46:35.286 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1249.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 [] 11:46:35.287 [debug] QUERY OK source="settings" db=0.1ms idle=507.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 [] 11:46:35.287 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:46:35.287 [error] #PID<0.27834.0> running PinchflatWeb.Endpoint (connection #PID<0.27833.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/RXJE-EX306RLnhTeja5vtQlORzk14MIqgnGcTRqj5u4 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/RXJE-EX306RLnhTeja5vtQlORzk14MIqgnGcTRqj5u4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27833.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/RXJE-EX306RLnhTeja5vtQlORzk14MIqgnGcTRqj5u4", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36306}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/RXJE-EX306RLnhTeja5vtQlORzk14MIqgnGcTRqj5u4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27834.0>, params: %{}, path_info: [".well-known", "acme-challenge", "RXJE-EX306RLnhTeja5vtQlORzk14MIqgnGcTRqj5u4"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/RXJE-EX306RLnhTeja5vtQlORzk14MIqgnGcTRqj5u4"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/RXJE-EX306RLnhTeja5vtQlORzk14MIqgnGcTRqj5u4", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDaxZKCBNI7swIABZ4D"} ], 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.27833.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/RXJE-EX306RLnhTeja5vtQlORzk14MIqgnGcTRqj5u4", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36306}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/RXJE-EX306RLnhTeja5vtQlORzk14MIqgnGcTRqj5u4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/RXJE-EX306RLnhTeja5vtQlORzk14MIqgnGcTRqj5u4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27833.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/RXJE-EX306RLnhTeja5vtQlORzk14MIqgnGcTRqj5u4", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36306}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/RXJE-EX306RLnhTeja5vtQlORzk14MIqgnGcTRqj5u4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27834.0>, params: %{}, path_info: [".well-known", "acme-challenge", "RXJE-EX306RLnhTeja5vtQlORzk14MIqgnGcTRqj5u4"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:46:43.645 [info] GET /.well-known/acme-challenge/tLo2hwhRSo89BMQ700HxGuPk8WS_7tmdLqia5gs2ymA 11:46:43.648 [debug] QUERY OK source="settings" db=1.1ms queue=0.3ms idle=867.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 [] 11:46:43.649 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=869.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 [] 11:46:43.649 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:46:43.650 [error] #PID<0.27836.0> running PinchflatWeb.Endpoint (connection #PID<0.27835.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/tLo2hwhRSo89BMQ700HxGuPk8WS_7tmdLqia5gs2ymA ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/tLo2hwhRSo89BMQ700HxGuPk8WS_7tmdLqia5gs2ymA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27835.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/tLo2hwhRSo89BMQ700HxGuPk8WS_7tmdLqia5gs2ymA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36320}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/tLo2hwhRSo89BMQ700HxGuPk8WS_7tmdLqia5gs2ymA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27836.0>, params: %{}, path_info: [".well-known", "acme-challenge", "tLo2hwhRSo89BMQ700HxGuPk8WS_7tmdLqia5gs2ymA"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/tLo2hwhRSo89BMQ700HxGuPk8WS_7tmdLqia5gs2ymA"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/tLo2hwhRSo89BMQ700HxGuPk8WS_7tmdLqia5gs2ymA", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDax4TRZ5X-36wABZ4j"} ], 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.27835.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/tLo2hwhRSo89BMQ700HxGuPk8WS_7tmdLqia5gs2ymA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36320}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/tLo2hwhRSo89BMQ700HxGuPk8WS_7tmdLqia5gs2ymA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/tLo2hwhRSo89BMQ700HxGuPk8WS_7tmdLqia5gs2ymA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27835.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/tLo2hwhRSo89BMQ700HxGuPk8WS_7tmdLqia5gs2ymA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36320}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/tLo2hwhRSo89BMQ700HxGuPk8WS_7tmdLqia5gs2ymA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27836.0>, params: %{}, path_info: [".well-known", "acme-challenge", "tLo2hwhRSo89BMQ700HxGuPk8WS_7tmdLqia5gs2ymA"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:46:51.771 [info] GET /.well-known/acme-challenge/VS84iYgwLcyjce5Un89dixwD47-2d-8He-j9jnrTX9U 11:46:51.772 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=992.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 [] 11:46:51.773 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=993.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 [] 11:46:51.774 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:46:51.775 [error] #PID<0.27838.0> running PinchflatWeb.Endpoint (connection #PID<0.27837.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/VS84iYgwLcyjce5Un89dixwD47-2d-8He-j9jnrTX9U ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/VS84iYgwLcyjce5Un89dixwD47-2d-8He-j9jnrTX9U (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27837.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/VS84iYgwLcyjce5Un89dixwD47-2d-8He-j9jnrTX9U", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33266}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/VS84iYgwLcyjce5Un89dixwD47-2d-8He-j9jnrTX9U", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27838.0>, params: %{}, path_info: [".well-known", "acme-challenge", "VS84iYgwLcyjce5Un89dixwD47-2d-8He-j9jnrTX9U"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/VS84iYgwLcyjce5Un89dixwD47-2d-8He-j9jnrTX9U"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/VS84iYgwLcyjce5Un89dixwD47-2d-8He-j9jnrTX9U", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDayWkjBsC2B64ABZ5D"} ], 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.27837.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/VS84iYgwLcyjce5Un89dixwD47-2d-8He-j9jnrTX9U", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33266}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/VS84iYgwLcyjce5Un89dixwD47-2d-8He-j9jnrTX9U", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/VS84iYgwLcyjce5Un89dixwD47-2d-8He-j9jnrTX9U (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27837.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/VS84iYgwLcyjce5Un89dixwD47-2d-8He-j9jnrTX9U", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33266}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/VS84iYgwLcyjce5Un89dixwD47-2d-8He-j9jnrTX9U", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27838.0>, params: %{}, path_info: [".well-known", "acme-challenge", "VS84iYgwLcyjce5Un89dixwD47-2d-8He-j9jnrTX9U"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:46:51.894 [info] GET /.well-known/acme-challenge/iQG0vxvmykRLOrhjdfaAwaD2910Xb0GpmXu7vmtVL98 11:46:51.895 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1115.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 [] 11:46:51.896 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1116.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 [] 11:46:51.896 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:46:51.897 [error] #PID<0.27841.0> running PinchflatWeb.Endpoint (connection #PID<0.27837.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/iQG0vxvmykRLOrhjdfaAwaD2910Xb0GpmXu7vmtVL98 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/iQG0vxvmykRLOrhjdfaAwaD2910Xb0GpmXu7vmtVL98 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27837.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/iQG0vxvmykRLOrhjdfaAwaD2910Xb0GpmXu7vmtVL98", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33266}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/iQG0vxvmykRLOrhjdfaAwaD2910Xb0GpmXu7vmtVL98", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27841.0>, params: %{}, path_info: [".well-known", "acme-challenge", "iQG0vxvmykRLOrhjdfaAwaD2910Xb0GpmXu7vmtVL98"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/iQG0vxvmykRLOrhjdfaAwaD2910Xb0GpmXu7vmtVL98"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/iQG0vxvmykRLOrhjdfaAwaD2910Xb0GpmXu7vmtVL98", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDayXB1-rKKwbAABZ6D"} ], 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.27837.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/iQG0vxvmykRLOrhjdfaAwaD2910Xb0GpmXu7vmtVL98", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33266}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/iQG0vxvmykRLOrhjdfaAwaD2910Xb0GpmXu7vmtVL98", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/iQG0vxvmykRLOrhjdfaAwaD2910Xb0GpmXu7vmtVL98 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27837.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/iQG0vxvmykRLOrhjdfaAwaD2910Xb0GpmXu7vmtVL98", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33266}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/iQG0vxvmykRLOrhjdfaAwaD2910Xb0GpmXu7vmtVL98", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27841.0>, params: %{}, path_info: [".well-known", "acme-challenge", "iQG0vxvmykRLOrhjdfaAwaD2910Xb0GpmXu7vmtVL98"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:47:00.485 [info] GET /.well-known/acme-challenge/cXTise-AYNus0K-1Pxvd4JrD451-4-gzpD5dfbL3VtA 11:47:00.487 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=1707.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 [] 11:47:00.488 [debug] QUERY OK source="settings" db=0.4ms idle=1351.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 [] 11:47:00.488 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:47:00.489 [error] #PID<0.27843.0> running PinchflatWeb.Endpoint (connection #PID<0.27842.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/cXTise-AYNus0K-1Pxvd4JrD451-4-gzpD5dfbL3VtA ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/cXTise-AYNus0K-1Pxvd4JrD451-4-gzpD5dfbL3VtA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27842.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/cXTise-AYNus0K-1Pxvd4JrD451-4-gzpD5dfbL3VtA", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 53226}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/cXTise-AYNus0K-1Pxvd4JrD451-4-gzpD5dfbL3VtA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27843.0>, params: %{}, path_info: [".well-known", "acme-challenge", "cXTise-AYNus0K-1Pxvd4JrD451-4-gzpD5dfbL3VtA"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/cXTise-AYNus0K-1Pxvd4JrD451-4-gzpD5dfbL3VtA"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/cXTise-AYNus0K-1Pxvd4JrD451-4-gzpD5dfbL3VtA", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDay3CJ7yHTJNkABZ6j"} ], 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.27842.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/cXTise-AYNus0K-1Pxvd4JrD451-4-gzpD5dfbL3VtA", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 53226}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/cXTise-AYNus0K-1Pxvd4JrD451-4-gzpD5dfbL3VtA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/cXTise-AYNus0K-1Pxvd4JrD451-4-gzpD5dfbL3VtA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27842.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/cXTise-AYNus0K-1Pxvd4JrD451-4-gzpD5dfbL3VtA", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 53226}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/cXTise-AYNus0K-1Pxvd4JrD451-4-gzpD5dfbL3VtA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27843.0>, params: %{}, path_info: [".well-known", "acme-challenge", "cXTise-AYNus0K-1Pxvd4JrD451-4-gzpD5dfbL3VtA"], 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://pinchfla (truncated) 11:47:00.779 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:47:01.290 [info] GET /.well-known/acme-challenge/QjSGcWFhF57XxF_ZELCPP1xcGQ34LhxAzAptfpucXwQ 11:47:01.291 [debug] QUERY OK source="settings" db=0.4ms idle=1150.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 [] 11:47:01.292 [debug] QUERY OK source="settings" db=0.8ms idle=804.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 [] 11:47:01.293 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:47:01.293 [error] #PID<0.27844.0> running PinchflatWeb.Endpoint (connection #PID<0.27842.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/QjSGcWFhF57XxF_ZELCPP1xcGQ34LhxAzAptfpucXwQ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/QjSGcWFhF57XxF_ZELCPP1xcGQ34LhxAzAptfpucXwQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27842.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/QjSGcWFhF57XxF_ZELCPP1xcGQ34LhxAzAptfpucXwQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 53226}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/QjSGcWFhF57XxF_ZELCPP1xcGQ34LhxAzAptfpucXwQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27844.0>, params: %{}, path_info: [".well-known", "acme-challenge", "QjSGcWFhF57XxF_ZELCPP1xcGQ34LhxAzAptfpucXwQ"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/QjSGcWFhF57XxF_ZELCPP1xcGQ34LhxAzAptfpucXwQ"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/QjSGcWFhF57XxF_ZELCPP1xcGQ34LhxAzAptfpucXwQ", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDay6CFkXKB2FUAFQnC"} ], 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.27842.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/QjSGcWFhF57XxF_ZELCPP1xcGQ34LhxAzAptfpucXwQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 53226}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/QjSGcWFhF57XxF_ZELCPP1xcGQ34LhxAzAptfpucXwQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/QjSGcWFhF57XxF_ZELCPP1xcGQ34LhxAzAptfpucXwQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27842.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/QjSGcWFhF57XxF_ZELCPP1xcGQ34LhxAzAptfpucXwQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 53226}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/QjSGcWFhF57XxF_ZELCPP1xcGQ34LhxAzAptfpucXwQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27844.0>, params: %{}, path_info: [".well-known", "acme-challenge", "QjSGcWFhF57XxF_ZELCPP1xcGQ34LhxAzAptfpucXwQ"], 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://pinchfla (truncated) 11:47:03.558 [info] {"source":"oban","duration":2657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:03.995 [info] GET /.well-known/acme-challenge/kPpIXiXqSpupuu7ZEwP2yTvFkmovMhw8f-yqMoYYR2Y 11:47:03.998 [debug] QUERY OK source="settings" db=1.0ms queue=0.4ms idle=1217.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 [] 11:47:04.000 [debug] QUERY OK source="settings" db=0.6ms queue=0.3ms idle=1220.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 [] 11:47:04.001 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:47:04.003 [error] #PID<0.27845.0> running PinchflatWeb.Endpoint (connection #PID<0.27842.0>, stream id 3) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/kPpIXiXqSpupuu7ZEwP2yTvFkmovMhw8f-yqMoYYR2Y ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/kPpIXiXqSpupuu7ZEwP2yTvFkmovMhw8f-yqMoYYR2Y (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27842.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/kPpIXiXqSpupuu7ZEwP2yTvFkmovMhw8f-yqMoYYR2Y", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 53226}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/kPpIXiXqSpupuu7ZEwP2yTvFkmovMhw8f-yqMoYYR2Y", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27845.0>, params: %{}, path_info: [".well-known", "acme-challenge", "kPpIXiXqSpupuu7ZEwP2yTvFkmovMhw8f-yqMoYYR2Y"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/kPpIXiXqSpupuu7ZEwP2yTvFkmovMhw8f-yqMoYYR2Y"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/kPpIXiXqSpupuu7ZEwP2yTvFkmovMhw8f-yqMoYYR2Y", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDazEHFi_qWnP4ABZ7D"} ], 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.27842.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/kPpIXiXqSpupuu7ZEwP2yTvFkmovMhw8f-yqMoYYR2Y", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 53226}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/kPpIXiXqSpupuu7ZEwP2yTvFkmovMhw8f-yqMoYYR2Y", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/kPpIXiXqSpupuu7ZEwP2yTvFkmovMhw8f-yqMoYYR2Y (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27842.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/kPpIXiXqSpupuu7ZEwP2yTvFkmovMhw8f-yqMoYYR2Y", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 53226}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/kPpIXiXqSpupuu7ZEwP2yTvFkmovMhw8f-yqMoYYR2Y", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27845.0>, params: %{}, path_info: [".well-known", "acme-challenge", "kPpIXiXqSpupuu7ZEwP2yTvFkmovMhw8f-yqMoYYR2Y"], 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://pinchfla (truncated) 11:47:24.256 [info] GET / 11:47:24.257 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:47:24.259 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=1478.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 [] 11:47:24.260 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=1024.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:47:24.261 [debug] QUERY OK source="sources" db=0.6ms idle=481.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:47:24.329 [debug] QUERY OK source="media_items" db=67.9ms idle=482.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:47:24.334 [debug] QUERY OK source="media_items" db=4.5ms idle=91.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:47:24.336 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=76.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 [] 11:47:24.337 [debug] QUERY OK source="settings" db=0.5ms idle=76.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 [] 11:47:24.338 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=76.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 [] 11:47:24.342 [debug] QUERY OK source="media_items" db=1.6ms idle=10.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 (NOT (m0."media_filepath" IS NULL)) [] 11:47:24.343 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:47:24.345 [debug] QUERY OK source="sources" db=0.3ms queue=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [6, 2] 11:47:24.413 [debug] QUERY OK source="media_items" db=61.3ms idle=15.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 (((((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"))) [] 11:47:24.428 [debug] QUERY OK source="media_items" db=14.5ms queue=0.1ms idle=75.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:47:24.430 [debug] QUERY OK source="sources" db=0.3ms idle=87.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] 11:47:24.433 [debug] QUERY OK source="tasks" db=0.6ms idle=88.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:47:24.434 [debug] QUERY OK source="media_items" db=0.5ms idle=88.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3463, 3465] 11:47:24.435 [info] Sent 200 in 179ms 11:47:33.563 [info] {"source":"oban","duration":3514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:00.781 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:48:03.566 [info] {"source":"oban","duration":1936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:09.713 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fu7VER2_O0I --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/59/d8/59d8b99a820786bb85f1910a3a5b9d1004b85ffaed267285d9bb10b28ddf77f8.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 11:48:09.767 [debug] Running yt-dlp command for action: download_thumbnail 11:48:09.769 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1365.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 [] 11:48:09.770 [debug] QUERY OK source="settings" db=0.2ms idle=990.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 [] 11:48:09.770 [debug] QUERY OK source="settings" db=0.1ms idle=991.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 [] 11:48:09.771 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fu7VER2_O0I --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3465/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/aa/b7/aab7c37cb5dfa2b1a671d715645d2a9cb27c035454566adbf946e54f6399ff29.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:48:17.099 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fu7VER2_O0I --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3465/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/aa/b7/aab7c37cb5dfa2b1a671d715645d2a9cb27c035454566adbf946e54f6399ff29.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:48:17.101 [debug] QUERY OK db=0.1ms idle=671.1ms begin [] 11:48:17.106 [debug] QUERY OK source="media_items" db=4.7ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 00:48:09Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e091599 - Homemade Cream Soda with Fig Leaf = Best Highball Cocktail!.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e091599 - Homemade Cream Soda with Fig Leaf = Best Highball Cocktail!.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e091599 - Homemade Cream Soda with Fig Leaf = Best Highball Cocktail!.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e091599 - Homemade Cream Soda with Fig Leaf = Best Highball Cocktail!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e091599 - Homemade Cream Soda with Fig Leaf = Best Highball Cocktail!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e091599 - Homemade Cream Soda with Fig Leaf = Best Highball Cocktail!-thumb.jpg", ~U[2026-03-28 00:48:17Z], 3465] 11:48:17.110 [debug] QUERY OK source="media_metadata" db=3.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/3465/metadata.json.gz", "/config/metadata/media_items/3465/thumbnail.jpg", 3465, ~U[2026-03-28 00:48:17Z], ~U[2026-03-28 00:48:17Z]] 11:48:17.116 [debug] QUERY OK db=5.9ms commit [] 11:48:17.150 [debug] QUERY OK source="media_items" db=28.8ms idle=341.9ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [76953843, ~U[2026-03-28 00:48:17Z], 3465] 11:48:17.150 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:48:17.153 [info] {"args":{"id":3465},"id":595,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":158845459,"event":"job:stop","queue_time":74305294760,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:48:17.177 [info] {"args":{"id":3468},"id":596,"meta":{},"system_time":1774658897177356322,"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"]} 11:48:17.189 [debug] QUERY OK source="media_items" db=11.7ms idle=398.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" = ?) [3468] 11:48:17.190 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:48:17.222 [debug] QUERY OK source="sources" db=31.1ms idle=74.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" = ?) [4] 11:48:17.224 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=73.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] 11:48:17.226 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=72.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 [3468] 11:48:17.229 [debug] QUERY OK source="media_metadata" db=0.2ms idle=51.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" = ?) [3468] 11:48:17.229 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=39.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] 11:48:17.231 [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 [] 11:48:17.231 [debug] QUERY OK source="settings" db=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 [] 11:48:17.232 [debug] Running yt-dlp command for action: get_downloadable_status 11:48:17.234 [debug] QUERY OK source="settings" db=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 [] 11:48:17.235 [debug] QUERY OK source="settings" db=0.4ms queue=0.5ms 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 [] 11:48:17.236 [debug] QUERY OK source="settings" db=0.3ms idle=6.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 [] 11:48:17.236 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2w3Qe4OjbKM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9e/23/9e23e57bec542eec53dcbb0696b35e99733dc4e68de2431c782d481cf6aa4770.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:48:23.749 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2w3Qe4OjbKM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9e/23/9e23e57bec542eec53dcbb0696b35e99733dc4e68de2431c782d481cf6aa4770.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:48:23.750 [debug] Running yt-dlp command for action: download 11:48:23.752 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=971.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 [] 11:48:23.752 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=972.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 [] 11:48:23.753 [debug] QUERY OK source="settings" db=0.2ms idle=973.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 [] 11:48:23.754 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2w3Qe4OjbKM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/38/a3/38a3e9b195726c7247a5b6c62d6aaf751172eaf544c8359f2ee1c930b8ddea47.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:48:24.701 [info] GET / 11:48:24.701 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:48:24.702 [debug] QUERY OK source="settings" db=0.4ms idle=1247.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 [] 11:48:24.702 [debug] QUERY OK source="media_profiles" db=0.2ms idle=950.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:48:24.702 [debug] QUERY OK source="sources" db=0.1ms idle=949.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:48:24.728 [debug] QUERY OK source="media_items" db=25.5ms idle=949.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:48:24.732 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=272.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:48:24.733 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=30.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 [] 11:48:24.734 [debug] QUERY OK source="settings" db=0.3ms idle=31.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 [] 11:48:24.735 [debug] QUERY OK source="settings" db=0.6ms idle=32.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 [] 11:48:24.740 [debug] QUERY OK source="media_items" db=3.1ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 11:48:24.741 [debug] QUERY OK source="media_items" db=0.6ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:48:24.742 [debug] QUERY OK source="sources" db=0.3ms idle=9.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" IN (?,?)) [6, 2] 11:48:24.806 [debug] QUERY OK source="media_items" db=60.8ms idle=11.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 (((((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"))) [] 11:48:24.871 [debug] QUERY OK source="media_items" db=65.0ms queue=0.1ms idle=70.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:48:24.872 [debug] QUERY OK source="sources" db=0.6ms idle=131.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] 11:48:24.876 [debug] QUERY OK source="tasks" db=1.0ms idle=133.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:48:24.877 [debug] QUERY OK source="media_items" db=0.7ms idle=133.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3463, 3468] 11:48:24.878 [info] Sent 200 in 177ms 11:48:33.573 [info] {"source":"oban","duration":5226,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:00.783 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:49:03.578 [info] {"source":"oban","duration":3909,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:09.515 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DM0bn9O2FW4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/93/93/93931759a907e23f016fd463b1f1fe069a15de800bfc6e5d07409d47306af29a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 11:49:09.635 [debug] Running yt-dlp command for action: download_thumbnail 11:49:09.637 [debug] QUERY OK source="settings" db=0.7ms idle=1027.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 [] 11:49:09.638 [debug] QUERY OK source="settings" db=0.6ms idle=858.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 [] 11:49:09.639 [debug] QUERY OK source="settings" db=0.2ms idle=859.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 [] 11:49:09.639 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DM0bn9O2FW4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3463/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/83/92/8392af920a558931b094ff17d5371263a33dd6c02d46bdd6579e45a0decbe46b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:49:18.165 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DM0bn9O2FW4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3463/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/83/92/8392af920a558931b094ff17d5371263a33dd6c02d46bdd6579e45a0decbe46b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:49:18.166 [debug] QUERY OK db=0.2ms idle=1387.0ms begin [] 11:49:18.171 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 00:49:09Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e092299 - Homemade Midori (But Much Better!).mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e092299 - Homemade Midori (But Much Better!).info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e092299 - Homemade Midori (But Much Better!).nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e092299 - Homemade Midori (But Much Better!).mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e092299 - Homemade Midori (But Much Better!).en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e092299 - Homemade Midori (But Much Better!)-thumb.jpg", ~U[2026-03-28 00:49:18Z], 3463] 11:49:18.175 [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/3463/metadata.json.gz", "/config/metadata/media_items/3463/thumbnail.jpg", 3463, ~U[2026-03-28 00:49:18Z], ~U[2026-03-28 00:49:18Z]] 11:49:18.180 [debug] QUERY OK db=4.4ms commit [] 11:49:18.211 [debug] QUERY OK source="media_items" db=25.5ms queue=0.1ms idle=1406.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [93995634, ~U[2026-03-28 00:49:18Z], 3463] 11:49:18.212 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:49:18.214 [info] {"args":{"id":3463},"id":593,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":253430968,"event":"job:stop","queue_time":74275774863,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:49:18.223 [info] {"args":{"id":3471},"id":597,"meta":{},"system_time":1774658958223293419,"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"]} 11:49:18.235 [debug] QUERY OK source="media_items" db=11.7ms queue=0.1ms idle=582.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" = ?) [3471] 11:49:18.236 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:49:18.246 [debug] QUERY OK source="sources" db=8.8ms queue=0.1ms idle=57.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" = ?) [4] 11:49:18.247 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=35.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] 11:49:18.248 [debug] QUERY OK source="media_items" db=0.4ms idle=33.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 [3471] 11:49:18.250 [debug] QUERY OK source="media_metadata" db=0.1ms idle=26.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" = ?) [3471] 11:49:18.250 [debug] QUERY OK source="media_profiles" db=0.3ms idle=14.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] 11:49:18.252 [debug] QUERY OK source="settings" db=0.4ms 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 [] 11:49:18.252 [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 [] 11:49:18.253 [debug] Running yt-dlp command for action: get_downloadable_status 11:49:18.254 [debug] QUERY OK source="settings" db=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 [] 11:49:18.255 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms 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 [] 11:49:18.255 [debug] QUERY OK source="settings" db=0.2ms queue=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 [] 11:49:18.256 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=j7rbu1g7ENE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/93/f2/93f2c9e181f4fe1ce911df163d3cf5e4f73956e9d7d74c18491f35ce3dfd5ea2.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:49:25.103 [info] GET / 11:49:25.103 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:49:25.104 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1325.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 [] 11:49:25.105 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1326.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:49:25.106 [debug] QUERY OK source="sources" db=0.2ms idle=1326.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:49:25.151 [debug] QUERY OK source="media_items" db=45.0ms idle=1327.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:49:25.155 [debug] QUERY OK source="media_items" db=3.1ms idle=485.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:49:25.155 [debug] QUERY OK source="settings" db=0.2ms idle=50.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 [] 11:49:25.156 [debug] QUERY OK source="settings" db=0.4ms idle=50.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 [] 11:49:25.157 [debug] QUERY OK source="settings" db=0.4ms idle=51.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 [] 11:49:25.166 [debug] QUERY OK source="media_items" db=7.9ms idle=7.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 (NOT (m0."media_filepath" IS NULL)) [] 11:49:25.168 [debug] QUERY OK source="media_items" db=1.5ms idle=11.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:49:25.169 [debug] QUERY OK source="sources" db=0.7ms idle=13.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" IN (?,?)) [6, 2] 11:49:25.252 [debug] QUERY OK source="media_items" db=79.7ms idle=15.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 (((((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"))) [] 11:49:25.322 [debug] QUERY OK source="media_items" db=69.8ms queue=0.1ms idle=94.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:49:25.323 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=156.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] 11:49:25.330 [debug] QUERY OK source="tasks" db=0.5ms idle=161.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:49:25.332 [debug] QUERY OK source="media_items" db=0.6ms idle=161.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3468, 3471] 11:49:25.336 [info] Sent 200 in 232ms 11:49:26.351 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=j7rbu1g7ENE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/93/f2/93f2c9e181f4fe1ce911df163d3cf5e4f73956e9d7d74c18491f35ce3dfd5ea2.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:49:26.352 [debug] Running yt-dlp command for action: download 11:49:26.352 [debug] QUERY OK source="settings" db=0.2ms idle=1029.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 [] 11:49:26.352 [debug] QUERY OK source="settings" db=0.1ms idle=1028.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 [] 11:49:26.353 [debug] QUERY OK source="settings" db=0.3ms idle=1022.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 [] 11:49:26.354 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=j7rbu1g7ENE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1d/95/1d95afdf08ebbb3b970627268a163af459d7f624f52c7ce2b2618e8c1360e4ac.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:49:33.582 [info] {"source":"oban","duration":2202,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:46.754 [info] {"args":{"id":3},"id":1636,"meta":{},"system_time":1774658986754060662,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:49:46.766 [debug] QUERY OK source="sources" db=11.3ms queue=0.1ms idle=1023.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" = ?) [3] 11:49:46.768 [debug] QUERY OK source="settings" db=1.0ms queue=0.2ms idle=987.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 [] 11:49:46.769 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=989.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] 11:49:46.778 [debug] QUERY OK source="settings" db=8.7ms 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 [] 11:49:46.778 [debug] Fetching recent media IDs from YouTube API for playlist: UUwnKziETDbHJtx78nIkfYug 11:49:46.779 [debug] QUERY OK source="settings" db=0.3ms idle=25.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 [] 11:49:46.780 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:49:47.533 [debug] QUERY OK source="media_items" db=2.4ms idle=764.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "QtpFa0LdXEY", "8Rv4wwcQ89Y", "2cRKv1oqyX8", "mQfQwLW6CNw", "y0TZuhNixNk", "GZ7wE3XOwFU", "-aRdX-kZ9g4", "99bldMr1byI", "EzCiEv1IqiA", "mC5NdpSMDks", "ccV3u3D9ONE", "cVCDjEfPzII", "n0X2rqzKTgM", "dcuCvRNqmpY", "GG1qX8jHKGo", "k9wkleHFvo0", "CWoYVlMuUNQ", "xlfeieH4z38", "eZM2Ik-FHEU", "CtcTG8-qzbA", "6Mmj7mf1qlg", "InwVO9qBjqs", "1Hp-W2bpPrw", "VtE5sTpkn7k", "8dOJypt2F70", "Evm4t4prtWo", "taLzgvbrnv0", "rgCrnyf5JEI", "PHhc-48JT3U", "vFKjpNNjNGw", "VJQlOI70ubw", "E5cfNq0DO90", "DNBGSsZatbY", "pna1NyaHTls", "CUHao-vA98g", "cPN9BJe_RQw", "rCBt4XgCX-0", "f4g6KKGMmEI", "P_I5Jsc3xRw", "fPaU2l7RktM", "0PVwt01b6fs", "0qMDM4Y4Hwo", "Ld285PDsHvs", "p1mQC71wplA", "9k5JhKK6WlA", "WPxrifmtlQI", "nVNBmK7a1y8", "QDnMYztaxfI", "gxsaWhXG1Gg", ...] 11:49:47.539 [debug] QUERY OK source="media_items" db=3.9ms idle=767.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 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] 11:49:47.543 [debug] QUERY OK source="tasks" db=0.5ms idle=762.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1642, 3, ~U[2026-03-28 00:49:47Z], ~U[2026-03-28 00:49:47Z]] 11:49:47.544 [info] {"args":{"id":3},"id":1636,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":789551,"event":"job:stop","queue_time":507609,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:50:00.785 [info] {"source":"oban","duration":536,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:50:03.586 [info] {"source":"oban","duration":3676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:24.880 [info] {"args":{"id":2},"id":1637,"meta":{},"system_time":1774659024880214180,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:50:24.881 [debug] QUERY OK source="sources" db=0.9ms idle=101.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] 11:50:24.882 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=102.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 [] 11:50:24.884 [debug] QUERY OK source="media_profiles" db=0.6ms idle=104.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] 11:50:24.884 [debug] QUERY OK source="settings" db=0.5ms idle=10.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 [] 11:50:24.884 [debug] Fetching recent media IDs from YouTube API for playlist: UUjzi56cxvmEDwjo1Bd2Yxpg 11:50:24.885 [debug] QUERY OK source="settings" db=0.4ms 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 [] 11:50:24.885 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:50:25.604 [info] GET / 11:50:25.605 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:50:25.606 [debug] QUERY OK source="settings" db=0.6ms idle=723.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 [] 11:50:25.606 [debug] QUERY OK source="media_profiles" db=0.3ms idle=723.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:50:25.607 [debug] QUERY OK source="sources" db=0.1ms idle=723.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:50:25.652 [debug] QUERY OK source="media_items" db=44.1ms idle=722.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:50:25.655 [debug] QUERY OK source="media_items" db=3.3ms queue=0.1ms idle=766.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:50:25.656 [debug] QUERY OK source="settings" db=0.3ms idle=49.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 [] 11:50:25.656 [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 [] 11:50:25.657 [debug] QUERY OK source="settings" db=0.2ms idle=49.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 [] 11:50:25.661 [debug] QUERY OK source="media_items" db=3.2ms idle=6.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 (NOT (m0."media_filepath" IS NULL)) [] 11:50:25.662 [debug] QUERY OK source="media_items" db=0.5ms idle=6.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:50:25.663 [debug] QUERY OK source="sources" db=0.3ms idle=6.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" IN (?,?)) [6, 2] 11:50:25.720 [debug] QUERY OK source="media_items" db=54.5ms idle=9.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 (((((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"))) [] 11:50:25.786 [debug] QUERY OK source="media_items" db=65.1ms idle=63.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:50:25.787 [debug] QUERY OK source="sources" db=0.3ms idle=125.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" = ?) [6] 11:50:25.793 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=129.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:50:25.795 [debug] QUERY OK source="sources" db=0.4ms idle=73.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" = ?) [2] 11:50:25.795 [debug] QUERY OK source="media_items" db=0.6ms idle=130.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3468, 3471] 11:50:25.798 [info] Sent 200 in 193ms 11:50:26.803 [debug] QUERY OK source="media_items" db=2.8ms idle=1012.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "Hw2_s31u_4Q", "b4x9IzQtiA0", "16aM5Bop7Qw", "3hBk9xqT9hs", "xDa45wnAzc8", "Yq41acIvzj8", "Ttn_Q1B2ALc", "-bV0F6OP31U", "qAstyiKRt10", "NF2StvrYme0", "_Q-2UzYr3AA", "FeEEy3jZvlM", "EHaNwda0xto", "KL0u63mAy5M", "fzklfnO42ts", "oZ4kddHCFVY", "spSOp5s_6_A", "C48yl9fSYv8", "654RgtNwXZ8", "4wu_B_XF6wk", "wFLJxWyDJPs", "J5NKnYfn6qw", "fcVRuF6c-bc", "xNAFpSnpqjs", "cavmWZnCeJI", "_J0gQ5GdUSk", "_oISg668F40", "v34wa9QhF0s", "iEen_cClzkg", "CD9wUM2v-0U", "E8k9oqjl5_E", "lQDUMfg_SJc", "pPMD0YPBHQ4", "qq1IN4umTI8", "L63goFhe8KM", "5OXvwQ3CB1I", "doZvHBPoVCw", "9SXMTDO4lIo", "8JmSUN8jp3Q", "7oSgaaUEjZM", "sKSPwnFSRCw", "gdY_Q9ltw8w", "uHbviTslBFY", "gMzXgYFT4Ck", "NdsMuD-_5To", "9JXltNRqLu4", "7ThBvLBMacw", "7BTWa3jFBMw", "U2LsOO1upXY", ...] 11:50:26.911 [debug] QUERY OK source="media_items" db=106.8ms idle=1011.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 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] 11:50:26.924 [debug] QUERY OK source="tasks" db=6.8ms idle=31.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1643, 2, ~U[2026-03-28 00:50:26Z], ~U[2026-03-28 00:50:26Z]] 11:50:26.931 [info] {"args":{"id":2},"id":1637,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":2044209,"event":"job:stop","queue_time":636883,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:50:33.590 [info] {"source":"oban","duration":2657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:53.002 [info] {"args":{"id":4},"id":1638,"meta":{},"system_time":1774659053001636074,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:50:53.003 [debug] QUERY OK source="sources" db=0.4ms idle=223.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" = ?) [4] 11:50:53.010 [debug] QUERY OK source="settings" db=6.7ms queue=0.1ms idle=224.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 [] 11:50:53.013 [debug] QUERY OK source="media_profiles" db=1.5ms queue=0.1ms idle=232.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] 11:50:53.015 [debug] QUERY OK source="settings" db=1.2ms queue=0.2ms idle=19.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 [] 11:50:53.015 [debug] Fetching recent media IDs from YouTube API for playlist: UUEiui9T4ZYx8K8nuZ5YFSTw 11:50:53.017 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=15.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 [] 11:50:53.017 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:50:53.507 [debug] QUERY OK source="media_items" db=4.0ms idle=500.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [4, "gthI7e6zPWo", "psRX1C7auj8", "2ZtSRjGhStw", "Z8KiNkDP9c4", "AZibPvCnG4k", "QXNPI7Ucivo", "WtxCD4567G4", "80bkfWoOHaE", "pYBAEGrhggM", "9M3wLySdGXY", "mcvbD_Ipbf8", "E_Y7kLO3Iaw", "gPdh5lVJYD0", "qrkTK1UcvSM", "45UcuOLjxeY", "gnbhO9hJ198", "fiFzXo1wNno", "TM5mKkwC0Ok", "kS2A72peqmg", "ueDcEpRFW_M", "AN4-pHYBK2M", "TMNa6ocIv8o", "S1Vt1tQJczE", "_BEmUjtwhLw", "1bxoWiQ2AQY", "CZeRfNeKEBE", "2nftRe3tjLQ", "v1biAguVbg8", "cLDsQImoeHQ", "hhH7mchDBXY", "uQj2W5ej104", "vYRV_nprXBA", "1v_qsQL3mo8", "hfHxFTbVaTo", "mfWqziOaR4A", "AmCWMmKgHkI", "ZWgq-s8r2FE", "1dAkTDsD1c4", "ozdDp_eMPZY", "iHogtXxywLQ", "7ysd04ltGag", "5jq8kH9s0V8", "AB6bC9gtfoc", "R7Tm3zvyy9U", "dUHzocz0hLo", "9Oh6oVrf7kM", "LzUhByZ4jtc", "j7evpR_Fbsw", "_iGhJt3ah8E", ...] 11:50:53.520 [debug] QUERY OK source="media_items" db=10.8ms idle=498.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 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] 11:50:53.875 [debug] QUERY OK source="tasks" db=0.3ms idle=8.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1644, 4, ~U[2026-03-28 00:50:53Z], ~U[2026-03-28 00:50:53Z]] 11:50:53.876 [info] {"args":{"id":4},"id":1638,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":874376,"event":"job:stop","queue_time":406481,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:51:00.787 [info] {"source":"oban","duration":338,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:51:03.593 [info] {"source":"oban","duration":1298,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:24.663 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2w3Qe4OjbKM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/38/a3/38a3e9b195726c7247a5b6c62d6aaf751172eaf544c8359f2ee1c930b8ddea47.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 11:51:24.771 [debug] Running yt-dlp command for action: download_thumbnail 11:51:24.773 [debug] QUERY OK source="settings" db=0.5ms 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 [] 11:51:24.774 [debug] QUERY OK source="settings" db=0.3ms idle=1994.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 [] 11:51:24.774 [debug] QUERY OK source="settings" db=0.3ms idle=1681.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 [] 11:51:24.775 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2w3Qe4OjbKM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3468/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/4c/01/4c010bc4fee825f3afeb97887c08566948308170b344d71a55dd8c44ec987018.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:51:26.031 [info] GET / 11:51:26.032 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:51:26.033 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=932.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 [] 11:51:26.035 [debug] QUERY OK source="media_profiles" db=0.6ms idle=255.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:51:26.035 [debug] QUERY OK source="sources" db=0.3ms idle=256.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:51:26.091 [debug] QUERY OK source="media_items" db=55.7ms idle=256.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:51:26.095 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=312.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:51:26.096 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=62.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 [] 11:51:26.096 [debug] QUERY OK source="settings" db=0.4ms idle=61.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 [] 11:51:26.098 [debug] QUERY OK source="settings" db=0.4ms idle=61.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 [] 11:51:26.104 [debug] QUERY OK source="media_items" db=3.8ms queue=0.2ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 11:51:26.106 [debug] QUERY OK source="media_items" db=0.6ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:51:26.106 [debug] QUERY OK source="sources" db=0.3ms idle=9.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" IN (?,?)) [6, 2] 11:51:26.168 [debug] QUERY OK source="media_items" db=57.0ms idle=13.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 (((((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"))) [] 11:51:26.273 [debug] QUERY OK source="media_items" db=104.5ms idle=64.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:51:26.274 [debug] QUERY OK source="sources" db=0.4ms idle=169.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] 11:51:26.280 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=173.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:51:26.281 [debug] QUERY OK source="media_items" db=0.3ms idle=174.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3468, 3471] 11:51:26.284 [info] Sent 200 in 253ms 11:51:32.001 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2w3Qe4OjbKM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3468/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/4c/01/4c010bc4fee825f3afeb97887c08566948308170b344d71a55dd8c44ec987018.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:51:32.003 [debug] QUERY OK db=0.0ms idle=882.8ms begin [] 11:51:32.005 [debug] QUERY OK source="media_items" db=2.2ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 00:51:24Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e090899 - How to Make Your Pineapple Taste Better? + Pineapple Cocktails!.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e090899 - How to Make Your Pineapple Taste Better? + Pineapple Cocktails!.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e090899 - How to Make Your Pineapple Taste Better? + Pineapple Cocktails!.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e090899 - How to Make Your Pineapple Taste Better? + Pineapple Cocktails!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e090899 - How to Make Your Pineapple Taste Better? + Pineapple Cocktails!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e090899 - How to Make Your Pineapple Taste Better? + Pineapple Cocktails!-thumb.jpg", ~U[2026-03-28 00:51:32Z], 3468] 11:51:32.012 [debug] QUERY OK source="media_metadata" db=6.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/3468/metadata.json.gz", "/config/metadata/media_items/3468/thumbnail.jpg", 3468, ~U[2026-03-28 00:51:32Z], ~U[2026-03-28 00:51:32Z]] 11:51:32.014 [debug] QUERY OK db=1.7ms commit [] 11:51:32.046 [debug] QUERY OK source="media_items" db=3.2ms idle=264.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [99047148, ~U[2026-03-28 00:51:32Z], 3468] 11:51:32.047 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:51:32.067 [info] {"args":{"id":3468},"id":596,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":194869807,"event":"job:stop","queue_time":74459158821,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:51:32.076 [info] {"args":{"id":3474},"id":598,"meta":{},"system_time":1774659092075900036,"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"]} 11:51:32.093 [debug] QUERY OK source="media_items" db=16.7ms queue=0.1ms idle=297.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" = ?) [3474] 11:51:32.094 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:51:32.107 [debug] QUERY OK source="sources" db=11.8ms queue=0.2ms idle=80.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" = ?) [4] 11:51:32.109 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.3ms idle=61.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] 11:51:32.111 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=43.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 [3474] 11:51:32.114 [debug] QUERY OK source="media_metadata" db=0.4ms idle=37.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" = ?) [3474] 11:51:32.115 [debug] QUERY OK source="media_profiles" db=0.6ms idle=21.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] 11:51:32.116 [debug] QUERY OK source="settings" db=0.4ms 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 [] 11:51:32.117 [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 [] 11:51:32.118 [debug] Running yt-dlp command for action: get_downloadable_status 11:51:32.120 [debug] QUERY OK source="settings" db=0.5ms 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 [] 11:51:32.120 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:51:32.121 [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 [] 11:51:32.121 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2XIQ2TZLk6U --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8e/d2/8ed23fb96169eff8da1953d3ed25f95302685c432c8b049fe20dc1bc4f8d507d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:51:33.597 [info] {"source":"oban","duration":3204,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:38.742 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2XIQ2TZLk6U --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8e/d2/8ed23fb96169eff8da1953d3ed25f95302685c432c8b049fe20dc1bc4f8d507d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:51:38.743 [debug] Running yt-dlp command for action: download 11:51:38.744 [debug] QUERY OK source="settings" db=0.6ms idle=1601.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 [] 11:51:38.745 [debug] QUERY OK source="settings" db=0.6ms idle=965.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 [] 11:51:38.746 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=966.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 [] 11:51:38.747 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2XIQ2TZLk6U --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a7/90/a790f5d27b5894e9d0200aa78e048a9acba30a6a4ca2cebf8cfaed2389517555.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:51:50.205 [info] {"args":{"id":5},"id":1639,"meta":{},"system_time":1774659110205312113,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:51:50.206 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=426.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] 11:51:50.207 [debug] QUERY OK source="settings" db=0.5ms idle=427.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 [] 11:51:50.208 [debug] QUERY OK source="media_profiles" db=0.3ms idle=428.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] 11:51:50.209 [debug] QUERY OK source="settings" db=0.5ms idle=12.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 [] 11:51:50.209 [debug] Fetching recent media IDs from YouTube API for playlist: UUVwfqPkv08OTuHzkPU3EaDw 11:51:50.210 [debug] QUERY OK source="settings" db=0.5ms 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 [] 11:51:50.210 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:51:50.698 [debug] QUERY OK source="media_items" db=4.2ms idle=486.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [5, "k8Yr1jU-0EE", "NFrnhg8hI0c", "20XMhcpSNV0", "YVGFnwJho6E", "xQXiSGDXknA", "uZl0TO8i96g", "Hs5ewNKWUwk", "E5suxhHY0aY", "sCou7ut2L-o", "a0INtLdzUiE", "n0x8sH0M9CE", "W4Af6DIMqnE", "Q-sUbLem5aI", "s-jMj11w68U", "DS9HZG5JRBc", "_wLy-vzLi3E", "iFpZfYwRcns", "nPovqKKSKcE", "j_w4tRYm7Og", "laZpTO7IFtA", "FM5e9Vb1noE", "cK6g53lLgnw", "1X5WYEhzGyI", "QVpu66njzdE", "tfnANe2YUwM", "0-QK6hxLxgM", "TYUeXqSlcDg", "0322Pk-GKto", "1Em1UrRSEXc", "x2RT9Awsyi8", "4Yth52yml8E", "ky9Zo2FmjQ8", "npU2QpX5piA", "XEb_1Sq8jNo", "L3QQDAKxUIk", "l3s8S6bBbOs", "WyWBU1NpDf8", "7wZ0NVuoDWg", "-Ig2-rBZtSI", "5BG06-J1t4Y", "GcQ6vQEeQew", "ap8S88LeiB0", "4LvXP3XR6gw", "I9o65_aIq0Q", "Ut9XjFkGK6s", "PcFkjR5NELA", "Yl67318oP-s", "umbar5BKBus", "FEfCtNhVjJ0", ...] 11:51:50.705 [debug] QUERY OK source="media_items" db=5.2ms idle=491.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 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")))) [5] 11:51:50.950 [debug] QUERY OK source="tasks" db=0.3ms idle=7.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1645, 5, ~U[2026-03-28 00:51:50Z], ~U[2026-03-28 00:51:50Z]] 11:51:50.951 [info] {"args":{"id":5},"id":1639,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":745039,"event":"job:stop","queue_time":516342,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:52:00.788 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:52:03.599 [info] {"source":"oban","duration":1676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:26.521 [info] GET / 11:52:26.522 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:52:26.523 [debug] QUERY OK source="settings" db=0.8ms idle=1742.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 [] 11:52:26.524 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1211.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:52:26.524 [debug] QUERY OK source="sources" db=0.1ms idle=744.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:52:26.588 [debug] QUERY OK source="media_items" db=63.5ms idle=744.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:52:26.591 [debug] QUERY OK source="media_items" db=3.1ms idle=271.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:52:26.592 [debug] QUERY OK source="settings" db=0.3ms idle=68.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 [] 11:52:26.592 [debug] QUERY OK source="settings" db=0.1ms idle=68.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 [] 11:52:26.595 [debug] QUERY OK source="settings" db=1.5ms idle=68.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 [] 11:52:26.604 [debug] QUERY OK source="media_items" db=8.7ms idle=7.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 (NOT (m0."media_filepath" IS NULL)) [] 11:52:26.607 [debug] QUERY OK source="media_items" db=2.7ms idle=13.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:52:26.609 [debug] QUERY OK source="sources" db=0.7ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [6, 2] 11:52:26.684 [debug] QUERY OK source="media_items" db=72.4ms idle=18.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 (((((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"))) [] 11:52:26.757 [debug] QUERY OK source="media_items" db=73.1ms idle=89.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:52:26.758 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=153.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" = ?) [6] 11:52:26.760 [debug] QUERY OK source="tasks" db=0.4ms idle=152.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:52:26.761 [debug] QUERY OK source="media_items" db=0.3ms idle=152.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3471, 3474] 11:52:26.763 [info] Sent 200 in 241ms 11:52:33.602 [info] {"source":"oban","duration":1934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:39.145 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=j7rbu1g7ENE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1d/95/1d95afdf08ebbb3b970627268a163af459d7f624f52c7ce2b2618e8c1360e4ac.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies ERROR: Did not get any data blocks 11:52:39.145 [error] yt-dlp download error for media item #3471: "WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies\n\n\nERROR: Did not get any data blocks\n" 11:52:39.149 [debug] QUERY OK source="media_items" db=2.9ms idle=1365.5ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies\n\n\nERROR: Did not get any data blocks\n", ~U[2026-03-28 00:52:39Z], 3471] 11:52:39.155 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3471},"id":597,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":200926157,"event":"job:exception","queue_time":74514219827,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:52:39.163 [info] {"args":{"id":3477},"id":599,"meta":{},"system_time":1774659159163256061,"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"]} 11:52:39.170 [debug] QUERY OK source="media_items" db=6.6ms idle=793.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" = ?) [3477] 11:52:39.171 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:52:39.175 [debug] QUERY OK source="sources" db=4.0ms idle=391.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" = ?) [4] 11:52:39.176 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=27.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] 11:52:39.177 [debug] QUERY OK source="media_items" db=0.4ms idle=21.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 [3477] 11:52:39.178 [debug] QUERY OK source="media_metadata" db=0.1ms idle=15.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" = ?) [3477] 11:52:39.179 [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] 11:52:39.179 [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 [] 11:52:39.179 [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 [] 11:52:39.180 [debug] Running yt-dlp command for action: get_downloadable_status 11:52:39.180 [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 [] 11:52:39.181 [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 [] 11:52:39.181 [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 [] 11:52:39.181 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=G7WYIfQHkj0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/82/dd/82dd5d1a0bc188a0ee6fbcee54ce162389fb371c6256e4955357ef5f17c8ae7c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:52:44.401 [info] {"args":{"id":1},"id":1640,"meta":{},"system_time":1774659164401379696,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:52:44.403 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=1621.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] 11:52:44.404 [debug] QUERY OK source="settings" db=0.6ms idle=1623.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 [] 11:52:44.405 [debug] QUERY OK source="media_profiles" db=0.8ms idle=1013.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] 11:52:44.407 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms 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 [] 11:52:44.407 [debug] Fetching recent media IDs from YouTube API for playlist: UUISrVZmDM4x-Rq9mmNUw7Zw 11:52:44.408 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=6.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 [] 11:52:44.408 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:52:44.945 [debug] QUERY OK source="media_items" db=2.3ms idle=538.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "Q0qmHym16H4", "WcWL0_PlcO8", "dQV1WkSly7k", "Xpohopi2_tA", "fsZdCn4jIUY", "hgk2jMPnG2w", "oDh4gg7xiUs", "3LfUmSMW_qc", "5gN9QvwPLq8", "uSBe19ms3aw", "Eq1BmJikpHA", "OsKelxcQUNo", "zNP6Q_Yk9hU", "ZPPCc15thCc", "UzARiS2CyJ4", "r8X8HVGVV1o", "_JI7oYBFZIo", "niCh-EI1Kfo", "92mSBlpBEJo", "_6OAB_8iwqs", "tJbcC43WELc", "cPz1rUCNI0o", "hFzt_dOdElw", "nC-QKeluT0c", "i8ARsrsVUMM", "X30l-491qck", "rzQeUM-lMUY", "BkUHm95UvCw", "MQ2cHq3-J7A", "CtF5dLHITYA", "SGJkxRdkRGg", "OUCt85aJaAA", "9gARPYZOka4", "-uH-Gi5tjEw", "qwUBBQKYX94", "s8VLDSQJ8nA", "EvPfr0lKkh4", "msXzAxF49gA", "hQCWaSvjkU0", "RcmjVsy3a-g", "xtuNc9vYJG4", "fj2tcg8OzsM", "2FZ4IfPACDM", "2Q9DzW20YJ8", "IVsWFGOE_mw", "vPxpMcv2Z4Y", "Zverj_ldlhY", "pQK8xasPd9Q", "_Yo7nh8u9pk", ...] 11:52:44.952 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=544.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 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] 11:52:45.041 [debug] QUERY OK source="tasks" db=0.8ms idle=23.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1646, 1, ~U[2026-03-28 00:52:45Z], ~U[2026-03-28 00:52:45Z]] 11:52:45.043 [info] {"args":{"id":1},"id":1640,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":640706,"event":"job:stop","queue_time":637280,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:52:45.753 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=G7WYIfQHkj0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/82/dd/82dd5d1a0bc188a0ee6fbcee54ce162389fb371c6256e4955357ef5f17c8ae7c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:52:45.753 [debug] Running yt-dlp command for action: download 11:52:45.755 [debug] QUERY OK source="settings" db=0.9ms idle=713.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 [] 11:52:45.756 [debug] QUERY OK source="settings" db=0.4ms idle=713.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 [] 11:52:45.756 [debug] QUERY OK source="settings" db=0.2ms idle=713.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 [] 11:52:45.756 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=G7WYIfQHkj0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9b/38/9b38954a9e2b2a44fecd47ca8e21dbae08688e129e2033a7c36e31d62e728631.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:52:48.011 [info] GET / 11:52:48.011 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:52:48.012 [debug] QUERY OK source="settings" db=0.4ms idle=1232.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 [] 11:52:48.013 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=1233.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:52:48.014 [debug] QUERY OK source="sources" db=0.3ms idle=1233.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:52:48.077 [debug] QUERY OK source="media_items" db=62.5ms idle=1234.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:52:48.080 [debug] QUERY OK source="media_items" db=3.0ms idle=669.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:52:48.081 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:52:48.082 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=68.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 [] 11:52:48.083 [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 [] 11:52:48.087 [debug] QUERY OK source="media_items" db=3.1ms idle=7.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 (NOT (m0."media_filepath" IS NULL)) [] 11:52:48.088 [debug] QUERY OK source="media_items" db=0.6ms idle=7.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:52:48.090 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=8.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" IN (?,?)) [6, 2] 11:52:48.151 [debug] QUERY OK source="media_items" db=55.1ms idle=13.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 (((((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"))) [] 11:52:48.227 [debug] QUERY OK source="media_items" db=75.2ms queue=0.2ms idle=69.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:52:48.230 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=141.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" = ?) [6] 11:52:48.236 [debug] QUERY OK source="tasks" db=0.4ms idle=146.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:52:48.237 [debug] QUERY OK source="media_items" db=0.5ms idle=146.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3474, 3477] 11:52:48.240 [info] Sent 200 in 229ms 11:53:00.790 [info] {"source":"oban","duration":926,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:53:03.606 [info] {"source":"oban","duration":2648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:05.316 [info] GET / 11:53:05.316 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:53:05.317 [debug] QUERY OK source="settings" db=0.2ms idle=1536.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 [] 11:53:05.317 [debug] QUERY OK source="media_profiles" db=0.1ms idle=814.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:53:05.317 [debug] QUERY OK source="sources" db=0.3ms idle=537.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:53:05.379 [debug] QUERY OK source="media_items" db=61.2ms idle=537.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:53:05.384 [debug] QUERY OK source="media_items" db=4.8ms idle=599.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:53:05.385 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=68.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 [] 11:53:05.386 [debug] QUERY OK source="settings" db=0.2ms idle=68.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 [] 11:53:05.387 [debug] QUERY OK source="settings" db=0.2ms idle=68.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 [] 11:53:05.393 [debug] QUERY OK source="media_items" db=5.3ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 11:53:05.395 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=9.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:53:05.397 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=11.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" IN (?,?)) [6, 2] 11:53:05.436 [info] GET / 11:53:05.436 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:53:05.438 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=50.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 [] 11:53:05.439 [debug] QUERY OK source="media_profiles" db=0.3ms idle=45.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:53:05.476 [debug] QUERY OK source="media_items" db=73.9ms queue=0.1ms idle=16.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 (((((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"))) [] 11:53:05.476 [debug] QUERY OK source="sources" db=36.8ms idle=44.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:53:05.500 [debug] QUERY OK source="media_items" db=23.1ms queue=0.1ms idle=79.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:53:05.502 [debug] QUERY OK source="media_items" db=1.9ms idle=61.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:53:05.504 [debug] QUERY OK source="settings" db=0.8ms queue=0.5ms idle=26.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 [] 11:53:05.507 [debug] QUERY OK source="settings" db=2.2ms queue=0.9ms 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 [] 11:53:05.515 [debug] QUERY OK source="settings" db=2.7ms 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 [] 11:53:05.542 [debug] QUERY OK source="media_items" db=25.1ms idle=12.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 (NOT (m0."media_filepath" IS NULL)) [] 11:53:05.558 [debug] QUERY OK source="media_items" db=15.9ms queue=0.1ms idle=34.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:53:05.566 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=55.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" IN (?,?)) [6, 2] 11:53:05.600 [debug] QUERY OK source="media_items" db=123.2ms idle=38.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:53:05.602 [debug] QUERY OK source="sources" db=0.9ms queue=0.4ms idle=58.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] 11:53:05.675 [debug] QUERY OK source="media_items" db=101.7ms idle=57.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 (((((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"))) [] 11:53:05.678 [debug] QUERY OK source="tasks" db=1.2ms queue=0.1ms idle=111.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:53:05.681 [debug] QUERY OK source="media_items" db=0.9ms queue=0.4ms idle=79.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3474, 3477] 11:53:05.685 [info] Sent 200 in 368ms 11:53:05.691 [debug] QUERY OK source="media_items" db=15.9ms idle=117.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:53:05.692 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=90.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] 11:53:05.698 [debug] QUERY OK source="tasks" db=0.5ms idle=22.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:53:05.699 [debug] QUERY OK source="media_items" db=0.5ms idle=20.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3474, 3477] 11:53:05.702 [info] Sent 200 in 266ms 11:53:07.077 [info] CONNECTED TO Phoenix.LiveView.Socket in 99µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Pyg8Cwx3Umx6EAs_fQcLIBU9Qh8IYA4CGNVHu-jY6a2N9F2ToHrfzMmf", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.f2fv7u.uncld.dev/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "https://pinchflat.f2fv7u.uncld.dev/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:53:07.280 [info] CONNECTED TO Phoenix.LiveView.Socket in 107µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "AFYgMWEmODVBCzYHPTYIMDdKL3w-WW8Xy8Zi3MBdvicuMBRHYrhJroVm", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.f2fv7u.uncld.dev/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "https://pinchflat.f2fv7u.uncld.dev/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 11:53:07.476 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ynzXRkzQ7bUrptZxn8G6L69z", "media_state" => "downloaded"} 11:53:07.484 [debug] QUERY OK source="media_items" db=6.8ms queue=0.1ms idle=965.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 (NOT (m0."media_filepath" IS NULL)) [] 11:53:07.485 [debug] QUERY OK source="media_items" db=0.8ms idle=704.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:53:07.487 [debug] QUERY OK source="sources" db=1.0ms idle=705.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" IN (?,?)) [6, 2] 11:53:07.487 [debug] Replied in 11ms 11:53:07.491 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ynzXRkzQ7bUrptZxn8G6L69z", "media_state" => "pending"} 11:53:07.516 [debug] QUERY OK source="media_items" db=24.7ms idle=711.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 (((((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"))) [] 11:53:07.537 [debug] QUERY OK source="media_items" db=19.9ms queue=0.1ms idle=33.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:53:07.538 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=52.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] 11:53:07.538 [debug] Replied in 47ms 11:53:07.545 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ynzXRkzQ7bUrptZxn8G6L69z"} 11:53:07.547 [debug] QUERY OK source="tasks" db=1.0ms queue=0.1ms idle=59.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:53:07.550 [debug] QUERY OK source="media_items" db=1.1ms queue=0.2ms idle=32.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3474, 3477] 11:53:07.551 [debug] Replied in 6ms 11:53:16.203 [info] GET /sources/6/media/7358/edit 11:53:16.203 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "7358", "source_id" => "6"} Pipelines: [:browser] 11:53:16.205 [debug] QUERY OK source="media_items" db=1.0ms idle=1424.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" = ?) [7358] 11:53:16.206 [debug] QUERY OK source="settings" db=0.3ms idle=1426.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 [] 11:53:16.207 [debug] QUERY OK source="settings" db=0.2ms idle=1426.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 [] 11:53:16.208 [debug] QUERY OK source="settings" db=0.2ms idle=1427.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 [] 11:53:16.209 [info] Sent 200 in 6ms 11:53:25.603 [info] {"args":{"id":6},"id":1641,"meta":{},"system_time":1774659205602870401,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:53:25.617 [debug] QUERY OK source="sources" db=13.2ms idle=1823.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" = ?) [6] 11:53:25.619 [debug] QUERY OK source="settings" db=1.2ms queue=0.2ms idle=1838.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 [] 11:53:25.641 [debug] QUERY OK source="media_profiles" db=20.4ms queue=0.1ms idle=1041.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] 11:53:25.663 [debug] QUERY OK source="settings" db=20.4ms queue=0.3ms idle=58.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 [] 11:53:25.663 [debug] Fetching recent media IDs from YouTube API for playlist: UUOzMAa6IhV6uwYQATYG_2kg 11:53:25.664 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=61.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 [] 11:53:25.664 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:53:27.031 [info] GET / 11:53:27.031 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:53:27.033 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=443.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 [] 11:53:27.034 [debug] QUERY OK source="media_profiles" db=0.3ms idle=253.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:53:27.034 [debug] QUERY OK source="sources" db=0.2ms idle=254.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:53:27.076 [debug] QUERY OK source="media_items" db=41.6ms idle=254.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:53:27.082 [debug] QUERY OK source="media_items" db=4.7ms idle=296.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:53:27.083 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=49.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 [] 11:53:27.084 [debug] QUERY OK source="settings" db=0.2ms queue=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 [] 11:53:27.086 [debug] QUERY OK source="settings" db=0.2ms idle=50.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 [] 11:53:27.093 [debug] QUERY OK source="media_items" db=5.0ms idle=11.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 (NOT (m0."media_filepath" IS NULL)) [] 11:53:27.094 [debug] QUERY OK source="media_items" db=0.7ms idle=11.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:53:27.096 [debug] QUERY OK source="sources" db=0.6ms idle=11.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" IN (?,?)) [6, 2] 11:53:27.157 [debug] QUERY OK source="media_items" db=55.2ms idle=17.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 (((((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"))) [] 11:53:27.203 [debug] QUERY OK source="media_items" db=45.5ms queue=0.1ms idle=72.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:53:27.205 [debug] QUERY OK source="sources" db=0.4ms idle=111.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] 11:53:27.208 [debug] QUERY OK source="media_items" db=1.4ms idle=112.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6, "dnia-38h1GA", "iZaN9NRWc28", "CJrLdBStrzc", "u-eoT-Foth8", "XHineC0YKjs", "VdlejwGkNoI", "ikIigkz2pMg", "qUdPPQ9-9Tg", "k9fuSOPjSXM", "hb-oXWK9r7k", "hDfrtCQmNOo", "zRIUM4OhyWU", "W7c0iVM4P2I", "KCFDp_kxT_4", "aZhuGRngq-g", "BgWbezF2M28", "ZJfHw71KKsk", "MisOg5bX0a4", "2UampQ_86ek", "7-iImzOel-s", "O8E47Ib_RoU", "RcVBMZd2_u8", "b-DHev8Uc6I", "0apH8xkS6PE", "I8m3hyPVsxA", "urqkKHRaT-8", "shyrhINSaPk", "Ze3bKcLbPWg", "ydk9KfgHUPo", "sFlgR1oiUXk", "jCieQsNXdBM", "Nz4uVkNMKdI", "tyX3PvjLSC8", "VeDDo4HhNVo", "2RmXPeBn3x0", "1sA4iEo0x1o", "KqAYebG_Bs0", "FelCut8wQ3o", "wY5Xb_t79SM", "-YqD-IWgaz8", "BdV0pSziReE", "u5VKDy7Dgj8", "hn89XxHJLQ0", "wE60s-NuU6c", "LBwtYK3W-vw", "FGpCwqNklsw", "79hW_qeneEY", "aNpJxLXZATY", "9JhGit6JRw0", ...] 11:53:27.209 [debug] QUERY OK source="settings" db=0.2ms idle=113.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 [] 11:53:27.209 [debug] QUERY OK source="settings" db=0.3ms idle=52.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 [] 11:53:27.210 [debug] Running yt-dlp command for action: get_media_attributes 11:53:27.210 [debug] QUERY OK source="tasks" db=0.8ms idle=5.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:53:27.212 [debug] QUERY OK source="sources" db=1.0ms idle=3.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] 11:53:27.212 [debug] QUERY OK source="settings" db=1.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 [] 11:53:27.212 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=5.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3474, 3477] 11:53:27.212 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:53:27.213 [debug] QUERY OK source="settings" db=0.1ms 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 [] 11:53:27.213 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/02/18/0218cf3886eaf20e9b4225140742ece99b61e42e649f7f34acc20d0b305b47de.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:53:27.214 [info] Sent 200 in 183ms 11:53:30.262 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/02/18/0218cf3886eaf20e9b4225140742ece99b61e42e649f7f34acc20d0b305b47de.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days. 11:53:30.262 [error] Error creating media item 'u-eoT-Foth8' from URL: {:error, "ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days.\n", 1} 11:53:30.271 [debug] QUERY OK source="media_items" db=8.1ms queue=0.1ms idle=1483.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 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] 11:53:30.493 [debug] QUERY OK source="tasks" db=6.6ms idle=11.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1647, 6, ~U[2026-03-28 00:53:30Z], ~U[2026-03-28 00:53:30Z]] 11:53:30.495 [info] {"args":{"id":6},"id":1641,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":4890967,"event":"job:stop","queue_time":617710,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:53:33.611 [info] {"source":"oban","duration":3945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:00.792 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:54:03.615 [info] {"source":"oban","duration":2667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:27.414 [info] GET / 11:54:27.414 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:54:27.415 [debug] QUERY OK source="settings" db=0.4ms idle=635.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 [] 11:54:27.418 [debug] QUERY OK source="media_profiles" db=2.4ms idle=636.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:54:27.421 [debug] QUERY OK source="sources" db=1.9ms queue=0.1ms idle=639.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:54:27.478 [debug] QUERY OK source="media_items" db=56.3ms queue=0.1ms idle=641.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:54:27.482 [debug] QUERY OK source="media_items" db=3.3ms queue=0.1ms idle=655.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:54:27.483 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=67.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 [] 11:54:27.484 [debug] QUERY OK source="settings" db=0.1ms idle=65.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 [] 11:54:27.484 [debug] QUERY OK source="settings" db=0.2ms idle=62.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 [] 11:54:27.489 [debug] QUERY OK source="media_items" db=3.2ms idle=7.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 (NOT (m0."media_filepath" IS NULL)) [] 11:54:27.490 [debug] QUERY OK source="media_items" db=1.0ms idle=6.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:54:27.491 [debug] QUERY OK source="sources" db=0.3ms idle=7.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" IN (?,?)) [6, 2] 11:54:27.550 [debug] QUERY OK source="media_items" db=55.9ms idle=9.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 (((((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"))) [] 11:54:27.628 [debug] QUERY OK source="media_items" db=77.6ms queue=0.1ms idle=65.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:54:27.628 [debug] QUERY OK source="sources" db=0.2ms idle=139.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] 11:54:27.631 [debug] QUERY OK source="tasks" db=0.5ms idle=140.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:54:27.633 [debug] QUERY OK source="media_items" db=0.8ms idle=140.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3474, 3477] 11:54:27.649 [info] Sent 200 in 235ms 11:54:33.618 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:37.535 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2XIQ2TZLk6U --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a7/90/a790f5d27b5894e9d0200aa78e048a9acba30a6a4ca2cebf8cfaed2389517555.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 11:54:37.615 [debug] Running yt-dlp command for action: download_thumbnail 11:54:37.618 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=837.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 [] 11:54:37.619 [debug] QUERY OK source="settings" db=0.6ms idle=838.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 [] 11:54:37.620 [debug] QUERY OK source="settings" db=0.3ms idle=839.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 [] 11:54:37.620 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2XIQ2TZLk6U --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3474/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/fd/aa/fdaa394872d250b16562822e63c9f4f3d6f0b8629e97de8604ed5cd7abe8c4e4.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:54:44.395 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2XIQ2TZLk6U --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3474/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/fd/aa/fdaa394872d250b16562822e63c9f4f3d6f0b8629e97de8604ed5cd7abe8c4e4.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:54:44.396 [debug] QUERY OK db=0.1ms idle=1616.0ms begin [] 11:54:44.400 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 00:54:37Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e081899 - Non-Alcoholic Manhattan with a DIY Vermouth!.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e081899 - Non-Alcoholic Manhattan with a DIY Vermouth!.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e081899 - Non-Alcoholic Manhattan with a DIY Vermouth!.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e081899 - Non-Alcoholic Manhattan with a DIY Vermouth!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e081899 - Non-Alcoholic Manhattan with a DIY Vermouth!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e081899 - Non-Alcoholic Manhattan with a DIY Vermouth!-thumb.jpg", ~U[2026-03-28 00:54:44Z], 3474] 11:54:44.404 [debug] QUERY OK source="media_metadata" db=3.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/3474/metadata.json.gz", "/config/metadata/media_items/3474/thumbnail.jpg", 3474, ~U[2026-03-28 00:54:44Z], ~U[2026-03-28 00:54:44Z]] 11:54:44.407 [debug] QUERY OK db=2.9ms commit [] 11:54:44.448 [debug] QUERY OK source="media_items" db=19.5ms idle=1648.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [90681906, ~U[2026-03-28 00:54:44Z], 3474] 11:54:44.449 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:54:44.450 [info] {"args":{"id":3474},"id":598,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":192373255,"event":"job:stop","queue_time":74643072765,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:54:44.466 [info] {"args":{"id":3480},"id":600,"meta":{},"system_time":1774659284465934040,"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"]} 11:54:44.467 [debug] QUERY OK source="media_items" db=1.2ms idle=583.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" = ?) [3480] 11:54:44.467 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:54:44.482 [debug] QUERY OK source="sources" db=13.8ms idle=60.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" = ?) [4] 11:54:44.483 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.1ms idle=33.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] 11:54:44.485 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=34.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 [3480] 11:54:44.488 [debug] QUERY OK source="media_metadata" db=0.3ms idle=21.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" = ?) [3480] 11:54:44.488 [debug] QUERY OK source="media_profiles" db=0.5ms idle=20.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] 11:54:44.489 [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 [] 11:54:44.490 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:54:44.490 [debug] Running yt-dlp command for action: get_downloadable_status 11:54:44.491 [debug] QUERY OK source="settings" db=0.1ms idle=5.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 [] 11:54:44.491 [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 [] 11:54:44.492 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:54:44.492 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=lkVjfFCaMIE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ae/e0/aee0b48511e6aa283ff4258c81d58947504b74f7737de7c36cb945eeb6318509.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:54:53.560 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=lkVjfFCaMIE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ae/e0/aee0b48511e6aa283ff4258c81d58947504b74f7737de7c36cb945eeb6318509.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:54:53.561 [debug] Running yt-dlp command for action: download 11:54:53.562 [debug] QUERY OK source="settings" db=0.2ms idle=1781.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 [] 11:54:53.562 [debug] QUERY OK source="settings" db=0.1ms idle=1782.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 [] 11:54:53.562 [debug] QUERY OK source="settings" db=0.1ms idle=1782.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 [] 11:54:53.562 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=lkVjfFCaMIE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e1/1c/e11c39391ab3ab39abe93c14c27dfc9c464d043d041e071a54cf7e168618e65f.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:55:00.794 [info] {"source":"oban","duration":501,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:55:03.623 [info] {"source":"oban","duration":3510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:27.840 [info] GET / 11:55:27.841 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:55:27.842 [debug] QUERY OK source="settings" db=0.7ms idle=1061.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 [] 11:55:27.843 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1062.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:55:27.843 [debug] QUERY OK source="sources" db=0.1ms idle=1063.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:55:27.904 [debug] QUERY OK source="media_items" db=61.2ms idle=1063.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:55:27.909 [debug] QUERY OK source="media_items" db=4.5ms queue=0.1ms idle=858.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:55:27.910 [debug] QUERY OK source="settings" db=0.2ms idle=67.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 [] 11:55:27.910 [debug] QUERY OK source="settings" db=0.1ms idle=67.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 [] 11:55:27.911 [debug] QUERY OK source="settings" db=0.1ms idle=67.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 [] 11:55:27.915 [debug] QUERY OK source="media_items" db=3.1ms idle=7.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 (NOT (m0."media_filepath" IS NULL)) [] 11:55:27.916 [debug] QUERY OK source="media_items" db=0.5ms idle=5.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:55:27.917 [debug] QUERY OK source="sources" db=0.6ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [6, 2] 11:55:27.974 [debug] QUERY OK source="media_items" db=54.5ms idle=9.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 (((((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"))) [] 11:55:28.045 [debug] QUERY OK source="media_items" db=70.6ms idle=63.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:55:28.046 [debug] QUERY OK source="sources" db=0.4ms idle=130.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" = ?) [6] 11:55:28.051 [debug] QUERY OK source="tasks" db=0.4ms idle=133.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:55:28.052 [debug] QUERY OK source="media_items" db=0.3ms idle=77.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3477, 3480] 11:55:28.055 [info] Sent 200 in 214ms 11:55:33.627 [info] {"source":"oban","duration":2625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:00.796 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:56:03.630 [info] {"source":"oban","duration":1928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:28.279 [info] GET / 11:56:28.279 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:56:28.280 [debug] QUERY OK source="settings" db=0.3ms idle=1499.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 [] 11:56:28.280 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1500.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:56:28.281 [debug] QUERY OK source="sources" db=0.2ms idle=1015.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:56:28.341 [debug] QUERY OK source="media_items" db=59.7ms queue=0.1ms idle=501.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:56:28.343 [debug] QUERY OK source="media_items" db=1.5ms idle=70.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:56:28.343 [debug] QUERY OK source="settings" db=0.2ms idle=63.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 [] 11:56:28.344 [debug] QUERY OK source="settings" db=0.1ms idle=63.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 [] 11:56:28.344 [debug] QUERY OK source="settings" db=0.1ms idle=63.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 [] 11:56:28.350 [debug] QUERY OK source="media_items" db=4.7ms idle=4.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 (NOT (m0."media_filepath" IS NULL)) [] 11:56:28.351 [debug] QUERY OK source="media_items" db=0.6ms idle=7.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:56:28.351 [debug] QUERY OK source="sources" db=0.3ms idle=7.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" IN (?,?)) [6, 2] 11:56:28.384 [debug] QUERY OK source="media_items" db=30.6ms idle=9.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 (((((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"))) [] 11:56:28.399 [debug] QUERY OK source="media_items" db=14.7ms idle=40.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:56:28.401 [debug] QUERY OK source="sources" db=0.3ms idle=50.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] 11:56:28.406 [debug] QUERY OK source="tasks" db=0.5ms idle=54.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:56:28.407 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=55.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3477, 3480] 11:56:28.411 [info] Sent 200 in 131ms 11:56:28.750 [info] GET /.well-known/acme-challenge/8kUvmjjwbxFUpX5sCeWoIFgC8RtxjEdgtbxz6Zjjnsk 11:56:28.751 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=365.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 [] 11:56:28.753 [debug] QUERY OK source="settings" db=0.4ms queue=0.4ms idle=352.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 [] 11:56:28.754 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:56:28.755 [error] #PID<0.27996.0> running PinchflatWeb.Endpoint (connection #PID<0.27994.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/8kUvmjjwbxFUpX5sCeWoIFgC8RtxjEdgtbxz6Zjjnsk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/8kUvmjjwbxFUpX5sCeWoIFgC8RtxjEdgtbxz6Zjjnsk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27994.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/8kUvmjjwbxFUpX5sCeWoIFgC8RtxjEdgtbxz6Zjjnsk", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 39654}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/8kUvmjjwbxFUpX5sCeWoIFgC8RtxjEdgtbxz6Zjjnsk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27996.0>, params: %{}, path_info: [".well-known", "acme-challenge", "8kUvmjjwbxFUpX5sCeWoIFgC8RtxjEdgtbxz6Zjjnsk"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/8kUvmjjwbxFUpX5sCeWoIFgC8RtxjEdgtbxz6Zjjnsk"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/8kUvmjjwbxFUpX5sCeWoIFgC8RtxjEdgtbxz6Zjjnsk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDbT7_AM9OXhYUABa4j"} ], 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.27994.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/8kUvmjjwbxFUpX5sCeWoIFgC8RtxjEdgtbxz6Zjjnsk", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 39654}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/8kUvmjjwbxFUpX5sCeWoIFgC8RtxjEdgtbxz6Zjjnsk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/8kUvmjjwbxFUpX5sCeWoIFgC8RtxjEdgtbxz6Zjjnsk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27994.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/8kUvmjjwbxFUpX5sCeWoIFgC8RtxjEdgtbxz6Zjjnsk", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 39654}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/8kUvmjjwbxFUpX5sCeWoIFgC8RtxjEdgtbxz6Zjjnsk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.27996.0>, params: %{}, path_info: [".well-known", "acme-challenge", "8kUvmjjwbxFUpX5sCeWoIFgC8RtxjEdgtbxz6Zjjnsk"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:56:33.636 [info] {"source":"oban","duration":4679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:36.420 [info] GET /.well-known/acme-challenge/aO_Tq0Tdb6KRJW2vkUVQ9Gc4qZOKSBZ54m5m01wcaE4 11:56:36.422 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=1127.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 [] 11:56:36.423 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=642.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 [] 11:56:36.424 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:56:36.425 [error] #PID<0.27998.0> running PinchflatWeb.Endpoint (connection #PID<0.27997.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/aO_Tq0Tdb6KRJW2vkUVQ9Gc4qZOKSBZ54m5m01wcaE4 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/aO_Tq0Tdb6KRJW2vkUVQ9Gc4qZOKSBZ54m5m01wcaE4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27997.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/aO_Tq0Tdb6KRJW2vkUVQ9Gc4qZOKSBZ54m5m01wcaE4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 50828}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/aO_Tq0Tdb6KRJW2vkUVQ9Gc4qZOKSBZ54m5m01wcaE4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27998.0>, params: %{}, path_info: [".well-known", "acme-challenge", "aO_Tq0Tdb6KRJW2vkUVQ9Gc4qZOKSBZ54m5m01wcaE4"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/aO_Tq0Tdb6KRJW2vkUVQ9Gc4qZOKSBZ54m5m01wcaE4"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/aO_Tq0Tdb6KRJW2vkUVQ9Gc4qZOKSBZ54m5m01wcaE4", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDbUYjtr2CCxJUAGGph"} ], 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.27997.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/aO_Tq0Tdb6KRJW2vkUVQ9Gc4qZOKSBZ54m5m01wcaE4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 50828}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/aO_Tq0Tdb6KRJW2vkUVQ9Gc4qZOKSBZ54m5m01wcaE4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/aO_Tq0Tdb6KRJW2vkUVQ9Gc4qZOKSBZ54m5m01wcaE4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27997.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/aO_Tq0Tdb6KRJW2vkUVQ9Gc4qZOKSBZ54m5m01wcaE4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 50828}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/aO_Tq0Tdb6KRJW2vkUVQ9Gc4qZOKSBZ54m5m01wcaE4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27998.0>, params: %{}, path_info: [".well-known", "acme-challenge", "aO_Tq0Tdb6KRJW2vkUVQ9Gc4qZOKSBZ54m5m01wcaE4"], 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://pinchfla (truncated) 11:56:38.273 [info] GET /.well-known/acme-challenge/1DHciuThuxtcsAq_dGGve83nxiRatTAcgF9T9WcFGEo 11:56:38.274 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=973.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 [] 11:56:38.275 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 11:56:38.275 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:56:38.276 [error] #PID<0.27999.0> running PinchflatWeb.Endpoint (connection #PID<0.27997.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/1DHciuThuxtcsAq_dGGve83nxiRatTAcgF9T9WcFGEo ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/1DHciuThuxtcsAq_dGGve83nxiRatTAcgF9T9WcFGEo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27997.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/1DHciuThuxtcsAq_dGGve83nxiRatTAcgF9T9WcFGEo", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 50828}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/1DHciuThuxtcsAq_dGGve83nxiRatTAcgF9T9WcFGEo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27999.0>, params: %{}, path_info: [".well-known", "acme-challenge", "1DHciuThuxtcsAq_dGGve83nxiRatTAcgF9T9WcFGEo"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/1DHciuThuxtcsAq_dGGve83nxiRatTAcgF9T9WcFGEo"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/1DHciuThuxtcsAq_dGGve83nxiRatTAcgF9T9WcFGEo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDbUfdf1QNCDnkABa5D"} ], 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.27997.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/1DHciuThuxtcsAq_dGGve83nxiRatTAcgF9T9WcFGEo", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 50828}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/1DHciuThuxtcsAq_dGGve83nxiRatTAcgF9T9WcFGEo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/1DHciuThuxtcsAq_dGGve83nxiRatTAcgF9T9WcFGEo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.27997.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/1DHciuThuxtcsAq_dGGve83nxiRatTAcgF9T9WcFGEo", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 50828}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/1DHciuThuxtcsAq_dGGve83nxiRatTAcgF9T9WcFGEo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.27999.0>, params: %{}, path_info: [".well-known", "acme-challenge", "1DHciuThuxtcsAq_dGGve83nxiRatTAcgF9T9WcFGEo"], 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://pinchfla (truncated) 11:56:39.578 [info] GET /.well-known/acme-challenge/YjlaclRvASiAYEmHe_gEMx4wRxGnBY7I00FTcvWdN-o 11:56:39.580 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1799.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 [] 11:56:39.581 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1306.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 [] 11:56:39.581 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:56:39.583 [error] #PID<0.28001.0> running PinchflatWeb.Endpoint (connection #PID<0.28000.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/YjlaclRvASiAYEmHe_gEMx4wRxGnBY7I00FTcvWdN-o ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/YjlaclRvASiAYEmHe_gEMx4wRxGnBY7I00FTcvWdN-o (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.28000.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/YjlaclRvASiAYEmHe_gEMx4wRxGnBY7I00FTcvWdN-o", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50838}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/YjlaclRvASiAYEmHe_gEMx4wRxGnBY7I00FTcvWdN-o", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.28001.0>, params: %{}, path_info: [".well-known", "acme-challenge", "YjlaclRvASiAYEmHe_gEMx4wRxGnBY7I00FTcvWdN-o"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/YjlaclRvASiAYEmHe_gEMx4wRxGnBY7I00FTcvWdN-o"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/YjlaclRvASiAYEmHe_gEMx4wRxGnBY7I00FTcvWdN-o", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDbUkUtLZyzzMsAGGqB"} ], 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.28000.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/YjlaclRvASiAYEmHe_gEMx4wRxGnBY7I00FTcvWdN-o", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50838}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/YjlaclRvASiAYEmHe_gEMx4wRxGnBY7I00FTcvWdN-o", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/YjlaclRvASiAYEmHe_gEMx4wRxGnBY7I00FTcvWdN-o (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.28000.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/YjlaclRvASiAYEmHe_gEMx4wRxGnBY7I00FTcvWdN-o", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50838}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/YjlaclRvASiAYEmHe_gEMx4wRxGnBY7I00FTcvWdN-o", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.28001.0>, params: %{}, path_info: [".well-known", "acme-challenge", "YjlaclRvASiAYEmHe_gEMx4wRxGnBY7I00FTcvWdN-o"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:56:48.041 [info] GET /.well-known/acme-challenge/YCHUtHEOOUlzXj4fWDYAkPcOwNlJn9R-oU3zlU8evXI 11:56:48.042 [debug] QUERY OK source="settings" db=0.3ms idle=1262.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 [] 11:56:48.043 [debug] QUERY OK source="settings" db=0.1ms idle=1262.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 [] 11:56:48.043 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:56:48.043 [error] #PID<0.28003.0> running PinchflatWeb.Endpoint (connection #PID<0.28002.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/YCHUtHEOOUlzXj4fWDYAkPcOwNlJn9R-oU3zlU8evXI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/YCHUtHEOOUlzXj4fWDYAkPcOwNlJn9R-oU3zlU8evXI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.28002.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/YCHUtHEOOUlzXj4fWDYAkPcOwNlJn9R-oU3zlU8evXI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48614}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/YCHUtHEOOUlzXj4fWDYAkPcOwNlJn9R-oU3zlU8evXI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.28003.0>, params: %{}, path_info: [".well-known", "acme-challenge", "YCHUtHEOOUlzXj4fWDYAkPcOwNlJn9R-oU3zlU8evXI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/YCHUtHEOOUlzXj4fWDYAkPcOwNlJn9R-oU3zlU8evXI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/YCHUtHEOOUlzXj4fWDYAkPcOwNlJn9R-oU3zlU8evXI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDbVD2hBDi0K9MAGGqh"} ], 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.28002.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/YCHUtHEOOUlzXj4fWDYAkPcOwNlJn9R-oU3zlU8evXI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48614}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/YCHUtHEOOUlzXj4fWDYAkPcOwNlJn9R-oU3zlU8evXI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/YCHUtHEOOUlzXj4fWDYAkPcOwNlJn9R-oU3zlU8evXI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.28002.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/YCHUtHEOOUlzXj4fWDYAkPcOwNlJn9R-oU3zlU8evXI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48614}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/YCHUtHEOOUlzXj4fWDYAkPcOwNlJn9R-oU3zlU8evXI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.28003.0>, params: %{}, path_info: [".well-known", "acme-challenge", "YCHUtHEOOUlzXj4fWDYAkPcOwNlJn9R-oU3zlU8evXI"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:56:55.806 [info] GET /.well-known/acme-challenge/FYDYn-6s8OL5IddUdhrwgf5E1QraWrg5EI168c3PLuE 11:56:55.808 [debug] QUERY OK source="settings" db=1.0ms idle=445.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 [] 11:56:55.811 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=30.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 [] 11:56:55.811 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:56:55.812 [error] #PID<0.28007.0> running PinchflatWeb.Endpoint (connection #PID<0.28006.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/FYDYn-6s8OL5IddUdhrwgf5E1QraWrg5EI168c3PLuE ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/FYDYn-6s8OL5IddUdhrwgf5E1QraWrg5EI168c3PLuE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.28006.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/FYDYn-6s8OL5IddUdhrwgf5E1QraWrg5EI168c3PLuE", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57862}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/FYDYn-6s8OL5IddUdhrwgf5E1QraWrg5EI168c3PLuE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.28007.0>, params: %{}, path_info: [".well-known", "acme-challenge", "FYDYn-6s8OL5IddUdhrwgf5E1QraWrg5EI168c3PLuE"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/FYDYn-6s8OL5IddUdhrwgf5E1QraWrg5EI168c3PLuE"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/FYDYn-6s8OL5IddUdhrwgf5E1QraWrg5EI168c3PLuE", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDbVgx5rt81hKUAGGrh"} ], 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.28006.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/FYDYn-6s8OL5IddUdhrwgf5E1QraWrg5EI168c3PLuE", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57862}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/FYDYn-6s8OL5IddUdhrwgf5E1QraWrg5EI168c3PLuE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/FYDYn-6s8OL5IddUdhrwgf5E1QraWrg5EI168c3PLuE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.28006.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/FYDYn-6s8OL5IddUdhrwgf5E1QraWrg5EI168c3PLuE", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57862}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/FYDYn-6s8OL5IddUdhrwgf5E1QraWrg5EI168c3PLuE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.28007.0>, params: %{}, path_info: [".well-known", "acme-challenge", "FYDYn-6s8OL5IddUdhrwgf5E1QraWrg5EI168c3PLuE"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:56:55.891 [info] GET /.well-known/acme-challenge/AM_J7EsWsc4RE5zlPBgFI2NizIX-upkKFIEuA3CbOE8 11:56:55.892 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=112.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 [] 11:56:55.893 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=112.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 [] 11:56:55.893 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:56:55.894 [error] #PID<0.28008.0> running PinchflatWeb.Endpoint (connection #PID<0.28006.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/AM_J7EsWsc4RE5zlPBgFI2NizIX-upkKFIEuA3CbOE8 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/AM_J7EsWsc4RE5zlPBgFI2NizIX-upkKFIEuA3CbOE8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.28006.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/AM_J7EsWsc4RE5zlPBgFI2NizIX-upkKFIEuA3CbOE8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57862}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/AM_J7EsWsc4RE5zlPBgFI2NizIX-upkKFIEuA3CbOE8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.28008.0>, params: %{}, path_info: [".well-known", "acme-challenge", "AM_J7EsWsc4RE5zlPBgFI2NizIX-upkKFIEuA3CbOE8"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/AM_J7EsWsc4RE5zlPBgFI2NizIX-upkKFIEuA3CbOE8"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/AM_J7EsWsc4RE5zlPBgFI2NizIX-upkKFIEuA3CbOE8", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDbVhGG3V488JQAGGsB"} ], 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.28006.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/AM_J7EsWsc4RE5zlPBgFI2NizIX-upkKFIEuA3CbOE8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57862}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/AM_J7EsWsc4RE5zlPBgFI2NizIX-upkKFIEuA3CbOE8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/AM_J7EsWsc4RE5zlPBgFI2NizIX-upkKFIEuA3CbOE8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.28006.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/AM_J7EsWsc4RE5zlPBgFI2NizIX-upkKFIEuA3CbOE8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57862}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/AM_J7EsWsc4RE5zlPBgFI2NizIX-upkKFIEuA3CbOE8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.28008.0>, params: %{}, path_info: [".well-known", "acme-challenge", "AM_J7EsWsc4RE5zlPBgFI2NizIX-upkKFIEuA3CbOE8"], 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://pinchflat.suranyami.com", :phoenix_router => Pinchfla (truncated) 11:57:00.797 [info] {"source":"oban","duration":487,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:57:03.639 [info] {"source":"oban","duration":1614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:05.084 [info] GET /.well-known/acme-challenge/pB7aYQTs1C_CGiUAhK2x-A-uD9HtuHacXjiTY7zy_co 11:57:05.085 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1304.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 [] 11:57:05.085 [debug] QUERY OK source="settings" db=0.1ms idle=1305.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 [] 11:57:05.085 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:57:05.086 [error] #PID<0.28010.0> running PinchflatWeb.Endpoint (connection #PID<0.28009.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/pB7aYQTs1C_CGiUAhK2x-A-uD9HtuHacXjiTY7zy_co ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/pB7aYQTs1C_CGiUAhK2x-A-uD9HtuHacXjiTY7zy_co (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.28009.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/pB7aYQTs1C_CGiUAhK2x-A-uD9HtuHacXjiTY7zy_co", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 42312}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/pB7aYQTs1C_CGiUAhK2x-A-uD9HtuHacXjiTY7zy_co", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.28010.0>, params: %{}, path_info: [".well-known", "acme-challenge", "pB7aYQTs1C_CGiUAhK2x-A-uD9HtuHacXjiTY7zy_co"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/pB7aYQTs1C_CGiUAhK2x-A-uD9HtuHacXjiTY7zy_co"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/pB7aYQTs1C_CGiUAhK2x-A-uD9HtuHacXjiTY7zy_co", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDbWDVy-MqBDa8AA2wk"} ], 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.28009.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/pB7aYQTs1C_CGiUAhK2x-A-uD9HtuHacXjiTY7zy_co", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 42312}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/pB7aYQTs1C_CGiUAhK2x-A-uD9HtuHacXjiTY7zy_co", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/pB7aYQTs1C_CGiUAhK2x-A-uD9HtuHacXjiTY7zy_co (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.28009.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/pB7aYQTs1C_CGiUAhK2x-A-uD9HtuHacXjiTY7zy_co", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 42312}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/pB7aYQTs1C_CGiUAhK2x-A-uD9HtuHacXjiTY7zy_co", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.28010.0>, params: %{}, path_info: [".well-known", "acme-challenge", "pB7aYQTs1C_CGiUAhK2x-A-uD9HtuHacXjiTY7zy_co"], 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://pinchfla (truncated) 11:57:05.498 [info] GET /.well-known/acme-challenge/-ZskM36QAGmRHUnmP2wuDakdRD3UwvOsz6CXwT-C4so 11:57:05.498 [debug] QUERY OK source="settings" db=0.2ms idle=717.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 [] 11:57:05.499 [debug] QUERY OK source="settings" db=0.2ms idle=717.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 [] 11:57:05.499 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:57:05.500 [error] #PID<0.28011.0> running PinchflatWeb.Endpoint (connection #PID<0.28009.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/-ZskM36QAGmRHUnmP2wuDakdRD3UwvOsz6CXwT-C4so ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/-ZskM36QAGmRHUnmP2wuDakdRD3UwvOsz6CXwT-C4so (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.28009.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/-ZskM36QAGmRHUnmP2wuDakdRD3UwvOsz6CXwT-C4so", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 42312}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/-ZskM36QAGmRHUnmP2wuDakdRD3UwvOsz6CXwT-C4so", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.28011.0>, params: %{}, path_info: [".well-known", "acme-challenge", "-ZskM36QAGmRHUnmP2wuDakdRD3UwvOsz6CXwT-C4so"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/-ZskM36QAGmRHUnmP2wuDakdRD3UwvOsz6CXwT-C4so"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/-ZskM36QAGmRHUnmP2wuDakdRD3UwvOsz6CXwT-C4so", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDbWE4fBPXrhssAA2xE"} ], 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.28009.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/-ZskM36QAGmRHUnmP2wuDakdRD3UwvOsz6CXwT-C4so", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 42312}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/-ZskM36QAGmRHUnmP2wuDakdRD3UwvOsz6CXwT-C4so", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/-ZskM36QAGmRHUnmP2wuDakdRD3UwvOsz6CXwT-C4so (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.28009.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/-ZskM36QAGmRHUnmP2wuDakdRD3UwvOsz6CXwT-C4so", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 42312}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/-ZskM36QAGmRHUnmP2wuDakdRD3UwvOsz6CXwT-C4so", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.28011.0>, params: %{}, path_info: [".well-known", "acme-challenge", "-ZskM36QAGmRHUnmP2wuDakdRD3UwvOsz6CXwT-C4so"], 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://pinchfla (truncated) 11:57:08.368 [info] GET /.well-known/acme-challenge/eO2p9BrJql3LWjKvld58Av3UWZmIgfrqYhnxdgts0cE 11:57:08.369 [debug] QUERY OK source="settings" db=0.3ms idle=1587.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 [] 11:57:08.369 [debug] QUERY OK source="settings" db=0.2ms idle=1588.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 [] 11:57:08.370 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:57:08.370 [error] #PID<0.28012.0> running PinchflatWeb.Endpoint (connection #PID<0.28009.0>, stream id 3) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/eO2p9BrJql3LWjKvld58Av3UWZmIgfrqYhnxdgts0cE ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/eO2p9BrJql3LWjKvld58Av3UWZmIgfrqYhnxdgts0cE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.28009.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/eO2p9BrJql3LWjKvld58Av3UWZmIgfrqYhnxdgts0cE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 42312}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/eO2p9BrJql3LWjKvld58Av3UWZmIgfrqYhnxdgts0cE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.28012.0>, params: %{}, path_info: [".well-known", "acme-challenge", "eO2p9BrJql3LWjKvld58Av3UWZmIgfrqYhnxdgts0cE"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/eO2p9BrJql3LWjKvld58Av3UWZmIgfrqYhnxdgts0cE"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/eO2p9BrJql3LWjKvld58Av3UWZmIgfrqYhnxdgts0cE", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDbWPksHLNKKT4AGGsh"} ], 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.28009.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/eO2p9BrJql3LWjKvld58Av3UWZmIgfrqYhnxdgts0cE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 42312}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/eO2p9BrJql3LWjKvld58Av3UWZmIgfrqYhnxdgts0cE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/eO2p9BrJql3LWjKvld58Av3UWZmIgfrqYhnxdgts0cE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.28009.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/eO2p9BrJql3LWjKvld58Av3UWZmIgfrqYhnxdgts0cE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 42312}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/eO2p9BrJql3LWjKvld58Av3UWZmIgfrqYhnxdgts0cE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.28012.0>, params: %{}, path_info: [".well-known", "acme-challenge", "eO2p9BrJql3LWjKvld58Av3UWZmIgfrqYhnxdgts0cE"], 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://pinchfla (truncated) 11:57:14.591 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=G7WYIfQHkj0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9b/38/9b38954a9e2b2a44fecd47ca8e21dbae08688e129e2033a7c36e31d62e728631.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 11:57:14.689 [debug] Running yt-dlp command for action: download_thumbnail 11:57:14.690 [debug] QUERY OK source="settings" db=0.4ms idle=1909.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 [] 11:57:14.691 [debug] QUERY OK source="settings" db=0.3ms idle=1274.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 [] 11:57:14.692 [debug] QUERY OK source="settings" db=0.3ms idle=910.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 [] 11:57:14.692 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=G7WYIfQHkj0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3477/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/6b/bd/6bbdb88f17799e465e795e29f1e8e2bd1730f5acca5d3c2beab834c8aa005eb9.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:57:16.817 [info] GET /sources/2/media/8244 11:57:16.817 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "8244", "source_id" => "2"} Pipelines: [:browser] 11:57:16.818 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=1036.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" = ?) [8244] 11:57:16.820 [debug] QUERY OK source="tasks" db=0.8ms queue=0.1ms idle=1038.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" [8244] 11:57:16.821 [debug] QUERY OK source="sources" db=1.6ms idle=1038.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" = ?) [2] 11:57:16.822 [debug] QUERY OK source="settings" db=0.7ms idle=1041.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 [] 11:57:16.823 [debug] QUERY OK source="settings" db=0.2ms idle=396.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 [] 11:57:16.824 [debug] QUERY OK source="settings" db=0.3ms idle=5.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 [] 11:57:16.826 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 11:57:16.828 [info] Sent 200 in 11ms 11:57:17.890 [info] GET / 11:57:17.890 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:57:17.891 [debug] QUERY OK source="settings" db=0.6ms idle=1067.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 [] 11:57:17.891 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1067.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:57:17.892 [debug] QUERY OK source="sources" db=0.3ms idle=1067.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:57:17.905 [debug] QUERY OK source="media_items" db=12.7ms idle=1066.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:57:17.910 [debug] QUERY OK source="media_items" db=4.5ms idle=475.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:57:17.910 [debug] QUERY OK source="settings" db=0.2ms idle=19.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 [] 11:57:17.910 [debug] QUERY OK source="settings" db=0.1ms idle=19.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 [] 11:57:17.911 [debug] QUERY OK source="settings" db=0.1ms idle=19.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 [] 11:57:17.914 [debug] QUERY OK source="media_items" db=1.6ms 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 (NOT (m0."media_filepath" IS NULL)) [] 11:57:17.915 [debug] QUERY OK source="media_items" db=0.6ms idle=4.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:57:17.916 [debug] QUERY OK source="sources" db=0.4ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [6, 2] 11:57:17.936 [debug] QUERY OK source="media_items" db=17.5ms idle=7.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 (((((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"))) [] 11:57:18.013 [debug] QUERY OK source="media_items" db=77.4ms idle=24.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:57:18.014 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=100.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] 11:57:18.017 [debug] QUERY OK source="tasks" db=0.5ms idle=101.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:57:18.018 [debug] QUERY OK source="media_items" db=0.4ms idle=101.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3477, 3480] 11:57:18.020 [info] Sent 200 in 129ms 11:57:21.630 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=G7WYIfQHkj0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3477/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/6b/bd/6bbdb88f17799e465e795e29f1e8e2bd1730f5acca5d3c2beab834c8aa005eb9.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:57:21.631 [debug] QUERY OK db=0.0ms idle=1850.5ms begin [] 11:57:21.633 [debug] QUERY OK source="media_items" db=1.7ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 00:57:14Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e081199 - Malibu, But Better! Homemade Coconut Liqueur.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e081199 - Malibu, But Better! Homemade Coconut Liqueur.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e081199 - Malibu, But Better! Homemade Coconut Liqueur.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e081199 - Malibu, But Better! Homemade Coconut Liqueur.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e081199 - Malibu, But Better! Homemade Coconut Liqueur.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e081199 - Malibu, But Better! Homemade Coconut Liqueur-thumb.jpg", ~U[2026-03-28 00:57:21Z], 3477] 11:57:21.637 [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/3477/metadata.json.gz", "/config/metadata/media_items/3477/thumbnail.jpg", 3477, ~U[2026-03-28 00:57:21Z], ~U[2026-03-28 00:57:21Z]] 11:57:21.639 [debug] QUERY OK db=1.3ms commit [] 11:57:21.673 [debug] QUERY OK source="media_items" db=6.0ms queue=0.2ms idle=1886.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [104429921, ~U[2026-03-28 00:57:21Z], 3477] 11:57:21.674 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:57:21.683 [info] {"args":{"id":3477},"id":599,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":282511122,"event":"job:stop","queue_time":74705161804,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:57:21.703 [info] {"args":{"id":3483},"id":601,"meta":{},"system_time":1774659441702870459,"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"]} 11:57:21.708 [debug] QUERY OK source="media_items" db=4.4ms queue=0.1ms idle=265.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" = ?) [3483] 11:57:21.709 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:57:21.720 [debug] QUERY OK source="sources" db=11.0ms queue=0.2ms idle=70.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" = ?) [4] 11:57:21.722 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.2ms idle=47.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] 11:57:21.723 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=39.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 [3483] 11:57:21.725 [debug] QUERY OK source="media_metadata" db=0.2ms idle=22.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" = ?) [3483] 11:57:21.726 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=17.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] 11:57:21.727 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms 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 [] 11:57:21.728 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms 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 [] 11:57:21.729 [debug] Running yt-dlp command for action: get_downloadable_status 11:57:21.730 [debug] QUERY OK source="settings" db=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 [] 11:57:21.730 [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 [] 11:57:21.731 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:57:21.731 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XixUQzPGawA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ad/e9/ade98a25e2f0e65e01d31862ab5ca4aa5e2c9ef742d2e0b3a2a97afd575f8aba.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:57:27.505 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XixUQzPGawA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ad/e9/ade98a25e2f0e65e01d31862ab5ca4aa5e2c9ef742d2e0b3a2a97afd575f8aba.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:57:27.505 [debug] Running yt-dlp command for action: download 11:57:27.506 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=724.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 [] 11:57:27.506 [debug] QUERY OK source="settings" db=0.2ms idle=725.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 [] 11:57:27.507 [debug] QUERY OK source="settings" db=0.2ms idle=725.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 [] 11:57:27.507 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XixUQzPGawA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a4/17/a41760b477d9cb31ddebaa1048718d1f9316b168461084c99809fd4d1da1a1df.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:57:28.599 [info] GET / 11:57:28.599 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:57:28.600 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1145.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 [] 11:57:28.601 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1094.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:57:28.601 [debug] QUERY OK source="sources" db=0.2ms idle=1094.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:57:28.627 [debug] QUERY OK source="media_items" db=25.7ms idle=1094.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:57:28.631 [debug] QUERY OK source="media_items" db=3.0ms idle=170.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:57:28.632 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=31.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 [] 11:57:28.633 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=31.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 [] 11:57:28.634 [debug] QUERY OK source="settings" db=0.2ms idle=32.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 [] 11:57:28.639 [debug] QUERY OK source="media_items" db=3.3ms queue=0.1ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 11:57:28.641 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=9.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:57:28.642 [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" IN (?,?)) [6, 2] 11:57:28.707 [debug] QUERY OK source="media_items" db=57.9ms queue=0.1ms idle=16.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 (((((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"))) [] 11:57:28.782 [debug] QUERY OK source="media_items" db=74.1ms queue=0.1ms idle=73.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:57:28.783 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=143.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] 11:57:28.790 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=147.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:57:28.791 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=148.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3480, 3483] 11:57:28.793 [info] Sent 200 in 193ms 11:57:33.642 [info] {"source":"oban","duration":1887,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:42.409 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=lkVjfFCaMIE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e1/1c/e11c39391ab3ab39abe93c14c27dfc9c464d043d041e071a54cf7e168618e65f.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 11:57:42.458 [debug] Running yt-dlp command for action: download_thumbnail 11:57:42.460 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1677.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 [] 11:57:42.460 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1678.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 [] 11:57:42.461 [debug] QUERY OK source="settings" db=0.2ms idle=1679.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 [] 11:57:42.461 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=lkVjfFCaMIE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3480/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/15/ea/15ea52335d2df8e09f1cc0ac1094ab75f2fc280f765f55387ce3c0fb5ea3544b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:57:50.325 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=lkVjfFCaMIE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3480/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/15/ea/15ea52335d2df8e09f1cc0ac1094ab75f2fc280f765f55387ce3c0fb5ea3544b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:57:50.326 [debug] QUERY OK db=0.2ms idle=794.5ms begin [] 11:57:50.327 [debug] QUERY OK source="media_items" db=1.6ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [459, ~U[2026-03-28 00:57:42Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e080499 - Coffee vs Tea: Rooibos Martini!.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e080499 - Coffee vs Tea: Rooibos Martini!.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e080499 - Coffee vs Tea: Rooibos Martini!.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e080499 - Coffee vs Tea: Rooibos Martini!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e080499 - Coffee vs Tea: Rooibos Martini!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e080499 - Coffee vs Tea: Rooibos Martini!-thumb.jpg", ~U[2026-03-28 00:57:50Z], 3480] 11:57:50.329 [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/3480/metadata.json.gz", "/config/metadata/media_items/3480/thumbnail.jpg", 3480, ~U[2026-03-28 00:57:50Z], ~U[2026-03-28 00:57:50Z]] 11:57:50.329 [debug] QUERY OK db=0.4ms commit [] 11:57:50.363 [debug] QUERY OK source="media_items" db=19.7ms idle=562.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [79636666, ~U[2026-03-28 00:57:50Z], 3480] 11:57:50.363 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:57:50.364 [info] {"args":{"id":3480},"id":600,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":185897910,"event":"job:stop","queue_time":74825455804,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:57:50.384 [info] {"args":{"id":3486},"id":602,"meta":{},"system_time":1774659470384362875,"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"]} 11:57:50.393 [debug] QUERY OK source="media_items" db=8.8ms 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" = ?) [3486] 11:57:50.394 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:57:50.396 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=64.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" = ?) [4] 11:57:50.397 [debug] QUERY OK source="media_profiles" db=0.7ms idle=32.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] 11:57:50.399 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=33.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 [3486] 11:57:50.401 [debug] QUERY OK source="media_metadata" db=0.4ms idle=16.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" = ?) [3486] 11:57:50.403 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=8.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] 11:57:50.404 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms 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 [] 11:57:50.405 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:57:50.406 [debug] Running yt-dlp command for action: get_downloadable_status 11:57:50.408 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 11:57:50.409 [debug] QUERY OK source="settings" db=0.4ms 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 [] 11:57:50.409 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=6.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 [] 11:57:50.410 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JHxReElTBwE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d8/83/d88304ef3d01b731d5217e6645e76bee975e6f5605f712262f7d8e5eea4ef8b5.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:57:56.910 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JHxReElTBwE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d8/83/d88304ef3d01b731d5217e6645e76bee975e6f5605f712262f7d8e5eea4ef8b5.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:57:56.910 [debug] Running yt-dlp command for action: download 11:57:56.911 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:57:56.911 [debug] QUERY OK source="settings" db=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 [] 11:57:56.912 [debug] QUERY OK source="settings" db=0.1ms idle=1130.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 [] 11:57:56.912 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JHxReElTBwE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c7/30/c73011aeb9c8891717116231871339ca5cf0fbc5964e1bec81ee9c84db139bd0.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:58:00.798 [info] {"source":"oban","duration":331,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:58:03.647 [info] {"source":"oban","duration":3316,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:29.085 [info] GET / 11:58:29.085 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:58:29.087 [debug] QUERY OK source="settings" db=0.9ms idle=1304.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 [] 11:58:29.088 [debug] QUERY OK source="media_profiles" db=0.4ms idle=419.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:58:29.089 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=306.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:58:29.151 [debug] QUERY OK source="media_items" db=61.8ms idle=307.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:58:29.156 [debug] QUERY OK source="media_items" db=4.4ms queue=0.1ms idle=369.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:58:29.157 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=69.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 [] 11:58:29.158 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=70.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 [] 11:58:29.159 [debug] QUERY OK source="settings" db=0.1ms idle=70.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 [] 11:58:29.163 [debug] QUERY OK source="media_items" db=3.1ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 11:58:29.164 [debug] QUERY OK source="media_items" db=0.5ms idle=6.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:58:29.164 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [6, 2] 11:58:29.221 [debug] QUERY OK source="media_items" db=54.4ms idle=8.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 (((((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"))) [] 11:58:29.289 [debug] QUERY OK source="media_items" db=67.1ms idle=62.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:58:29.289 [debug] QUERY OK source="sources" db=0.3ms idle=126.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] 11:58:29.292 [debug] QUERY OK source="tasks" db=0.6ms idle=127.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:58:29.293 [debug] QUERY OK source="media_items" db=0.4ms idle=128.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3483, 3486] 11:58:29.294 [info] Sent 200 in 209ms 11:58:33.648 [info] {"source":"oban","duration":1148,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:00.799 [info] {"source":"oban","duration":454,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:59:03.651 [info] {"source":"oban","duration":1523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:29.499 [info] GET / 11:59:29.500 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:59:29.501 [debug] QUERY OK source="settings" db=0.7ms idle=717.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 [] 11:59:29.502 [debug] QUERY OK source="media_profiles" db=0.4ms idle=718.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:59:29.502 [debug] QUERY OK source="sources" db=0.3ms idle=719.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:59:29.593 [debug] QUERY OK source="media_items" db=90.4ms idle=720.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:59:29.607 [debug] QUERY OK source="media_items" db=14.0ms idle=696.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:59:29.609 [debug] QUERY OK source="settings" db=0.6ms idle=107.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 [] 11:59:29.609 [debug] QUERY OK source="settings" db=0.5ms idle=107.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 [] 11:59:29.611 [debug] QUERY OK source="settings" db=0.4ms idle=107.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 [] 11:59:29.628 [debug] QUERY OK source="media_items" db=14.4ms idle=19.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 (NOT (m0."media_filepath" IS NULL)) [] 11:59:29.631 [debug] QUERY OK source="media_items" db=2.1ms queue=0.3ms idle=21.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:59:29.634 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=23.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" IN (?,?)) [6, 2] 11:59:29.746 [debug] QUERY OK source="media_items" db=104.2ms idle=31.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 (((((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"))) [] 11:59:29.838 [debug] QUERY OK source="media_items" db=92.0ms idle=135.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 11:59:29.839 [debug] QUERY OK source="sources" db=0.6ms idle=211.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] 11:59:29.845 [debug] QUERY OK source="tasks" db=0.6ms idle=213.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:59:29.846 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=211.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3483, 3486] 11:59:29.849 [info] Sent 200 in 349ms 11:59:33.654 [info] {"source":"oban","duration":2226,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:48.007 [info] {"args":{"id":3},"id":1642,"meta":{},"system_time":1774659588007032643,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:59:48.017 [debug] QUERY OK source="sources" db=9.0ms queue=0.1ms idle=225.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" = ?) [3] 11:59:48.023 [debug] QUERY OK source="settings" db=6.0ms queue=0.1ms idle=235.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 [] 11:59:48.038 [debug] QUERY OK source="media_profiles" db=14.5ms queue=0.1ms idle=241.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] 11:59:48.056 [debug] QUERY OK source="settings" db=16.9ms queue=0.1ms idle=60.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 [] 11:59:48.056 [debug] Fetching recent media IDs from YouTube API for playlist: UUwnKziETDbHJtx78nIkfYug 11:59:48.057 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=49.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 [] 11:59:48.057 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 11:59:48.694 [debug] QUERY OK source="media_items" db=2.7ms queue=0.2ms idle=674.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 m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "QtpFa0LdXEY", "8Rv4wwcQ89Y", "2cRKv1oqyX8", "mQfQwLW6CNw", "y0TZuhNixNk", "GZ7wE3XOwFU", "-aRdX-kZ9g4", "99bldMr1byI", "EzCiEv1IqiA", "mC5NdpSMDks", "ccV3u3D9ONE", "cVCDjEfPzII", "n0X2rqzKTgM", "dcuCvRNqmpY", "GG1qX8jHKGo", "k9wkleHFvo0", "CWoYVlMuUNQ", "xlfeieH4z38", "eZM2Ik-FHEU", "CtcTG8-qzbA", "6Mmj7mf1qlg", "InwVO9qBjqs", "1Hp-W2bpPrw", "VtE5sTpkn7k", "8dOJypt2F70", "Evm4t4prtWo", "taLzgvbrnv0", "rgCrnyf5JEI", "PHhc-48JT3U", "vFKjpNNjNGw", "VJQlOI70ubw", "E5cfNq0DO90", "DNBGSsZatbY", "pna1NyaHTls", "CUHao-vA98g", "cPN9BJe_RQw", "rCBt4XgCX-0", "f4g6KKGMmEI", "P_I5Jsc3xRw", "fPaU2l7RktM", "0PVwt01b6fs", "0qMDM4Y4Hwo", "Ld285PDsHvs", "p1mQC71wplA", "9k5JhKK6WlA", "WPxrifmtlQI", "nVNBmK7a1y8", "QDnMYztaxfI", "gxsaWhXG1Gg", ...] 11:59:48.703 [debug] QUERY OK source="media_items" db=4.1ms queue=0.1ms idle=675.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 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] 11:59:48.707 [debug] QUERY OK source="tasks" db=0.5ms idle=649.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1648, 3, ~U[2026-03-28 00:59:48Z], ~U[2026-03-28 00:59:48Z]] 11:59:48.709 [info] {"args":{"id":3},"id":1642,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":700912,"event":"job:stop","queue_time":444236,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:00:00.805 [info] {"source":"oban","duration":4913,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[1649]} 12:00:00.814 [info] {"args":{},"id":1649,"meta":{"cron":true,"cron_expr":"0 1 * * *","cron_tz":"Etc/UTC"},"system_time":1774659600813734319,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.Downloading.MediaRetentionWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","local_data"]} 12:00:00.870 [debug] QUERY OK source="media_items" db=54.2ms queue=0.7ms idle=1032.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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" WHERE ((NOT (m0."media_filepath" IS NULL) AND IFNULL(retention_period_days, 0) > 0 AND DATETIME(media_downloaded_at, '+' || retention_period_days || ' day') < DATETIME('now') ) AND NOT (m0."prevent_culling" = 1)) [] 12:00:00.870 [info] Culling 0 media items past their retention date 12:00:00.896 [debug] QUERY OK source="media_items" db=24.6ms queue=0.4ms idle=1088.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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" WHERE ((NOT (m0."media_filepath" IS NULL) AND NOT ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND NOT (m0."prevent_culling" = 1)) [] 12:00:00.896 [info] Deleting 0 media items that are from before the source cutoff 12:00:00.897 [info] {"args":{},"id":1649,"meta":{"cron":true,"cron_expr":"0 1 * * *","cron_tz":"Etc/UTC"},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.Downloading.MediaRetentionWorker","source":"oban","duration":83146,"event":"job:stop","queue_time":810911,"attempt":1,"tags":["media_item","local_data"]} 12:00:03.662 [info] {"source":"oban","duration":7758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:27.140 [info] {"args":{"id":2},"id":1643,"meta":{},"system_time":1774659627140155781,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:00:27.141 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=358.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] 12:00:27.143 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=359.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 [] 12:00:27.144 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=360.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] 12:00:27.144 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms 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 [] 12:00:27.145 [debug] Fetching recent media IDs from YouTube API for playlist: UUjzi56cxvmEDwjo1Bd2Yxpg 12:00:27.145 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms 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 [] 12:00:27.146 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:00:29.017 [debug] QUERY OK source="media_items" db=3.2ms idle=878.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "Hw2_s31u_4Q", "b4x9IzQtiA0", "16aM5Bop7Qw", "3hBk9xqT9hs", "xDa45wnAzc8", "Yq41acIvzj8", "Ttn_Q1B2ALc", "-bV0F6OP31U", "qAstyiKRt10", "NF2StvrYme0", "_Q-2UzYr3AA", "FeEEy3jZvlM", "EHaNwda0xto", "KL0u63mAy5M", "fzklfnO42ts", "oZ4kddHCFVY", "spSOp5s_6_A", "C48yl9fSYv8", "654RgtNwXZ8", "4wu_B_XF6wk", "wFLJxWyDJPs", "J5NKnYfn6qw", "fcVRuF6c-bc", "xNAFpSnpqjs", "cavmWZnCeJI", "_J0gQ5GdUSk", "_oISg668F40", "v34wa9QhF0s", "iEen_cClzkg", "CD9wUM2v-0U", "E8k9oqjl5_E", "lQDUMfg_SJc", "pPMD0YPBHQ4", "qq1IN4umTI8", "L63goFhe8KM", "5OXvwQ3CB1I", "doZvHBPoVCw", "9SXMTDO4lIo", "8JmSUN8jp3Q", "7oSgaaUEjZM", "sKSPwnFSRCw", "gdY_Q9ltw8w", "uHbviTslBFY", "gMzXgYFT4Ck", "NdsMuD-_5To", "9JXltNRqLu4", "7ThBvLBMacw", "7BTWa3jFBMw", "U2LsOO1upXY", ...] 12:00:29.084 [debug] QUERY OK source="media_items" db=65.4ms idle=236.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 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] 12:00:29.090 [debug] QUERY OK source="tasks" db=0.3ms idle=72.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1650, 2, ~U[2026-03-28 01:00:29Z], ~U[2026-03-28 01:00:29Z]] 12:00:29.097 [info] {"args":{"id":2},"id":1643,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":1950147,"event":"job:stop","queue_time":222510,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:00:30.119 [info] GET / 12:00:30.120 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:00:30.121 [debug] QUERY OK source="settings" db=0.8ms idle=1030.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 [] 12:00:30.122 [debug] QUERY OK source="media_profiles" db=0.7ms idle=1031.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:00:30.123 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1026.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:00:30.167 [debug] QUERY OK source="media_items" db=43.2ms idle=1020.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:00:30.172 [debug] QUERY OK source="media_items" db=4.7ms queue=0.1ms idle=46.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:00:30.173 [debug] QUERY OK source="settings" db=0.2ms idle=50.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 [] 12:00:30.173 [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 [] 12:00:30.175 [debug] QUERY OK source="settings" db=0.2ms idle=29.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 [] 12:00:30.180 [debug] QUERY OK source="media_items" db=3.1ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 12:00:30.181 [debug] QUERY OK source="media_items" db=0.6ms idle=7.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:00:30.182 [debug] QUERY OK source="sources" db=0.3ms idle=8.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" IN (?,?)) [6, 2] 12:00:30.241 [debug] QUERY OK source="media_items" db=55.8ms idle=11.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 (((((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:00:30.300 [debug] QUERY OK source="media_items" db=59.3ms idle=66.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:00:30.301 [debug] QUERY OK source="sources" db=0.3ms idle=120.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] 12:00:30.304 [debug] QUERY OK source="tasks" db=0.6ms idle=122.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:00:30.304 [debug] QUERY OK source="media_items" db=0.3ms idle=121.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3483, 3486] 12:00:30.306 [info] Sent 200 in 186ms 12:00:33.667 [info] {"source":"oban","duration":4002,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:54.253 [info] {"args":{"id":4},"id":1644,"meta":{},"system_time":1774659654253285550,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:00:54.266 [debug] QUERY OK source="sources" db=12.4ms idle=471.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" = ?) [4] 12:00:54.275 [debug] QUERY OK source="settings" db=8.8ms idle=484.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 [] 12:00:54.277 [debug] QUERY OK source="media_profiles" db=1.5ms idle=493.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] 12:00:54.278 [debug] QUERY OK source="settings" db=0.5ms idle=46.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 [] 12:00:54.278 [debug] Fetching recent media IDs from YouTube API for playlist: UUEiui9T4ZYx8K8nuZ5YFSTw 12:00:54.278 [debug] QUERY OK source="settings" db=0.4ms idle=25.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 [] 12:00:54.279 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:00:54.839 [debug] QUERY OK source="media_items" db=3.6ms idle=569.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [4, "gthI7e6zPWo", "psRX1C7auj8", "2ZtSRjGhStw", "Z8KiNkDP9c4", "AZibPvCnG4k", "QXNPI7Ucivo", "WtxCD4567G4", "80bkfWoOHaE", "pYBAEGrhggM", "9M3wLySdGXY", "mcvbD_Ipbf8", "E_Y7kLO3Iaw", "gPdh5lVJYD0", "qrkTK1UcvSM", "45UcuOLjxeY", "gnbhO9hJ198", "fiFzXo1wNno", "TM5mKkwC0Ok", "kS2A72peqmg", "ueDcEpRFW_M", "AN4-pHYBK2M", "TMNa6ocIv8o", "S1Vt1tQJczE", "_BEmUjtwhLw", "1bxoWiQ2AQY", "CZeRfNeKEBE", "2nftRe3tjLQ", "v1biAguVbg8", "cLDsQImoeHQ", "hhH7mchDBXY", "uQj2W5ej104", "vYRV_nprXBA", "1v_qsQL3mo8", "hfHxFTbVaTo", "mfWqziOaR4A", "AmCWMmKgHkI", "ZWgq-s8r2FE", "1dAkTDsD1c4", "ozdDp_eMPZY", "iHogtXxywLQ", "7ysd04ltGag", "5jq8kH9s0V8", "AB6bC9gtfoc", "R7Tm3zvyy9U", "dUHzocz0hLo", "9Oh6oVrf7kM", "LzUhByZ4jtc", "j7evpR_Fbsw", "_iGhJt3ah8E", ...] 12:00:54.851 [debug] QUERY OK source="media_items" db=9.8ms idle=565.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 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] 12:00:55.152 [debug] QUERY OK source="tasks" db=0.3ms idle=3.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1651, 4, ~U[2026-03-28 01:00:55Z], ~U[2026-03-28 01:00:55Z]] 12:00:55.152 [info] {"args":{"id":4},"id":1644,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":898798,"event":"job:stop","queue_time":364765,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:01:00.806 [info] {"source":"oban","duration":847,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:01:03.672 [info] {"source":"oban","duration":3775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:04.846 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JHxReElTBwE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c7/30/c73011aeb9c8891717116231871339ca5cf0fbc5964e1bec81ee9c84db139bd0.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:01:04.899 [debug] Running yt-dlp command for action: download_thumbnail 12:01:04.901 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=628.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 [] 12:01:04.902 [debug] QUERY OK source="settings" db=0.2ms idle=120.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 [] 12:01:04.902 [debug] QUERY OK source="settings" db=0.1ms idle=120.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 [] 12:01:04.903 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JHxReElTBwE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3486/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/0c/8c/0c8c567e44c615993124dded3792ed5404ee89d97a2c6220e7a82eb42a6e9500.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:01:12.137 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JHxReElTBwE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3486/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/0c/8c/0c8c567e44c615993124dded3792ed5404ee89d97a2c6220e7a82eb42a6e9500.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:01:12.138 [debug] QUERY OK db=0.0ms idle=1356.4ms begin [] 12:01:12.141 [debug] QUERY OK source="media_items" db=2.0ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:01:04Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e072199 - Vibrant Basil & Strawberry Puree: Crafting Two Exquisite Cocktails!.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e072199 - Vibrant Basil & Strawberry Puree: Crafting Two Exquisite Cocktails!.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e072199 - Vibrant Basil & Strawberry Puree: Crafting Two Exquisite Cocktails!.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e072199 - Vibrant Basil & Strawberry Puree: Crafting Two Exquisite Cocktails!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e072199 - Vibrant Basil & Strawberry Puree: Crafting Two Exquisite Cocktails!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e072199 - Vibrant Basil & Strawberry Puree: Crafting Two Exquisite Cocktails!-thumb.jpg", ~U[2026-03-28 01:01:12Z], 3486] 12:01:12.143 [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/3486/metadata.json.gz", "/config/metadata/media_items/3486/thumbnail.jpg", 3486, ~U[2026-03-28 01:01:12Z], ~U[2026-03-28 01:01:12Z]] 12:01:12.143 [debug] QUERY OK db=0.4ms commit [] 12:01:12.189 [debug] QUERY OK source="media_items" db=14.8ms queue=0.2ms idle=1392.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [80384943, ~U[2026-03-28 01:01:12Z], 3486] 12:01:12.190 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:01:12.192 [info] {"args":{"id":3486},"id":602,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":201805808,"event":"job:stop","queue_time":75001370809,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:01:12.205 [info] {"args":{"id":3488},"id":603,"meta":{},"system_time":1774659672204604333,"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"]} 12:01:12.207 [debug] QUERY OK source="media_items" db=0.8ms queue=0.2ms idle=916.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" = ?) [3488] 12:01:12.207 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:01:12.209 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=64.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" = ?) [4] 12:01:12.212 [debug] QUERY OK source="media_profiles" db=1.3ms idle=21.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] 12:01:12.214 [debug] QUERY OK source="media_items" db=1.1ms idle=20.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 [3488] 12:01:12.216 [debug] QUERY OK source="media_metadata" db=0.3ms idle=11.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" = ?) [3488] 12:01:12.217 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 12:01:12.218 [debug] QUERY OK source="settings" db=0.4ms 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 [] 12:01:12.218 [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 [] 12:01:12.219 [debug] Running yt-dlp command for action: get_downloadable_status 12:01:12.221 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:01:12.221 [debug] QUERY OK source="settings" db=0.4ms 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 [] 12:01:12.222 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:01:12.222 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=kW-TEYFhDxw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b6/96/b696f21edd92ce2d3568a69cc728c16999fbbe84d0c56d3f47eec6cc2f4df552.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:01:18.616 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=kW-TEYFhDxw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b6/96/b696f21edd92ce2d3568a69cc728c16999fbbe84d0c56d3f47eec6cc2f4df552.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:01:18.616 [debug] Running yt-dlp command for action: download 12:01:18.617 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=834.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 [] 12:01:18.618 [debug] QUERY OK source="settings" db=0.2ms idle=835.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 [] 12:01:18.618 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=836.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 [] 12:01:18.619 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=kW-TEYFhDxw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0e/b4/0eb48a1aceeb4073d38a3e324541fffbff7f548ee7c7d4526f9ec52dac01364e.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:01:30.491 [info] GET / 12:01:30.492 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:01:30.493 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=710.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 [] 12:01:30.494 [debug] QUERY OK source="media_profiles" db=0.4ms idle=711.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:01:30.494 [debug] QUERY OK source="sources" db=0.2ms idle=711.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:01:30.536 [debug] QUERY OK source="media_items" db=41.3ms idle=712.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:01:30.541 [debug] QUERY OK source="media_items" db=4.5ms queue=0.1ms idle=174.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:01:30.542 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=48.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 [] 12:01:30.542 [debug] QUERY OK source="settings" db=0.2ms idle=48.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 [] 12:01:30.543 [debug] QUERY OK source="settings" db=0.1ms idle=48.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 [] 12:01:30.549 [debug] QUERY OK source="media_items" db=4.8ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 12:01:30.551 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=9.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:01:30.553 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=10.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" IN (?,?)) [6, 2] 12:01:30.614 [debug] QUERY OK source="media_items" db=55.0ms idle=16.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 (((((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:30.687 [debug] QUERY OK source="media_items" db=71.2ms queue=0.1ms idle=71.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:01:30.688 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=138.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] 12:01:30.693 [debug] QUERY OK source="tasks" db=0.4ms idle=141.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:01:30.694 [debug] QUERY OK source="media_items" db=0.4ms idle=141.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3483, 3488] 12:01:30.697 [info] Sent 200 in 205ms 12:01:33.677 [info] {"source":"oban","duration":3595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:51.480 [info] {"args":{"id":5},"id":1645,"meta":{},"system_time":1774659711480031000,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:01:51.481 [debug] QUERY OK source="sources" db=0.6ms idle=1698.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" = ?) [5] 12:01:51.490 [debug] QUERY OK source="settings" db=8.7ms idle=1039.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 [] 12:01:51.492 [debug] QUERY OK source="media_profiles" db=0.9ms idle=709.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] 12:01:51.499 [debug] QUERY OK source="settings" db=6.0ms queue=0.1ms idle=45.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 [] 12:01:51.499 [debug] Fetching recent media IDs from YouTube API for playlist: UUVwfqPkv08OTuHzkPU3EaDw 12:01:51.499 [debug] QUERY OK source="settings" db=0.2ms idle=19.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 [] 12:01:51.499 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:01:52.013 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=528.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [5, "k8Yr1jU-0EE", "NFrnhg8hI0c", "20XMhcpSNV0", "YVGFnwJho6E", "xQXiSGDXknA", "uZl0TO8i96g", "Hs5ewNKWUwk", "E5suxhHY0aY", "sCou7ut2L-o", "a0INtLdzUiE", "n0x8sH0M9CE", "W4Af6DIMqnE", "Q-sUbLem5aI", "s-jMj11w68U", "DS9HZG5JRBc", "_wLy-vzLi3E", "iFpZfYwRcns", "nPovqKKSKcE", "j_w4tRYm7Og", "laZpTO7IFtA", "FM5e9Vb1noE", "cK6g53lLgnw", "1X5WYEhzGyI", "QVpu66njzdE", "tfnANe2YUwM", "0-QK6hxLxgM", "TYUeXqSlcDg", "0322Pk-GKto", "1Em1UrRSEXc", "x2RT9Awsyi8", "4Yth52yml8E", "ky9Zo2FmjQ8", "npU2QpX5piA", "XEb_1Sq8jNo", "L3QQDAKxUIk", "l3s8S6bBbOs", "WyWBU1NpDf8", "7wZ0NVuoDWg", "-Ig2-rBZtSI", "5BG06-J1t4Y", "GcQ6vQEeQew", "ap8S88LeiB0", "4LvXP3XR6gw", "I9o65_aIq0Q", "Ut9XjFkGK6s", "PcFkjR5NELA", "Yl67318oP-s", "umbar5BKBus", "FEfCtNhVjJ0", ...] 12:01:52.020 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=526.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 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")))) [5] 12:01:52.228 [debug] QUERY OK source="tasks" db=0.5ms idle=10.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1652, 5, ~U[2026-03-28 01:01:52Z], ~U[2026-03-28 01:01:52Z]] 12:01:52.229 [info] {"args":{"id":5},"id":1645,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":748858,"event":"job:stop","queue_time":505058,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:02:00.808 [info] {"source":"oban","duration":814,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:02:03.682 [info] {"source":"oban","duration":3833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:07.614 [info] GET /sources/8/media/8455/force_download 12:02:07.615 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1832.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 [] 12:02:07.616 [debug] QUERY OK source="settings" db=0.7ms idle=1110.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 [] 12:02:07.616 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:02:07.617 [error] #PID<0.28086.0> running PinchflatWeb.Endpoint (connection #PID<0.28085.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /sources/8/media/8455/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/8/media/8455/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.28085.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/8455/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 43788}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "47.128.19.175", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.28086.0>, params: %{}, path_info: ["sources", "8", "media", "8455", "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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"host", "pinchflat.suranyami.com"}, {"priority", "u=0, i"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "47.128.19.175"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/8/media/8455/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDbnqWjiTLUwFIAGHWh"} ], 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.28085.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/8455/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 43788}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "47.128.19.175", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, host_info: :undefined, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/8/media/8455/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.28085.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/media/8455/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 43788}, bindings: %{}, sock: {{10, 210, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Byt (truncated) 12:02:30.948 [info] GET / 12:02:30.948 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:02:30.949 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=360.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 [] 12:02:30.950 [debug] QUERY OK source="media_profiles" db=0.2ms idle=168.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:02:30.950 [debug] QUERY OK source="sources" db=0.2ms idle=168.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:02:31.016 [debug] QUERY OK source="media_items" db=65.3ms idle=168.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:02:31.019 [debug] QUERY OK source="media_items" db=2.9ms idle=234.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:02:31.020 [debug] QUERY OK source="settings" db=0.2ms idle=70.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 [] 12:02:31.020 [debug] QUERY OK source="settings" db=0.2ms idle=70.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 [] 12:02:31.021 [debug] QUERY OK source="settings" db=0.2ms idle=70.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 [] 12:02:31.025 [debug] QUERY OK source="media_items" db=3.1ms idle=6.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 (NOT (m0."media_filepath" IS NULL)) [] 12:02:31.026 [debug] QUERY OK source="media_items" db=0.5ms idle=6.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:02:31.027 [debug] QUERY OK source="sources" db=0.2ms idle=6.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" IN (?,?)) [6, 2] 12:02:31.086 [debug] QUERY OK source="media_items" db=56.1ms idle=9.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 (((((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:02:31.161 [debug] QUERY OK source="media_items" db=75.1ms queue=0.1ms idle=64.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:02:31.162 [debug] QUERY OK source="sources" db=0.3ms idle=136.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] 12:02:31.165 [debug] QUERY OK source="tasks" db=0.5ms idle=138.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:02:31.165 [debug] QUERY OK source="media_items" db=0.3ms idle=138.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3483, 3488] 12:02:31.167 [info] Sent 200 in 218ms 12:02:33.685 [info] {"source":"oban","duration":2001,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:45.652 [info] {"args":{"id":1},"id":1646,"meta":{},"system_time":1774659765652212859,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:02:45.663 [debug] QUERY OK source="sources" db=10.3ms idle=870.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] 12:02:45.680 [debug] QUERY OK source="settings" db=16.4ms queue=0.1ms idle=882.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 [] 12:02:45.687 [debug] QUERY OK source="media_profiles" db=6.3ms queue=0.1ms idle=898.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] 12:02:45.689 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms 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 [] 12:02:45.689 [debug] Fetching recent media IDs from YouTube API for playlist: UUISrVZmDM4x-Rq9mmNUw7Zw 12:02:45.690 [debug] QUERY OK source="settings" db=0.6ms idle=37.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 [] 12:02:45.690 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:02:46.187 [debug] QUERY OK source="media_items" db=5.1ms idle=518.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 m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "Q0qmHym16H4", "WcWL0_PlcO8", "dQV1WkSly7k", "Xpohopi2_tA", "fsZdCn4jIUY", "hgk2jMPnG2w", "oDh4gg7xiUs", "3LfUmSMW_qc", "5gN9QvwPLq8", "uSBe19ms3aw", "Eq1BmJikpHA", "OsKelxcQUNo", "zNP6Q_Yk9hU", "ZPPCc15thCc", "UzARiS2CyJ4", "r8X8HVGVV1o", "_JI7oYBFZIo", "niCh-EI1Kfo", "92mSBlpBEJo", "_6OAB_8iwqs", "tJbcC43WELc", "cPz1rUCNI0o", "hFzt_dOdElw", "nC-QKeluT0c", "i8ARsrsVUMM", "X30l-491qck", "rzQeUM-lMUY", "BkUHm95UvCw", "MQ2cHq3-J7A", "CtF5dLHITYA", "SGJkxRdkRGg", "OUCt85aJaAA", "9gARPYZOka4", "-uH-Gi5tjEw", "qwUBBQKYX94", "s8VLDSQJ8nA", "EvPfr0lKkh4", "msXzAxF49gA", "hQCWaSvjkU0", "RcmjVsy3a-g", "xtuNc9vYJG4", "fj2tcg8OzsM", "2FZ4IfPACDM", "2Q9DzW20YJ8", "IVsWFGOE_mw", "vPxpMcv2Z4Y", "Zverj_ldlhY", "pQK8xasPd9Q", "_Yo7nh8u9pk", ...] 12:02:46.195 [debug] QUERY OK source="media_items" db=2.4ms queue=0.2ms idle=511.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 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] 12:02:46.237 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=14.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1653, 1, ~U[2026-03-28 01:02:46Z], ~U[2026-03-28 01:02:46Z]] 12:02:46.239 [info] {"args":{"id":1},"id":1646,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":586023,"event":"job:stop","queue_time":613440,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:03:00.810 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:03:03.688 [info] {"source":"oban","duration":1797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:30.819 [info] {"args":{"id":6},"id":1647,"meta":{},"system_time":1774659810819464253,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:03:30.821 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=1014.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] 12:03:30.822 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=38.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 [] 12:03:30.823 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=40.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] 12:03:30.824 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:03:30.824 [debug] Fetching recent media IDs from YouTube API for playlist: UUOzMAa6IhV6uwYQATYG_2kg 12:03:30.825 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=6.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 [] 12:03:30.825 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:03:31.257 [debug] QUERY OK source="media_items" db=1.4ms idle=434.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6, "dnia-38h1GA", "iZaN9NRWc28", "CJrLdBStrzc", "u-eoT-Foth8", "XHineC0YKjs", "VdlejwGkNoI", "ikIigkz2pMg", "qUdPPQ9-9Tg", "k9fuSOPjSXM", "hb-oXWK9r7k", "hDfrtCQmNOo", "zRIUM4OhyWU", "W7c0iVM4P2I", "KCFDp_kxT_4", "aZhuGRngq-g", "BgWbezF2M28", "ZJfHw71KKsk", "MisOg5bX0a4", "2UampQ_86ek", "7-iImzOel-s", "O8E47Ib_RoU", "RcVBMZd2_u8", "b-DHev8Uc6I", "0apH8xkS6PE", "I8m3hyPVsxA", "urqkKHRaT-8", "shyrhINSaPk", "Ze3bKcLbPWg", "ydk9KfgHUPo", "sFlgR1oiUXk", "jCieQsNXdBM", "Nz4uVkNMKdI", "tyX3PvjLSC8", "VeDDo4HhNVo", "2RmXPeBn3x0", "1sA4iEo0x1o", "KqAYebG_Bs0", "FelCut8wQ3o", "wY5Xb_t79SM", "-YqD-IWgaz8", "BdV0pSziReE", "u5VKDy7Dgj8", "hn89XxHJLQ0", "wE60s-NuU6c", "LBwtYK3W-vw", "FGpCwqNklsw", "79hW_qeneEY", "aNpJxLXZATY", "9JhGit6JRw0", ...] 12:03:31.258 [debug] QUERY OK source="settings" db=0.1ms idle=436.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 [] 12:03:31.259 [debug] QUERY OK source="settings" db=0.2ms idle=435.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 [] 12:03:31.259 [debug] Running yt-dlp command for action: get_media_attributes 12:03:31.260 [debug] QUERY OK source="settings" db=0.1ms idle=435.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 [] 12:03:31.260 [debug] QUERY OK source="settings" db=0.1ms idle=435.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 [] 12:03:31.261 [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 [] 12:03:31.261 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/65/45/6545368c89818ff4fe128e98e864f42e524f34884e4a7b46f85221f2e68f9b48.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:03:31.341 [info] GET / 12:03:31.342 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:03:31.346 [debug] QUERY OK source="settings" db=1.3ms queue=0.2ms idle=84.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 [] 12:03:31.354 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.5ms idle=92.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:03:31.356 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=95.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:03:31.385 [debug] QUERY OK source="media_items" db=27.8ms queue=0.1ms idle=96.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:03:31.388 [debug] QUERY OK source="media_items" db=3.1ms queue=0.2ms idle=124.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:03:31.390 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=44.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 [] 12:03:31.390 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=36.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 [] 12:03:31.392 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=35.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 [] 12:03:31.398 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 12:03:31.399 [debug] QUERY OK source="media_items" db=0.7ms queue=0.2ms idle=10.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:03:31.402 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=10.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" IN (?,?)) [6, 2] 12:03:31.467 [debug] QUERY OK source="media_items" db=58.1ms queue=0.1ms idle=17.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 (((((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:03:31.545 [debug] QUERY OK source="media_items" db=77.8ms queue=0.2ms idle=75.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:03:31.546 [debug] QUERY OK source="sources" db=0.3ms idle=147.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] 12:03:31.549 [debug] QUERY OK source="tasks" db=0.7ms idle=149.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:03:31.551 [debug] QUERY OK source="sources" db=0.8ms idle=83.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" = ?) [6] 12:03:31.551 [debug] QUERY OK source="media_items" db=1.2ms idle=148.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3483, 3488] 12:03:31.555 [info] Sent 200 in 214ms 12:03:33.691 [info] {"source":"oban","duration":1164,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:34.206 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/65/45/6545368c89818ff4fe128e98e864f42e524f34884e4a7b46f85221f2e68f9b48.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days. 12:03:34.206 [error] Error creating media item 'u-eoT-Foth8' from URL: {:error, "ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days.\n", 1} 12:03:34.215 [debug] QUERY OK source="media_items" db=8.3ms idle=1423.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 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] 12:03:34.388 [debug] QUERY OK source="tasks" db=0.9ms idle=9.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1654, 6, ~U[2026-03-28 01:03:34Z], ~U[2026-03-28 01:03:34Z]] 12:03:34.400 [info] {"args":{"id":6},"id":1647,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":3568852,"event":"job:stop","queue_time":332056,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:03:37.997 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=kW-TEYFhDxw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0e/b4/0eb48a1aceeb4073d38a3e324541fffbff7f548ee7c7d4526f9ec52dac01364e.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:03:38.047 [debug] Running yt-dlp command for action: download_thumbnail 12:03:38.049 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=264.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 [] 12:03:38.049 [debug] QUERY OK source="settings" db=0.2ms idle=265.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 [] 12:03:38.050 [debug] QUERY OK source="settings" db=0.1ms idle=266.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 [] 12:03:38.050 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=kW-TEYFhDxw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3488/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/dc/4c/dc4c874c572fedd787ea3d4245260b77bc080e7caee93e06ed783ce954fc4a29.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:03:44.486 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=kW-TEYFhDxw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3488/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/dc/4c/dc4c874c572fedd787ea3d4245260b77bc080e7caee93e06ed783ce954fc4a29.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:03:44.487 [debug] QUERY OK db=0.1ms queue=0.1ms idle=704.2ms begin [] 12:03:44.492 [debug] QUERY OK source="media_items" db=4.0ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:03:38Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e070799 - Mojito - The Evolution of The Cuba's Best Long Drink!.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e070799 - Mojito - The Evolution of The Cuba's Best Long Drink!.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e070799 - Mojito - The Evolution of The Cuba's Best Long Drink!.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e070799 - Mojito - The Evolution of The Cuba's Best Long Drink!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e070799 - Mojito - The Evolution of The Cuba's Best Long Drink!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e070799 - Mojito - The Evolution of The Cuba's Best Long Drink!-thumb.jpg", ~U[2026-03-28 01:03:44Z], 3488] 12:03:44.496 [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/3488/metadata.json.gz", "/config/metadata/media_items/3488/thumbnail.jpg", 3488, ~U[2026-03-28 01:03:44Z], ~U[2026-03-28 01:03:44Z]] 12:03:44.497 [debug] QUERY OK db=0.8ms commit [] 12:03:44.507 [debug] QUERY OK source="media_items" db=6.8ms idle=717.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [69129605, ~U[2026-03-28 01:03:44Z], 3488] 12:03:44.507 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:03:44.508 [info] {"args":{"id":3488},"id":603,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":152303280,"event":"job:stop","queue_time":75199198899,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:03:44.516 [info] {"args":{"id":3491},"id":604,"meta":{},"system_time":1774659824516015631,"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"]} 12:03:44.516 [debug] QUERY OK source="media_items" db=0.4ms idle=649.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" = ?) [3491] 12:03:44.517 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:03:44.518 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=20.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" = ?) [4] 12:03:44.519 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 12:03:44.520 [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 [3491] 12:03:44.521 [debug] QUERY OK source="media_metadata" db=0.2ms idle=5.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" = ?) [3491] 12:03:44.521 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 12:03:44.522 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:03:44.522 [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 [] 12:03:44.523 [debug] Running yt-dlp command for action: get_downloadable_status 12:03:44.524 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:03:44.525 [debug] QUERY OK source="settings" db=0.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 [] 12:03:44.526 [debug] QUERY OK source="settings" db=0.4ms 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 [] 12:03:44.526 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_neFznj7OJ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2d/29/2d2953adf06ea62c4db46920660cee2260d901736d79cba4466552ae18ff53e3.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:03:51.066 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_neFznj7OJ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2d/29/2d2953adf06ea62c4db46920660cee2260d901736d79cba4466552ae18ff53e3.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:03:51.067 [debug] Running yt-dlp command for action: download 12:03:51.068 [debug] QUERY OK source="settings" db=0.8ms idle=1284.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 [] 12:03:51.069 [debug] QUERY OK source="settings" db=0.6ms idle=1285.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 [] 12:03:51.070 [debug] QUERY OK source="settings" db=0.4ms idle=1286.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 [] 12:03:51.070 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_neFznj7OJ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d2/50/d2500f3b9291b0b667afcca678a40bf36b04c44b501b6582996d388a2716ca16.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:04:00.812 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:04:03.695 [info] {"source":"oban","duration":3229,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:31.762 [info] GET / 12:04:31.763 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:04:31.764 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=980.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 [] 12:04:31.765 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=981.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:04:31.766 [debug] QUERY OK source="sources" db=0.2ms idle=982.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:04:31.807 [debug] QUERY OK source="media_items" db=41.1ms idle=982.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:04:31.811 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=752.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:04:31.812 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=47.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 [] 12:04:31.813 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=47.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 [] 12:04:31.814 [debug] QUERY OK source="settings" db=0.1ms idle=47.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 [] 12:04:31.819 [debug] QUERY OK source="media_items" db=3.0ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 12:04:31.820 [debug] QUERY OK source="media_items" db=0.5ms idle=7.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:04:31.821 [debug] QUERY OK source="sources" db=0.3ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [6, 2] 12:04:31.883 [debug] QUERY OK source="media_items" db=54.7ms queue=0.1ms 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 (((((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:04:31.954 [debug] QUERY OK source="media_items" db=71.0ms idle=69.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:04:31.956 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=136.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] 12:04:31.962 [debug] QUERY OK source="tasks" db=0.6ms idle=141.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:04:31.963 [debug] QUERY OK source="media_items" db=0.4ms idle=141.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3483, 3491] 12:04:31.966 [info] Sent 200 in 204ms 12:04:33.699 [info] {"source":"oban","duration":3261,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:27.098 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-arm/sqlean` 01:00:27.098 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-arm/sqlean` 01:00:27.100 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-arm/sqlean` 01:00:27.100 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-arm/sqlean` 01:00:27.101 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-arm/sqlean` 01:00:27.110 [debug] QUERY OK source="oban_jobs" db=6.6ms queue=13.8ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 01:00:27.111 [info] Reset 2 executing jobs 01:00:27.114 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 01:00:28.913 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 01:00:28.914 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 01:00:29.357 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.6 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 01:00:29.360 [debug] QUERY OK source="settings" db=1.4ms queue=1.4ms idle=269.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:00:29.362 [debug] QUERY OK source="settings" db=1.0ms queue=0.2ms idle=272.6ms UPDATE "settings" SET "yt_dlp_version" = ? WHERE "id" = ? ["2026.03.17", 1] 01:00:29.364 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=274.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:00:29.364 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:00:29.376 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 01:00:29.393 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 01:00:29.397 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 01:00:29.410 [info] {"args":{},"id":1655,"meta":{},"system_time":1774620029409705952,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 01:00:29.410 [info] Updating yt-dlp 01:00:29.410 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 01:00:30.405 [info] {"args":{"id":3491},"id":604,"meta":{},"system_time":1774620030405090594,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:00:30.405 [info] {"args":{"id":3483},"id":601,"meta":{},"system_time":1774620030404824594,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:00:30.409 [debug] QUERY OK source="media_items" db=1.2ms queue=1.4ms idle=1042.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" = ?) [3491] 01:00:30.409 [debug] QUERY OK source="media_items" db=1.8ms queue=0.7ms idle=1008.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" = ?) [3483] 01:00:30.410 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:00:30.411 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:00:30.413 [debug] QUERY OK source="sources" db=1.1ms queue=0.3ms idle=25.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" = ?) [4] 01:00:30.421 [debug] QUERY OK source="media_profiles" db=1.2ms queue=5.9ms idle=9.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:00:30.421 [debug] QUERY OK source="sources" db=7.4ms queue=0.6ms idle=1001.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" = ?) [4] 01:00:30.424 [debug] QUERY OK source="media_items" db=2.2ms queue=0.5ms idle=12.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 [3483] 01:00:30.426 [debug] QUERY OK source="media_profiles" db=3.3ms queue=0.2ms 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:00:30.434 [debug] QUERY OK source="media_items" db=5.0ms queue=0.3ms idle=15.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 [3491] 01:00:30.460 [debug] QUERY OK source="media_metadata" db=2.0ms queue=7.4ms idle=31.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" = ?) [3483] 01:00:30.465 [debug] QUERY OK source="media_profiles" db=4.3ms queue=0.5ms idle=36.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:00:30.466 [debug] QUERY OK source="media_metadata" db=5.7ms queue=1.4ms idle=38.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" = ?) [3491] 01:00:30.472 [debug] QUERY OK source="media_profiles" db=3.2ms queue=0.2ms idle=42.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:00:30.473 [debug] QUERY OK source="settings" db=4.0ms queue=0.1ms idle=34.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:00:30.479 [debug] QUERY OK source="settings" db=5.1ms 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 [] 01:00:30.483 [debug] QUERY OK source="settings" db=3.4ms 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:00:30.486 [debug] QUERY OK source="settings" db=12.0ms queue=0.4ms 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 [] 01:00:30.490 [debug] Running yt-dlp command for action: get_downloadable_status 01:00:30.490 [debug] Running yt-dlp command for action: get_downloadable_status 01:00:30.504 [debug] QUERY OK source="settings" db=4.3ms queue=0.9ms idle=26.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:00:30.507 [debug] QUERY OK source="settings" db=4.0ms queue=3.3ms idle=27.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:00:30.508 [debug] QUERY OK source="settings" db=0.5ms idle=24.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:00:30.509 [debug] QUERY OK source="settings" db=0.5ms idle=22.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:00:30.510 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XixUQzPGawA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5e/31/5e313370ae0a98fb1a82a88d84126768a8022d6202bbb2b205cc7ce8e54e0dba.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:00:30.523 [debug] QUERY OK source="settings" db=18.6ms idle=25.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:00:30.524 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=19.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:00:30.524 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_neFznj7OJ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0d/3b/0d3b87605c5605128e6835e85f83b42c1ed805de808167cdf5eb2b96b6febcfb.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:00:36.785 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 100 with: 01:00:36.786 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 01:00:38.017 [info] GET /.well-known/acme-challenge/dxhCE-ehXSrOuRKd9rluV4SAs82LRdMZ7_02kTIQoqk 01:00:38.020 [debug] QUERY OK source="settings" db=1.6ms queue=0.1ms idle=1924.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:00:38.022 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1926.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:00:38.022 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:00:38.024 [error] #PID<0.2609.0> running PinchflatWeb.Endpoint (connection #PID<0.2608.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/dxhCE-ehXSrOuRKd9rluV4SAs82LRdMZ7_02kTIQoqk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/dxhCE-ehXSrOuRKd9rluV4SAs82LRdMZ7_02kTIQoqk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2608.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/dxhCE-ehXSrOuRKd9rluV4SAs82LRdMZ7_02kTIQoqk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 40806}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/dxhCE-ehXSrOuRKd9rluV4SAs82LRdMZ7_02kTIQoqk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2609.0>, params: %{}, path_info: [".well-known", "acme-challenge", "dxhCE-ehXSrOuRKd9rluV4SAs82LRdMZ7_02kTIQoqk"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/dxhCE-ehXSrOuRKd9rluV4SAs82LRdMZ7_02kTIQoqk"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.107"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/dxhCE-ehXSrOuRKd9rluV4SAs82LRdMZ7_02kTIQoqk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKC3hbFKMnHXnuEAAAIj"} ], 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.2608.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/dxhCE-ehXSrOuRKd9rluV4SAs82LRdMZ7_02kTIQoqk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 40806}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/dxhCE-ehXSrOuRKd9rluV4SAs82LRdMZ7_02kTIQoqk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/dxhCE-ehXSrOuRKd9rluV4SAs82LRdMZ7_02kTIQoqk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2608.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/dxhCE-ehXSrOuRKd9rluV4SAs82LRdMZ7_02kTIQoqk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 40806}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/dxhCE-ehXSrOuRKd9rluV4SAs82LRdMZ7_02kTIQoqk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2609.0>, params: %{}, path_info: [".well-known", "acme-challenge", "dxhCE-ehXSrOuRKd9rluV4SAs82LRdMZ7_02kTIQoqk"], 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://pinchflat.f (truncated) 01:00:38.166 [info] GET /.well-known/acme-challenge/qbmnSQY3FXR08Nb_1EMXpfsImnb_kb9ckLc6g-cvISo 01:00:38.167 [debug] QUERY OK source="settings" db=0.6ms idle=698.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:00:38.168 [debug] QUERY OK source="settings" db=0.5ms idle=147.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:00:38.168 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:00:38.179 [error] #PID<0.2611.0> running PinchflatWeb.Endpoint (connection #PID<0.2610.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/qbmnSQY3FXR08Nb_1EMXpfsImnb_kb9ckLc6g-cvISo ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/qbmnSQY3FXR08Nb_1EMXpfsImnb_kb9ckLc6g-cvISo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2610.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/qbmnSQY3FXR08Nb_1EMXpfsImnb_kb9ckLc6g-cvISo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 40816}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/qbmnSQY3FXR08Nb_1EMXpfsImnb_kb9ckLc6g-cvISo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.105", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2611.0>, params: %{}, path_info: [".well-known", "acme-challenge", "qbmnSQY3FXR08Nb_1EMXpfsImnb_kb9ckLc6g-cvISo"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/qbmnSQY3FXR08Nb_1EMXpfsImnb_kb9ckLc6g-cvISo"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.105"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/qbmnSQY3FXR08Nb_1EMXpfsImnb_kb9ckLc6g-cvISo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKC3hboyeNOXrlEAAAxh"} ], 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.2610.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/qbmnSQY3FXR08Nb_1EMXpfsImnb_kb9ckLc6g-cvISo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 40816}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/qbmnSQY3FXR08Nb_1EMXpfsImnb_kb9ckLc6g-cvISo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.105", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/qbmnSQY3FXR08Nb_1EMXpfsImnb_kb9ckLc6g-cvISo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2610.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/qbmnSQY3FXR08Nb_1EMXpfsImnb_kb9ckLc6g-cvISo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 40816}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/qbmnSQY3FXR08Nb_1EMXpfsImnb_kb9ckLc6g-cvISo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.105", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2611.0>, params: %{}, path_info: [".well-known", "acme-challenge", "qbmnSQY3FXR08Nb_1EMXpfsImnb_kb9ckLc6g-cvISo"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWe (truncated) 01:00:38.246 [info] GET /.well-known/acme-challenge/ERhb9q5Wg35XUtUQh7nR2vA7KQuLTlj0B9oBypA6NaE 01:00:38.249 [debug] QUERY OK source="settings" db=2.0ms queue=0.3ms idle=225.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:00:38.251 [debug] QUERY OK source="settings" db=1.1ms queue=0.2ms idle=150.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:00:38.252 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:00:38.254 [error] #PID<0.2612.0> running PinchflatWeb.Endpoint (connection #PID<0.2608.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/ERhb9q5Wg35XUtUQh7nR2vA7KQuLTlj0B9oBypA6NaE ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ERhb9q5Wg35XUtUQh7nR2vA7KQuLTlj0B9oBypA6NaE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2608.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ERhb9q5Wg35XUtUQh7nR2vA7KQuLTlj0B9oBypA6NaE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 40806}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ERhb9q5Wg35XUtUQh7nR2vA7KQuLTlj0B9oBypA6NaE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.106", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2612.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ERhb9q5Wg35XUtUQh7nR2vA7KQuLTlj0B9oBypA6NaE"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ERhb9q5Wg35XUtUQh7nR2vA7KQuLTlj0B9oBypA6NaE"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.106"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/ERhb9q5Wg35XUtUQh7nR2vA7KQuLTlj0B9oBypA6NaE", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKC3hb72xYHUosEAAAyB"} ], 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.2608.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ERhb9q5Wg35XUtUQh7nR2vA7KQuLTlj0B9oBypA6NaE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 40806}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ERhb9q5Wg35XUtUQh7nR2vA7KQuLTlj0B9oBypA6NaE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.106", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ERhb9q5Wg35XUtUQh7nR2vA7KQuLTlj0B9oBypA6NaE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2608.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ERhb9q5Wg35XUtUQh7nR2vA7KQuLTlj0B9oBypA6NaE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 40806}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ERhb9q5Wg35XUtUQh7nR2vA7KQuLTlj0B9oBypA6NaE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.106", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2612.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ERhb9q5Wg35XUtUQh7nR2vA7KQuLTlj0B9oBypA6NaE"], 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://pinchflat.f (truncated) 01:00:38.775 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 01:00:38.787 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=619.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:00:38.790 [info] {"args":{},"id":1655,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":9377786,"event":"job:stop","queue_time":405487,"attempt":1,"tags":["local_data"]} 01:00:40.907 [info] GET / 01:00:40.907 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 01:00:40.908 [debug] QUERY OK source="settings" db=0.3ms idle=809.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:00:40.909 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.4ms idle=809.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 01:00:40.910 [debug] QUERY OK source="sources" db=0.2ms queue=0.2ms idle=811.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 01:00:40.973 [info] GET /.well-known/acme-challenge/_t8aQ-Le75jiorZsmEUb3fyIwPHSMXG4qvuHNCOWn-4 01:00:40.975 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=492.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:00:40.976 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=67.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:00:40.976 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:00:40.977 [error] #PID<0.2614.0> running PinchflatWeb.Endpoint (connection #PID<0.2608.0>, stream id 3) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/_t8aQ-Le75jiorZsmEUb3fyIwPHSMXG4qvuHNCOWn-4 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/_t8aQ-Le75jiorZsmEUb3fyIwPHSMXG4qvuHNCOWn-4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2608.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/_t8aQ-Le75jiorZsmEUb3fyIwPHSMXG4qvuHNCOWn-4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 40806}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/_t8aQ-Le75jiorZsmEUb3fyIwPHSMXG4qvuHNCOWn-4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.213", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2614.0>, params: %{}, path_info: [".well-known", "acme-challenge", "_t8aQ-Le75jiorZsmEUb3fyIwPHSMXG4qvuHNCOWn-4"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/_t8aQ-Le75jiorZsmEUb3fyIwPHSMXG4qvuHNCOWn-4"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.213"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/_t8aQ-Le75jiorZsmEUb3fyIwPHSMXG4qvuHNCOWn-4", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKC3hmGGMSCABXkAAA0h"} ], 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.2608.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/_t8aQ-Le75jiorZsmEUb3fyIwPHSMXG4qvuHNCOWn-4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 40806}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/_t8aQ-Le75jiorZsmEUb3fyIwPHSMXG4qvuHNCOWn-4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.213", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/_t8aQ-Le75jiorZsmEUb3fyIwPHSMXG4qvuHNCOWn-4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2608.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/_t8aQ-Le75jiorZsmEUb3fyIwPHSMXG4qvuHNCOWn-4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 40806}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/_t8aQ-Le75jiorZsmEUb3fyIwPHSMXG4qvuHNCOWn-4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.213", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2614.0>, params: %{}, path_info: [".well-known", "acme-challenge", "_t8aQ-Le75jiorZsmEUb3fyIwPHSMXG4qvuHNCOWn-4"], 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://pinchflat.f (truncated) 01:00:41.073 [info] GET /.well-known/acme-challenge/z1-2Q4D6p9yAFk05c_gHmGybLs2Pm2eVG31tKZtGmMM 01:00:41.075 [debug] QUERY OK source="settings" db=0.9ms idle=164.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:00:41.076 [debug] QUERY OK source="settings" db=0.9ms idle=165.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:00:41.076 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:00:41.077 [error] #PID<0.2615.0> running PinchflatWeb.Endpoint (connection #PID<0.2608.0>, stream id 4) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/z1-2Q4D6p9yAFk05c_gHmGybLs2Pm2eVG31tKZtGmMM ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/z1-2Q4D6p9yAFk05c_gHmGybLs2Pm2eVG31tKZtGmMM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2608.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/z1-2Q4D6p9yAFk05c_gHmGybLs2Pm2eVG31tKZtGmMM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 40806}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/z1-2Q4D6p9yAFk05c_gHmGybLs2Pm2eVG31tKZtGmMM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2615.0>, params: %{}, path_info: [".well-known", "acme-challenge", "z1-2Q4D6p9yAFk05c_gHmGybLs2Pm2eVG31tKZtGmMM"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/z1-2Q4D6p9yAFk05c_gHmGybLs2Pm2eVG31tKZtGmMM"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.210"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/z1-2Q4D6p9yAFk05c_gHmGybLs2Pm2eVG31tKZtGmMM", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKC3hmd9NauVw9kAAA1B"} ], 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.2608.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/z1-2Q4D6p9yAFk05c_gHmGybLs2Pm2eVG31tKZtGmMM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 40806}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/z1-2Q4D6p9yAFk05c_gHmGybLs2Pm2eVG31tKZtGmMM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/z1-2Q4D6p9yAFk05c_gHmGybLs2Pm2eVG31tKZtGmMM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2608.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/z1-2Q4D6p9yAFk05c_gHmGybLs2Pm2eVG31tKZtGmMM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 40806}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/z1-2Q4D6p9yAFk05c_gHmGybLs2Pm2eVG31tKZtGmMM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2615.0>, params: %{}, path_info: [".well-known", "acme-challenge", "z1-2Q4D6p9yAFk05c_gHmGybLs2Pm2eVG31tKZtGmMM"], 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://pinchflat.f (truncated) 01:00:41.448 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_neFznj7OJ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0d/3b/0d3b87605c5605128e6835e85f83b42c1ed805de808167cdf5eb2b96b6febcfb.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:00:41.448 [debug] Running yt-dlp command for action: download 01:00:41.449 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=473.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:00:41.450 [debug] QUERY OK source="settings" db=0.6ms idle=473.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:00:41.452 [debug] QUERY OK source="settings" db=1.3ms idle=375.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:00:41.452 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_neFznj7OJ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8d/13/8d13e2291c8ec3ee0e1f4174e37d1affe6a5c8610c95e29e71cbba902bc159bb.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:00:41.468 [info] GET /.well-known/acme-challenge/rAHTUpgqoH2WsMRUG_tqZ9Ucs9Iz9GEdJVVY_-70TUI 01:00:41.469 [debug] QUERY OK source="settings" db=0.5ms idle=392.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:00:41.475 [debug] QUERY OK source="settings" db=5.2ms idle=20.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:00:41.475 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:00:41.476 [error] #PID<0.2617.0> running PinchflatWeb.Endpoint (connection #PID<0.2616.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/rAHTUpgqoH2WsMRUG_tqZ9Ucs9Iz9GEdJVVY_-70TUI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/rAHTUpgqoH2WsMRUG_tqZ9Ucs9Iz9GEdJVVY_-70TUI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2616.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/rAHTUpgqoH2WsMRUG_tqZ9Ucs9Iz9GEdJVVY_-70TUI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 40830}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/rAHTUpgqoH2WsMRUG_tqZ9Ucs9Iz9GEdJVVY_-70TUI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.211", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2617.0>, params: %{}, path_info: [".well-known", "acme-challenge", "rAHTUpgqoH2WsMRUG_tqZ9Ucs9Iz9GEdJVVY_-70TUI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/rAHTUpgqoH2WsMRUG_tqZ9Ucs9Iz9GEdJVVY_-70TUI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.211"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/rAHTUpgqoH2WsMRUG_tqZ9Ucs9Iz9GEdJVVY_-70TUI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKC3hn8IZuxAOd0AAAJD"} ], 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.2616.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/rAHTUpgqoH2WsMRUG_tqZ9Ucs9Iz9GEdJVVY_-70TUI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 40830}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/rAHTUpgqoH2WsMRUG_tqZ9Ucs9Iz9GEdJVVY_-70TUI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.211", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/rAHTUpgqoH2WsMRUG_tqZ9Ucs9Iz9GEdJVVY_-70TUI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2616.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/rAHTUpgqoH2WsMRUG_tqZ9Ucs9Iz9GEdJVVY_-70TUI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 40830}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/rAHTUpgqoH2WsMRUG_tqZ9Ucs9Iz9GEdJVVY_-70TUI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.211", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2617.0>, params: %{}, path_info: [".well-known", "acme-challenge", "rAHTUpgqoH2WsMRUG_tqZ9Ucs9Iz9GEdJVVY_-70TUI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWe (truncated) 01:00:41.503 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XixUQzPGawA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5e/31/5e313370ae0a98fb1a82a88d84126768a8022d6202bbb2b205cc7ce8e54e0dba.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:00:41.504 [debug] Running yt-dlp command for action: download 01:00:41.505 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=52.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:00:41.505 [debug] QUERY OK source="settings" db=0.4ms idle=35.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:00:41.506 [debug] QUERY OK source="settings" db=0.4ms 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:00:41.506 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XixUQzPGawA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c1/b6/c1b67744dee031bf46141944031607c66b549e628282fb641536b097350048e4.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:00:43.177 [debug] QUERY OK source="media_items" db=2266.8ms queue=0.2ms idle=811.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 01:00:43.457 [debug] QUERY OK source="media_items" db=278.9ms queue=0.5ms idle=680.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 01:00:43.467 [debug] QUERY OK source="settings" db=9.4ms idle=359.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:00:43.470 [debug] QUERY OK source="settings" db=1.4ms queue=0.2ms idle=369.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:00:43.472 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=372.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:00:43.491 [debug] QUERY OK source="media_items" db=16.1ms queue=0.4ms idle=297.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 (NOT (m0."media_filepath" IS NULL)) [] 01:00:43.497 [debug] QUERY OK source="media_items" db=3.0ms queue=1.3ms idle=34.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 01:00:43.503 [debug] QUERY OK source="sources" db=3.2ms queue=0.9ms idle=31.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" IN (?,?)) [6, 2] 01:00:44.727 [debug] QUERY OK source="media_items" db=1210.1ms queue=0.9ms idle=43.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 (((((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"))) [] 01:00:44.804 [debug] QUERY OK source="media_items" db=74.9ms queue=0.6ms idle=1231.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 01:00:44.805 [debug] QUERY OK source="sources" db=0.3ms idle=1301.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:00:44.808 [debug] QUERY OK source="tasks" db=1.2ms idle=1288.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 01:00:44.810 [debug] QUERY OK source="media_items" db=0.8ms idle=286.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3491, 3483] 01:00:44.816 [info] Sent 200 in 3909ms 01:00:48.763 [info] GET /.well-known/acme-challenge/MmTKILFb8wYW8C4eYo11hg9p9r3ZoyEmgF7IH3XhbdI 01:00:48.764 [debug] QUERY OK source="settings" db=0.5ms idle=665.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:00:48.764 [debug] QUERY OK source="settings" db=0.2ms idle=665.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:00:48.764 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:00:48.765 [error] #PID<0.2618.0> running PinchflatWeb.Endpoint (connection #PID<0.2610.0>, stream id 3) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/MmTKILFb8wYW8C4eYo11hg9p9r3ZoyEmgF7IH3XhbdI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/MmTKILFb8wYW8C4eYo11hg9p9r3ZoyEmgF7IH3XhbdI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2610.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/MmTKILFb8wYW8C4eYo11hg9p9r3ZoyEmgF7IH3XhbdI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 40816}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/MmTKILFb8wYW8C4eYo11hg9p9r3ZoyEmgF7IH3XhbdI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2618.0>, params: %{}, path_info: [".well-known", "acme-challenge", "MmTKILFb8wYW8C4eYo11hg9p9r3ZoyEmgF7IH3XhbdI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/MmTKILFb8wYW8C4eYo11hg9p9r3ZoyEmgF7IH3XhbdI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.107"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/MmTKILFb8wYW8C4eYo11hg9p9r3ZoyEmgF7IH3XhbdI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKC3iDHSXYSVOHQAAA3h"} ], 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.2610.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/MmTKILFb8wYW8C4eYo11hg9p9r3ZoyEmgF7IH3XhbdI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 40816}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/MmTKILFb8wYW8C4eYo11hg9p9r3ZoyEmgF7IH3XhbdI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/MmTKILFb8wYW8C4eYo11hg9p9r3ZoyEmgF7IH3XhbdI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2610.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/MmTKILFb8wYW8C4eYo11hg9p9r3ZoyEmgF7IH3XhbdI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 40816}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/MmTKILFb8wYW8C4eYo11hg9p9r3ZoyEmgF7IH3XhbdI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2618.0>, params: %{}, path_info: [".well-known", "acme-challenge", "MmTKILFb8wYW8C4eYo11hg9p9r3ZoyEmgF7IH3XhbdI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWe (truncated) 01:00:49.071 [info] GET /.well-known/acme-challenge/pNhdG8EemuHx5nl4oKew39K0tW5YOuA9O5cqf1yeqdc 01:00:49.074 [debug] QUERY OK source="settings" db=1.9ms idle=973.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:00:49.076 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=976.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:00:49.077 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:00:49.079 [error] #PID<0.2619.0> running PinchflatWeb.Endpoint (connection #PID<0.2610.0>, stream id 4) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/pNhdG8EemuHx5nl4oKew39K0tW5YOuA9O5cqf1yeqdc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/pNhdG8EemuHx5nl4oKew39K0tW5YOuA9O5cqf1yeqdc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2610.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/pNhdG8EemuHx5nl4oKew39K0tW5YOuA9O5cqf1yeqdc", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 40816}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/pNhdG8EemuHx5nl4oKew39K0tW5YOuA9O5cqf1yeqdc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2619.0>, params: %{}, path_info: [".well-known", "acme-challenge", "pNhdG8EemuHx5nl4oKew39K0tW5YOuA9O5cqf1yeqdc"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/pNhdG8EemuHx5nl4oKew39K0tW5YOuA9O5cqf1yeqdc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.210"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/pNhdG8EemuHx5nl4oKew39K0tW5YOuA9O5cqf1yeqdc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKC3iEQwqt2mpO4AAA4B"} ], 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.2610.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/pNhdG8EemuHx5nl4oKew39K0tW5YOuA9O5cqf1yeqdc", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 40816}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/pNhdG8EemuHx5nl4oKew39K0tW5YOuA9O5cqf1yeqdc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/pNhdG8EemuHx5nl4oKew39K0tW5YOuA9O5cqf1yeqdc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2610.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/pNhdG8EemuHx5nl4oKew39K0tW5YOuA9O5cqf1yeqdc", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 40816}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/pNhdG8EemuHx5nl4oKew39K0tW5YOuA9O5cqf1yeqdc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2619.0>, params: %{}, path_info: [".well-known", "acme-challenge", "pNhdG8EemuHx5nl4oKew39K0tW5YOuA9O5cqf1yeqdc"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWe (truncated) 01:00:59.383 [info] {"source":"oban","duration":7317,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:00.377 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:06:20.651 [info] {"source":"oban","duration":2601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:35.362 [info] GET /.well-known/acme-challenge/dK5_NS3D4epS0tP0YtMotT1PiLpLCoUSLuEysF4hHUc 12:06:35.364 [debug] QUERY OK source="settings" db=0.6ms idle=1000.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 [] 12:06:35.365 [debug] QUERY OK source="settings" db=0.3ms idle=360.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 [] 12:06:35.365 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:06:35.366 [error] #PID<0.2625.0> running PinchflatWeb.Endpoint (connection #PID<0.2624.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/dK5_NS3D4epS0tP0YtMotT1PiLpLCoUSLuEysF4hHUc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/dK5_NS3D4epS0tP0YtMotT1PiLpLCoUSLuEysF4hHUc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2624.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/dK5_NS3D4epS0tP0YtMotT1PiLpLCoUSLuEysF4hHUc", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 53200}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/dK5_NS3D4epS0tP0YtMotT1PiLpLCoUSLuEysF4hHUc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2625.0>, params: %{}, path_info: [".well-known", "acme-challenge", "dK5_NS3D4epS0tP0YtMotT1PiLpLCoUSLuEysF4hHUc"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/dK5_NS3D4epS0tP0YtMotT1PiLpLCoUSLuEysF4hHUc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/dK5_NS3D4epS0tP0YtMotT1PiLpLCoUSLuEysF4hHUc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDb3PyyEUGUXuEAAA4h"} ], 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.2624.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/dK5_NS3D4epS0tP0YtMotT1PiLpLCoUSLuEysF4hHUc", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 53200}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/dK5_NS3D4epS0tP0YtMotT1PiLpLCoUSLuEysF4hHUc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/dK5_NS3D4epS0tP0YtMotT1PiLpLCoUSLuEysF4hHUc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2624.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/dK5_NS3D4epS0tP0YtMotT1PiLpLCoUSLuEysF4hHUc", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 53200}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/dK5_NS3D4epS0tP0YtMotT1PiLpLCoUSLuEysF4hHUc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2625.0>, params: %{}, path_info: [".well-known", "acme-challenge", "dK5_NS3D4epS0tP0YtMotT1PiLpLCoUSLuEysF4hHUc"], 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://pinchflat.f2fv7 (truncated) 12:06:35.465 [info] GET /.well-known/acme-challenge/u5il4CpQ2RQhAYhnZbhET6npP3DzmuCOyFudA6zxptw 12:06:35.466 [debug] QUERY OK source="settings" db=0.3ms idle=102.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 [] 12:06:35.467 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=103.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 [] 12:06:35.467 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:06:35.468 [error] #PID<0.2626.0> running PinchflatWeb.Endpoint (connection #PID<0.2624.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/u5il4CpQ2RQhAYhnZbhET6npP3DzmuCOyFudA6zxptw ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/u5il4CpQ2RQhAYhnZbhET6npP3DzmuCOyFudA6zxptw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2624.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/u5il4CpQ2RQhAYhnZbhET6npP3DzmuCOyFudA6zxptw", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 53200}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/u5il4CpQ2RQhAYhnZbhET6npP3DzmuCOyFudA6zxptw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2626.0>, params: %{}, path_info: [".well-known", "acme-challenge", "u5il4CpQ2RQhAYhnZbhET6npP3DzmuCOyFudA6zxptw"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/u5il4CpQ2RQhAYhnZbhET6npP3DzmuCOyFudA6zxptw"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/u5il4CpQ2RQhAYhnZbhET6npP3DzmuCOyFudA6zxptw", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDb3QLLNlOs0CAAAA5B"} ], 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.2624.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/u5il4CpQ2RQhAYhnZbhET6npP3DzmuCOyFudA6zxptw", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 53200}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/u5il4CpQ2RQhAYhnZbhET6npP3DzmuCOyFudA6zxptw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/u5il4CpQ2RQhAYhnZbhET6npP3DzmuCOyFudA6zxptw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2624.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/u5il4CpQ2RQhAYhnZbhET6npP3DzmuCOyFudA6zxptw", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 53200}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/u5il4CpQ2RQhAYhnZbhET6npP3DzmuCOyFudA6zxptw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2626.0>, params: %{}, path_info: [".well-known", "acme-challenge", "u5il4CpQ2RQhAYhnZbhET6npP3DzmuCOyFudA6zxptw"], 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://pinchflat.f2fv7 (truncated) 12:06:36.615 [info] GET /.well-known/acme-challenge/ozDEHoe_UFJpGQonUB7WhBDa1pPXo4rx7PRdR1yRauo 12:06:36.617 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1252.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 [] 12:06:36.618 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1253.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 [] 12:06:36.619 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:06:36.620 [error] #PID<0.2628.0> running PinchflatWeb.Endpoint (connection #PID<0.2627.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/ozDEHoe_UFJpGQonUB7WhBDa1pPXo4rx7PRdR1yRauo ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ozDEHoe_UFJpGQonUB7WhBDa1pPXo4rx7PRdR1yRauo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ozDEHoe_UFJpGQonUB7WhBDa1pPXo4rx7PRdR1yRauo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53210}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/ozDEHoe_UFJpGQonUB7WhBDa1pPXo4rx7PRdR1yRauo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2628.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ozDEHoe_UFJpGQonUB7WhBDa1pPXo4rx7PRdR1yRauo"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/ozDEHoe_UFJpGQonUB7WhBDa1pPXo4rx7PRdR1yRauo"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/ozDEHoe_UFJpGQonUB7WhBDa1pPXo4rx7PRdR1yRauo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDb3Udff9p1ZTYAAA5h"} ], 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.2627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ozDEHoe_UFJpGQonUB7WhBDa1pPXo4rx7PRdR1yRauo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53210}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/ozDEHoe_UFJpGQonUB7WhBDa1pPXo4rx7PRdR1yRauo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ozDEHoe_UFJpGQonUB7WhBDa1pPXo4rx7PRdR1yRauo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ozDEHoe_UFJpGQonUB7WhBDa1pPXo4rx7PRdR1yRauo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53210}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/ozDEHoe_UFJpGQonUB7WhBDa1pPXo4rx7PRdR1yRauo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2628.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ozDEHoe_UFJpGQonUB7WhBDa1pPXo4rx7PRdR1yRauo"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:06:36.641 [info] GET / 12:06:36.642 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:06:36.643 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1176.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 [] 12:06:36.644 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1176.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:06:36.645 [debug] QUERY OK source="sources" db=0.3ms idle=636.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:06:36.725 [debug] QUERY OK source="media_items" db=80.3ms idle=27.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:06:36.730 [debug] QUERY OK source="media_items" db=4.1ms idle=107.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:06:36.731 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=87.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 [] 12:06:36.732 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=87.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 [] 12:06:36.733 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=88.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 [] 12:06:36.747 [debug] QUERY OK source="media_items" db=11.9ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 12:06:36.750 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=17.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:06:36.751 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=19.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" IN (?,?)) [6, 2] 12:06:36.813 [debug] QUERY OK source="media_items" db=56.0ms idle=25.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 (((((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:06:36.829 [debug] QUERY OK source="media_items" db=14.3ms queue=0.2ms idle=80.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:06:36.830 [debug] QUERY OK source="sources" db=0.3ms idle=83.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] 12:06:36.836 [debug] QUERY OK source="tasks" db=0.6ms idle=85.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:06:36.837 [debug] QUERY OK source="media_items" db=0.7ms idle=85.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3491, 3483] 12:06:36.841 [info] Sent 200 in 199ms 12:06:37.052 [info] GET /.well-known/acme-challenge/Me4-33DCuuXndBcJF5KmG4LE-E8nxcYUoDCUCW8D1Qc 12:06:37.052 [debug] QUERY OK source="settings" db=0.3ms idle=223.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 [] 12:06:37.053 [debug] QUERY OK source="settings" db=0.4ms idle=222.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 [] 12:06:37.054 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:06:37.054 [error] #PID<0.2630.0> running PinchflatWeb.Endpoint (connection #PID<0.2627.0>, stream id 3) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/Me4-33DCuuXndBcJF5KmG4LE-E8nxcYUoDCUCW8D1Qc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Me4-33DCuuXndBcJF5KmG4LE-E8nxcYUoDCUCW8D1Qc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Me4-33DCuuXndBcJF5KmG4LE-E8nxcYUoDCUCW8D1Qc", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53210}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Me4-33DCuuXndBcJF5KmG4LE-E8nxcYUoDCUCW8D1Qc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.104", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2630.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Me4-33DCuuXndBcJF5KmG4LE-E8nxcYUoDCUCW8D1Qc"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/Me4-33DCuuXndBcJF5KmG4LE-E8nxcYUoDCUCW8D1Qc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.104"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/Me4-33DCuuXndBcJF5KmG4LE-E8nxcYUoDCUCW8D1Qc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDb3WFii5Y4WRsAAAUi"} ], 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.2627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Me4-33DCuuXndBcJF5KmG4LE-E8nxcYUoDCUCW8D1Qc", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53210}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Me4-33DCuuXndBcJF5KmG4LE-E8nxcYUoDCUCW8D1Qc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.104", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Me4-33DCuuXndBcJF5KmG4LE-E8nxcYUoDCUCW8D1Qc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Me4-33DCuuXndBcJF5KmG4LE-E8nxcYUoDCUCW8D1Qc", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53210}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Me4-33DCuuXndBcJF5KmG4LE-E8nxcYUoDCUCW8D1Qc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.104", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2630.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Me4-33DCuuXndBcJF5KmG4LE-E8nxcYUoDCUCW8D1Qc"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWe (truncated) 12:06:38.301 [info] GET /.well-known/acme-challenge/KWARbmlnzzITTj6fbsIMqDs6xcI0JgQqYLgiN-vM-uk 12:06:38.302 [debug] QUERY OK source="settings" db=0.3ms idle=1464.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 [] 12:06:38.302 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1290.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 [] 12:06:38.303 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:06:38.303 [error] #PID<0.2631.0> running PinchflatWeb.Endpoint (connection #PID<0.2624.0>, stream id 3) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/KWARbmlnzzITTj6fbsIMqDs6xcI0JgQqYLgiN-vM-uk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/KWARbmlnzzITTj6fbsIMqDs6xcI0JgQqYLgiN-vM-uk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2624.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/KWARbmlnzzITTj6fbsIMqDs6xcI0JgQqYLgiN-vM-uk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 53200}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/KWARbmlnzzITTj6fbsIMqDs6xcI0JgQqYLgiN-vM-uk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2631.0>, params: %{}, path_info: [".well-known", "acme-challenge", "KWARbmlnzzITTj6fbsIMqDs6xcI0JgQqYLgiN-vM-uk"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/KWARbmlnzzITTj6fbsIMqDs6xcI0JgQqYLgiN-vM-uk"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/KWARbmlnzzITTj6fbsIMqDs6xcI0JgQqYLgiN-vM-uk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDb3avUjTYQWPcAAA-h"} ], 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.2624.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/KWARbmlnzzITTj6fbsIMqDs6xcI0JgQqYLgiN-vM-uk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 53200}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/KWARbmlnzzITTj6fbsIMqDs6xcI0JgQqYLgiN-vM-uk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/KWARbmlnzzITTj6fbsIMqDs6xcI0JgQqYLgiN-vM-uk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2624.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/KWARbmlnzzITTj6fbsIMqDs6xcI0JgQqYLgiN-vM-uk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 53200}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/KWARbmlnzzITTj6fbsIMqDs6xcI0JgQqYLgiN-vM-uk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2631.0>, params: %{}, path_info: [".well-known", "acme-challenge", "KWARbmlnzzITTj6fbsIMqDs6xcI0JgQqYLgiN-vM-uk"], 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://pinchflat.f2fv7 (truncated) 12:06:39.351 [info] GET /.well-known/acme-challenge/mNPiHy692kBFZOtszwbhkAfkfvRiZ0WCFigaX_QV7mM 12:06:39.352 [debug] QUERY OK source="settings" db=0.2ms idle=1049.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 [] 12:06:39.352 [debug] QUERY OK source="settings" db=0.2ms idle=1049.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 [] 12:06:39.352 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:06:39.353 [error] #PID<0.2632.0> running PinchflatWeb.Endpoint (connection #PID<0.2627.0>, stream id 4) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/mNPiHy692kBFZOtszwbhkAfkfvRiZ0WCFigaX_QV7mM ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/mNPiHy692kBFZOtszwbhkAfkfvRiZ0WCFigaX_QV7mM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/mNPiHy692kBFZOtszwbhkAfkfvRiZ0WCFigaX_QV7mM", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53210}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/mNPiHy692kBFZOtszwbhkAfkfvRiZ0WCFigaX_QV7mM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2632.0>, params: %{}, path_info: [".well-known", "acme-challenge", "mNPiHy692kBFZOtszwbhkAfkfvRiZ0WCFigaX_QV7mM"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/mNPiHy692kBFZOtszwbhkAfkfvRiZ0WCFigaX_QV7mM"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/mNPiHy692kBFZOtszwbhkAfkfvRiZ0WCFigaX_QV7mM", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDb3epyhfjSoeYAAA_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.2627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/mNPiHy692kBFZOtszwbhkAfkfvRiZ0WCFigaX_QV7mM", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53210}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/mNPiHy692kBFZOtszwbhkAfkfvRiZ0WCFigaX_QV7mM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/mNPiHy692kBFZOtszwbhkAfkfvRiZ0WCFigaX_QV7mM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/mNPiHy692kBFZOtszwbhkAfkfvRiZ0WCFigaX_QV7mM", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53210}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/mNPiHy692kBFZOtszwbhkAfkfvRiZ0WCFigaX_QV7mM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2632.0>, params: %{}, path_info: [".well-known", "acme-challenge", "mNPiHy692kBFZOtszwbhkAfkfvRiZ0WCFigaX_QV7mM"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:06:42.830 [info] GET /.well-known/acme-challenge/HZlMuaqztX9zW8Xxz5AxdI3kQNCkI9t3Blkq0k1lsOI 12:06:42.831 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=800.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 [] 12:06:42.832 [debug] QUERY OK source="settings" db=0.2ms idle=468.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 [] 12:06:42.832 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:06:42.833 [error] #PID<0.2633.0> running PinchflatWeb.Endpoint (connection #PID<0.2624.0>, stream id 4) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/HZlMuaqztX9zW8Xxz5AxdI3kQNCkI9t3Blkq0k1lsOI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/HZlMuaqztX9zW8Xxz5AxdI3kQNCkI9t3Blkq0k1lsOI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2624.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/HZlMuaqztX9zW8Xxz5AxdI3kQNCkI9t3Blkq0k1lsOI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 53200}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/HZlMuaqztX9zW8Xxz5AxdI3kQNCkI9t3Blkq0k1lsOI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2633.0>, params: %{}, path_info: [".well-known", "acme-challenge", "HZlMuaqztX9zW8Xxz5AxdI3kQNCkI9t3Blkq0k1lsOI"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/HZlMuaqztX9zW8Xxz5AxdI3kQNCkI9t3Blkq0k1lsOI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/HZlMuaqztX9zW8Xxz5AxdI3kQNCkI9t3Blkq0k1lsOI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDb3rnF-MwpLBcAAA_h"} ], 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.2624.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/HZlMuaqztX9zW8Xxz5AxdI3kQNCkI9t3Blkq0k1lsOI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 53200}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/HZlMuaqztX9zW8Xxz5AxdI3kQNCkI9t3Blkq0k1lsOI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/HZlMuaqztX9zW8Xxz5AxdI3kQNCkI9t3Blkq0k1lsOI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2624.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/HZlMuaqztX9zW8Xxz5AxdI3kQNCkI9t3Blkq0k1lsOI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 53200}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/HZlMuaqztX9zW8Xxz5AxdI3kQNCkI9t3Blkq0k1lsOI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2633.0>, params: %{}, path_info: [".well-known", "acme-challenge", "HZlMuaqztX9zW8Xxz5AxdI3kQNCkI9t3Blkq0k1lsOI"], 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://pinchflat.f2fv7 (truncated) 12:06:44.193 [info] GET /.well-known/acme-challenge/lq1Fw73qxeQXi-IZii0Je_xNnBO5vh-JWLwKqQiLxWI 12:06:44.194 [debug] QUERY OK source="settings" db=0.6ms idle=1830.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 [] 12:06:44.195 [debug] QUERY OK source="settings" db=0.3ms idle=1362.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 [] 12:06:44.195 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:06:44.196 [error] #PID<0.2634.0> running PinchflatWeb.Endpoint (connection #PID<0.2627.0>, stream id 5) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/lq1Fw73qxeQXi-IZii0Je_xNnBO5vh-JWLwKqQiLxWI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/lq1Fw73qxeQXi-IZii0Je_xNnBO5vh-JWLwKqQiLxWI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/lq1Fw73qxeQXi-IZii0Je_xNnBO5vh-JWLwKqQiLxWI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53210}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/lq1Fw73qxeQXi-IZii0Je_xNnBO5vh-JWLwKqQiLxWI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2634.0>, params: %{}, path_info: [".well-known", "acme-challenge", "lq1Fw73qxeQXi-IZii0Je_xNnBO5vh-JWLwKqQiLxWI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/lq1Fw73qxeQXi-IZii0Je_xNnBO5vh-JWLwKqQiLxWI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/lq1Fw73qxeQXi-IZii0Je_xNnBO5vh-JWLwKqQiLxWI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDb3wsIns5cnbIAABAB"} ], 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.2627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/lq1Fw73qxeQXi-IZii0Je_xNnBO5vh-JWLwKqQiLxWI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53210}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/lq1Fw73qxeQXi-IZii0Je_xNnBO5vh-JWLwKqQiLxWI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/lq1Fw73qxeQXi-IZii0Je_xNnBO5vh-JWLwKqQiLxWI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/lq1Fw73qxeQXi-IZii0Je_xNnBO5vh-JWLwKqQiLxWI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53210}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/lq1Fw73qxeQXi-IZii0Je_xNnBO5vh-JWLwKqQiLxWI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2634.0>, params: %{}, path_info: [".well-known", "acme-challenge", "lq1Fw73qxeQXi-IZii0Je_xNnBO5vh-JWLwKqQiLxWI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:06:44.579 [info] GET /.well-known/acme-challenge/pabD6m_BqHqYDZSHHwKj6f6UQtk3zaI1lOpb7yp8Df0 12:06:44.584 [debug] QUERY OK source="settings" db=1.8ms queue=0.8ms idle=534.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 [] 12:06:44.585 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=390.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 [] 12:06:44.586 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:06:44.587 [error] #PID<0.2635.0> running PinchflatWeb.Endpoint (connection #PID<0.2627.0>, stream id 6) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/pabD6m_BqHqYDZSHHwKj6f6UQtk3zaI1lOpb7yp8Df0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/pabD6m_BqHqYDZSHHwKj6f6UQtk3zaI1lOpb7yp8Df0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/pabD6m_BqHqYDZSHHwKj6f6UQtk3zaI1lOpb7yp8Df0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53210}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/pabD6m_BqHqYDZSHHwKj6f6UQtk3zaI1lOpb7yp8Df0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2635.0>, params: %{}, path_info: [".well-known", "acme-challenge", "pabD6m_BqHqYDZSHHwKj6f6UQtk3zaI1lOpb7yp8Df0"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/pabD6m_BqHqYDZSHHwKj6f6UQtk3zaI1lOpb7yp8Df0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/pabD6m_BqHqYDZSHHwKj6f6UQtk3zaI1lOpb7yp8Df0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDb3yIN9kEAE4AAABAh"} ], 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.2627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/pabD6m_BqHqYDZSHHwKj6f6UQtk3zaI1lOpb7yp8Df0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53210}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/pabD6m_BqHqYDZSHHwKj6f6UQtk3zaI1lOpb7yp8Df0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/pabD6m_BqHqYDZSHHwKj6f6UQtk3zaI1lOpb7yp8Df0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/pabD6m_BqHqYDZSHHwKj6f6UQtk3zaI1lOpb7yp8Df0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53210}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/pabD6m_BqHqYDZSHHwKj6f6UQtk3zaI1lOpb7yp8Df0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2635.0>, params: %{}, path_info: [".well-known", "acme-challenge", "pabD6m_BqHqYDZSHHwKj6f6UQtk3zaI1lOpb7yp8Df0"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:06:44.867 [info] GET /.well-known/acme-challenge/VQd72sdg3ZzTHWyCTbj-DW0kA2aoob_obHn61FHfe_w 12:06:44.869 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=673.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 [] 12:06:44.870 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=505.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 [] 12:06:44.870 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:06:44.871 [error] #PID<0.2636.0> running PinchflatWeb.Endpoint (connection #PID<0.2624.0>, stream id 5) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/VQd72sdg3ZzTHWyCTbj-DW0kA2aoob_obHn61FHfe_w ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/VQd72sdg3ZzTHWyCTbj-DW0kA2aoob_obHn61FHfe_w (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2624.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/VQd72sdg3ZzTHWyCTbj-DW0kA2aoob_obHn61FHfe_w", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 53200}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/VQd72sdg3ZzTHWyCTbj-DW0kA2aoob_obHn61FHfe_w", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.104", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2636.0>, params: %{}, path_info: [".well-known", "acme-challenge", "VQd72sdg3ZzTHWyCTbj-DW0kA2aoob_obHn61FHfe_w"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/VQd72sdg3ZzTHWyCTbj-DW0kA2aoob_obHn61FHfe_w"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.104"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/VQd72sdg3ZzTHWyCTbj-DW0kA2aoob_obHn61FHfe_w", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDb3zM2y_RcxNgAABBB"} ], 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.2624.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/VQd72sdg3ZzTHWyCTbj-DW0kA2aoob_obHn61FHfe_w", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 53200}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/VQd72sdg3ZzTHWyCTbj-DW0kA2aoob_obHn61FHfe_w", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.104", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/VQd72sdg3ZzTHWyCTbj-DW0kA2aoob_obHn61FHfe_w (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2624.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/VQd72sdg3ZzTHWyCTbj-DW0kA2aoob_obHn61FHfe_w", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 53200}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/VQd72sdg3ZzTHWyCTbj-DW0kA2aoob_obHn61FHfe_w", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.104", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2636.0>, params: %{}, path_info: [".well-known", "acme-challenge", "VQd72sdg3ZzTHWyCTbj-DW0kA2aoob_obHn61FHfe_w"], 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://pinchflat.f (truncated) 12:06:50.655 [info] {"source":"oban","duration":2210,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:51.643 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:07:00.646 [info] {"source":"oban","duration":1183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:07:03.960 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XixUQzPGawA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c1/b6/c1b67744dee031bf46141944031607c66b549e628282fb641536b097350048e4.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:07:03.996 [debug] Running yt-dlp command for action: download_thumbnail 12:07:03.998 [debug] QUERY OK source="settings" db=0.2ms idle=1634.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 [] 12:07:03.998 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=1634.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 [] 12:07:03.999 [debug] QUERY OK source="settings" db=0.1ms idle=1635.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 [] 12:07:03.999 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XixUQzPGawA --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3483/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/91/76/9176c6385c2e8803852c87babb6e5f68bbff9c7d2b2ab02f596ce1f4392d5782.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:07:10.691 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XixUQzPGawA --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3483/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/91/76/9176c6385c2e8803852c87babb6e5f68bbff9c7d2b2ab02f596ce1f4392d5782.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:07:10.692 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1329.1ms begin [] 12:07:10.695 [debug] QUERY OK source="media_items" db=2.7ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:07:03Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e072899 - El Presidente Cocktail With Modern Approach.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e072899 - El Presidente Cocktail With Modern Approach.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e072899 - El Presidente Cocktail With Modern Approach.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e072899 - El Presidente Cocktail With Modern Approach.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e072899 - El Presidente Cocktail With Modern Approach.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e072899 - El Presidente Cocktail With Modern Approach-thumb.jpg", ~U[2026-03-28 01:07:10Z], 3483] 12:07:10.697 [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/3483/metadata.json.gz", "/config/metadata/media_items/3483/thumbnail.jpg", 3483, ~U[2026-03-28 01:07:10Z], ~U[2026-03-28 01:07:10Z]] 12:07:10.699 [debug] QUERY OK db=1.4ms commit [] 12:07:10.749 [debug] QUERY OK source="media_items" db=28.1ms idle=1357.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [169209137, ~U[2026-03-28 01:07:10Z], 3483] 12:07:10.749 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:07:10.751 [info] {"args":{"id":3483},"id":601,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":109080351,"event":"job:stop","queue_time":35566394405,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:07:10.780 [info] {"args":{"id":3494},"id":605,"meta":{},"system_time":1774660030780671665,"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"]} 12:07:10.808 [debug] QUERY OK source="media_items" db=27.3ms idle=417.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" = ?) [3494] 12:07:10.809 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:07:10.820 [debug] QUERY OK source="sources" db=10.7ms queue=0.1ms idle=110.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" = ?) [4] 12:07:10.821 [debug] QUERY OK source="media_profiles" db=0.4ms idle=72.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] 12:07:10.822 [debug] QUERY OK source="media_items" db=0.5ms idle=71.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 [3494] 12:07:10.824 [debug] QUERY OK source="media_metadata" db=0.3ms idle=44.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" = ?) [3494] 12:07:10.825 [debug] QUERY OK source="media_profiles" db=0.6ms idle=16.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] 12:07:10.826 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:07:10.826 [debug] QUERY OK source="settings" db=0.1ms idle=5.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 [] 12:07:10.827 [debug] Running yt-dlp command for action: get_downloadable_status 12:07:10.828 [debug] QUERY OK source="settings" db=0.2ms idle=5.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 [] 12:07:10.829 [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 [] 12:07:10.829 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms 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 [] 12:07:10.830 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9A7cVWMSZAU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/56/5d/565d08190811ba93c937c536825dabcbfcf12def7bdb2ef254eb0517549bae7f.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:07:17.862 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9A7cVWMSZAU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/56/5d/565d08190811ba93c937c536825dabcbfcf12def7bdb2ef254eb0517549bae7f.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:07:17.863 [debug] Running yt-dlp command for action: download 12:07:17.863 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1499.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 [] 12:07:17.864 [debug] QUERY OK source="settings" db=0.1ms idle=1500.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 [] 12:07:17.864 [debug] QUERY OK source="settings" db=0.4ms idle=1500.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 [] 12:07:17.865 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9A7cVWMSZAU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f6/81/f68189d176a4694ef3c037e3b355347ffd56552c1704c0f43ca00a5005321471.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:07:20.659 [info] {"source":"oban","duration":3087,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:37.194 [info] GET / 12:07:37.194 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:07:37.195 [debug] QUERY OK source="settings" db=0.4ms idle=1831.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 [] 12:07:37.195 [debug] QUERY OK source="media_profiles" db=0.2ms idle=986.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:07:37.196 [debug] QUERY OK source="sources" db=0.3ms idle=832.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:07:37.255 [debug] QUERY OK source="media_items" db=59.0ms idle=832.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:07:37.260 [debug] QUERY OK source="media_items" db=4.2ms queue=0.1ms idle=60.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:07:37.261 [debug] QUERY OK source="settings" db=0.6ms idle=65.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 [] 12:07:37.262 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=65.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 [] 12:07:37.264 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=50.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 [] 12:07:37.269 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=11.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 (NOT (m0."media_filepath" IS NULL)) [] 12:07:37.271 [debug] QUERY OK source="media_items" db=0.7ms queue=0.3ms idle=10.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:07:37.273 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=11.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" IN (?,?)) [6, 2] 12:07:37.354 [debug] QUERY OK source="media_items" db=74.3ms idle=17.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 (((((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:07:37.423 [debug] QUERY OK source="media_items" db=68.3ms idle=91.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:07:37.424 [debug] QUERY OK source="sources" db=0.3ms idle=154.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" = ?) [6] 12:07:37.430 [debug] QUERY OK source="tasks" db=0.4ms idle=158.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:07:37.431 [debug] QUERY OK source="media_items" db=0.5ms idle=157.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3491, 3494] 12:07:37.435 [info] Sent 200 in 240ms 12:07:42.071 [info] GET /.well-known/acme-challenge/e4Oj50yANGteLetUfmgtetQ13qDgai_fuxbz_qelvUA 12:07:42.071 [debug] QUERY OK source="settings" db=0.2ms idle=850.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 [] 12:07:42.072 [debug] QUERY OK source="settings" db=0.2ms idle=708.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 [] 12:07:42.072 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:07:42.073 [error] #PID<0.2651.0> running PinchflatWeb.Endpoint (connection #PID<0.2649.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/e4Oj50yANGteLetUfmgtetQ13qDgai_fuxbz_qelvUA ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/e4Oj50yANGteLetUfmgtetQ13qDgai_fuxbz_qelvUA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2649.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/e4Oj50yANGteLetUfmgtetQ13qDgai_fuxbz_qelvUA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52912}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/e4Oj50yANGteLetUfmgtetQ13qDgai_fuxbz_qelvUA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2651.0>, params: %{}, path_info: [".well-known", "acme-challenge", "e4Oj50yANGteLetUfmgtetQ13qDgai_fuxbz_qelvUA"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/e4Oj50yANGteLetUfmgtetQ13qDgai_fuxbz_qelvUA"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/e4Oj50yANGteLetUfmgtetQ13qDgai_fuxbz_qelvUA", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDb7ITQkPmBFlAAABDB"} ], 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.2649.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/e4Oj50yANGteLetUfmgtetQ13qDgai_fuxbz_qelvUA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52912}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/e4Oj50yANGteLetUfmgtetQ13qDgai_fuxbz_qelvUA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/e4Oj50yANGteLetUfmgtetQ13qDgai_fuxbz_qelvUA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2649.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/e4Oj50yANGteLetUfmgtetQ13qDgai_fuxbz_qelvUA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52912}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/e4Oj50yANGteLetUfmgtetQ13qDgai_fuxbz_qelvUA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2651.0>, params: %{}, path_info: [".well-known", "acme-challenge", "e4Oj50yANGteLetUfmgtetQ13qDgai_fuxbz_qelvUA"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:07:43.301 [info] GET /sources/9/media/10117 12:07:43.301 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "10117", "prevent_download" => "true", "source_id" => "9"} Pipelines: [:browser] 12:07:43.302 [debug] QUERY OK source="media_items" db=0.6ms idle=1938.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" = ?) [10117] 12:07:43.303 [debug] QUERY OK source="sources" db=0.5ms idle=1230.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" = ?) [2] 12:07:43.304 [debug] QUERY OK source="tasks" db=1.5ms queue=0.1ms idle=1231.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" [10117] 12:07:43.305 [debug] QUERY OK source="settings" db=0.3ms idle=1080.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 [] 12:07:43.306 [debug] QUERY OK source="settings" db=0.2ms idle=79.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 [] 12:07:43.307 [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 [] 12:07:43.308 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 12:07:43.309 [info] Sent 200 in 8ms 12:07:49.607 [info] GET /.well-known/acme-challenge/hOHUkhgywE32G6w3-Nk9bsZVWL3guzqdJQJ1-7jnY00 12:07:49.610 [debug] QUERY OK source="settings" db=0.7ms queue=0.5ms idle=1245.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 [] 12:07:49.611 [debug] QUERY OK source="settings" db=0.4ms idle=1247.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 [] 12:07:49.611 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:07:49.612 [error] #PID<0.2657.0> running PinchflatWeb.Endpoint (connection #PID<0.2656.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/hOHUkhgywE32G6w3-Nk9bsZVWL3guzqdJQJ1-7jnY00 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/hOHUkhgywE32G6w3-Nk9bsZVWL3guzqdJQJ1-7jnY00 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2656.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/hOHUkhgywE32G6w3-Nk9bsZVWL3guzqdJQJ1-7jnY00", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 58440}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/hOHUkhgywE32G6w3-Nk9bsZVWL3guzqdJQJ1-7jnY00", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2657.0>, params: %{}, path_info: [".well-known", "acme-challenge", "hOHUkhgywE32G6w3-Nk9bsZVWL3guzqdJQJ1-7jnY00"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/hOHUkhgywE32G6w3-Nk9bsZVWL3guzqdJQJ1-7jnY00"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/hOHUkhgywE32G6w3-Nk9bsZVWL3guzqdJQJ1-7jnY00", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDb7kYK1uyOEXcAAAKj"} ], 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.2656.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/hOHUkhgywE32G6w3-Nk9bsZVWL3guzqdJQJ1-7jnY00", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 58440}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/hOHUkhgywE32G6w3-Nk9bsZVWL3guzqdJQJ1-7jnY00", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/hOHUkhgywE32G6w3-Nk9bsZVWL3guzqdJQJ1-7jnY00 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2656.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/hOHUkhgywE32G6w3-Nk9bsZVWL3guzqdJQJ1-7jnY00", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 58440}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/hOHUkhgywE32G6w3-Nk9bsZVWL3guzqdJQJ1-7jnY00", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2657.0>, params: %{}, path_info: [".well-known", "acme-challenge", "hOHUkhgywE32G6w3-Nk9bsZVWL3guzqdJQJ1-7jnY00"], 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://pinchflat.f2fv7 (truncated) 12:07:50.664 [info] {"source":"oban","duration":4184,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:51.943 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_neFznj7OJ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8d/13/8d13e2291c8ec3ee0e1f4174e37d1affe6a5c8610c95e29e71cbba902bc159bb.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:07:52.000 [debug] Running yt-dlp command for action: download_thumbnail 12:07:52.003 [debug] QUERY OK source="settings" db=0.7ms idle=1639.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 [] 12:07:52.004 [debug] QUERY OK source="settings" db=0.5ms idle=1640.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 [] 12:07:52.005 [debug] QUERY OK source="settings" db=0.4ms idle=1340.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 [] 12:07:52.006 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_neFznj7OJ0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3491/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/81/71/8171f71f73440c0d5a35a84dbe8543464f2b897eb660d08c33d59a7423f1c12f.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:07:59.098 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_neFznj7OJ0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3491/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/81/71/8171f71f73440c0d5a35a84dbe8543464f2b897eb660d08c33d59a7423f1c12f.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:07:59.099 [debug] QUERY OK db=0.0ms idle=1735.7ms begin [] 12:07:59.102 [debug] QUERY OK source="media_items" db=2.2ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:07:51Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e063099 - Slushy Cocktail - Perfect Summer Drink!.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e063099 - Slushy Cocktail - Perfect Summer Drink!.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e063099 - Slushy Cocktail - Perfect Summer Drink!.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e063099 - Slushy Cocktail - Perfect Summer Drink!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e063099 - Slushy Cocktail - Perfect Summer Drink!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e063099 - Slushy Cocktail - Perfect Summer Drink!-thumb.jpg", ~U[2026-03-28 01:07:59Z], 3491] 12:07:59.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/3491/metadata.json.gz", "/config/metadata/media_items/3491/thumbnail.jpg", 3491, ~U[2026-03-28 01:07:59Z], ~U[2026-03-28 01:07:59Z]] 12:07:59.105 [debug] QUERY OK db=1.4ms commit [] 12:07:59.127 [debug] QUERY OK source="media_items" db=4.1ms idle=1759.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [89847931, ~U[2026-03-28 01:07:59Z], 3491] 12:07:59.127 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:07:59.129 [info] {"args":{"id":3491},"id":604,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":157458247,"event":"job:stop","queue_time":35552394405,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:07:59.148 [info] {"args":{"id":3497},"id":606,"meta":{},"system_time":1774660079148632392,"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"]} 12:07:59.158 [debug] QUERY OK source="media_items" db=9.1ms idle=864.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" = ?) [3497] 12:07:59.158 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:07:59.173 [debug] QUERY OK source="sources" db=14.7ms idle=53.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" = ?) [4] 12:07:59.174 [debug] QUERY OK source="media_profiles" db=0.6ms idle=46.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] 12:07:59.175 [debug] QUERY OK source="media_items" db=0.4ms idle=46.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 [3497] 12:07:59.176 [debug] QUERY OK source="media_metadata" db=0.2ms idle=28.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" = ?) [3497] 12:07:59.177 [debug] QUERY OK source="media_profiles" db=0.2ms idle=18.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] 12:07:59.178 [debug] QUERY OK source="settings" db=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 [] 12:07:59.178 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:07:59.179 [debug] Running yt-dlp command for action: get_downloadable_status 12:07:59.180 [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 [] 12:07:59.180 [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 [] 12:07:59.180 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:07:59.180 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7wRYcXEbcv8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/45/5e/455ec4ec332ed2d631c6bc559fcf32e1bc88f6050ac604e216f48a95bf0aa496.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:08:00.649 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:08:05.475 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7wRYcXEbcv8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/45/5e/455ec4ec332ed2d631c6bc559fcf32e1bc88f6050ac604e216f48a95bf0aa496.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:08:05.476 [debug] Running yt-dlp command for action: download 12:08:05.477 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1113.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 [] 12:08:05.477 [debug] QUERY OK source="settings" db=0.3ms idle=1114.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 [] 12:08:05.478 [debug] QUERY OK source="settings" db=0.3ms idle=1114.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 [] 12:08:05.479 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7wRYcXEbcv8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/55/ef/55ef15eae70b308f6e277dce700e8a7994f11f28fa48d09b49539afde388df5d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:08:20.668 [info] {"source":"oban","duration":2886,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:37.661 [info] GET / 12:08:37.661 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:08:37.663 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1298.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 [] 12:08:37.664 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1252.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:08:37.664 [debug] QUERY OK source="sources" db=0.2ms idle=301.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:08:37.724 [debug] QUERY OK source="media_items" db=59.0ms idle=301.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:08:37.728 [debug] QUERY OK source="media_items" db=4.2ms queue=0.1ms idle=309.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:08:37.729 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=65.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 [] 12:08:37.730 [debug] QUERY OK source="settings" db=0.3ms idle=65.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 [] 12:08:37.731 [debug] QUERY OK source="settings" db=0.2ms idle=66.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 [] 12:08:37.736 [debug] QUERY OK source="media_items" db=4.4ms 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 (NOT (m0."media_filepath" IS NULL)) [] 12:08:37.737 [debug] QUERY OK source="media_items" db=0.7ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:08:37.738 [debug] QUERY OK source="sources" db=0.4ms idle=8.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" IN (?,?)) [6, 2] 12:08:37.816 [debug] QUERY OK source="media_items" db=75.4ms idle=10.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 (((((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:08:37.887 [debug] QUERY OK source="media_items" db=69.8ms idle=86.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:08:37.887 [debug] QUERY OK source="sources" db=0.2ms idle=150.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] 12:08:37.890 [debug] QUERY OK source="tasks" db=0.5ms idle=152.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:08:37.891 [debug] QUERY OK source="media_items" db=0.3ms idle=152.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3494, 3497] 12:08:37.892 [info] Sent 200 in 230ms 12:08:40.246 [info] GET /.well-known/acme-challenge/BpkWC5feGuPQ3BfLc3UNt-GaMZ4ZgonTbSWt1uRWVeg 12:08:40.248 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=883.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 [] 12:08:40.249 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=885.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 [] 12:08:40.249 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:08:40.250 [error] #PID<0.2672.0> running PinchflatWeb.Endpoint (connection #PID<0.2671.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/BpkWC5feGuPQ3BfLc3UNt-GaMZ4ZgonTbSWt1uRWVeg ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/BpkWC5feGuPQ3BfLc3UNt-GaMZ4ZgonTbSWt1uRWVeg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2671.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/BpkWC5feGuPQ3BfLc3UNt-GaMZ4ZgonTbSWt1uRWVeg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 56996}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/BpkWC5feGuPQ3BfLc3UNt-GaMZ4ZgonTbSWt1uRWVeg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2672.0>, params: %{}, path_info: [".well-known", "acme-challenge", "BpkWC5feGuPQ3BfLc3UNt-GaMZ4ZgonTbSWt1uRWVeg"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/BpkWC5feGuPQ3BfLc3UNt-GaMZ4ZgonTbSWt1uRWVeg"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/BpkWC5feGuPQ3BfLc3UNt-GaMZ4ZgonTbSWt1uRWVeg", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDb-hBZuMV6o-EAAALj"} ], 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.2671.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/BpkWC5feGuPQ3BfLc3UNt-GaMZ4ZgonTbSWt1uRWVeg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 56996}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/BpkWC5feGuPQ3BfLc3UNt-GaMZ4ZgonTbSWt1uRWVeg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/BpkWC5feGuPQ3BfLc3UNt-GaMZ4ZgonTbSWt1uRWVeg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2671.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/BpkWC5feGuPQ3BfLc3UNt-GaMZ4ZgonTbSWt1uRWVeg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 56996}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/BpkWC5feGuPQ3BfLc3UNt-GaMZ4ZgonTbSWt1uRWVeg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2672.0>, params: %{}, path_info: [".well-known", "acme-challenge", "BpkWC5feGuPQ3BfLc3UNt-GaMZ4ZgonTbSWt1uRWVeg"], 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://pinchflat.f2fv7 (truncated) 12:08:40.702 [info] GET /.well-known/acme-challenge/ZLB93ME5i84XwthBXCYy3v1bbbe7lp0pyMnVncdb6I4 12:08:40.703 [debug] QUERY OK source="settings" db=0.8ms idle=1339.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 [] 12:08:40.704 [debug] QUERY OK source="settings" db=0.5ms idle=1283.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 [] 12:08:40.704 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:08:40.705 [error] #PID<0.2673.0> running PinchflatWeb.Endpoint (connection #PID<0.2671.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/ZLB93ME5i84XwthBXCYy3v1bbbe7lp0pyMnVncdb6I4 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ZLB93ME5i84XwthBXCYy3v1bbbe7lp0pyMnVncdb6I4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2671.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ZLB93ME5i84XwthBXCYy3v1bbbe7lp0pyMnVncdb6I4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 56996}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ZLB93ME5i84XwthBXCYy3v1bbbe7lp0pyMnVncdb6I4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2673.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ZLB93ME5i84XwthBXCYy3v1bbbe7lp0pyMnVncdb6I4"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ZLB93ME5i84XwthBXCYy3v1bbbe7lp0pyMnVncdb6I4"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/ZLB93ME5i84XwthBXCYy3v1bbbe7lp0pyMnVncdb6I4", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDb-it-nN8lmjMAAAMD"} ], 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.2671.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ZLB93ME5i84XwthBXCYy3v1bbbe7lp0pyMnVncdb6I4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 56996}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ZLB93ME5i84XwthBXCYy3v1bbbe7lp0pyMnVncdb6I4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ZLB93ME5i84XwthBXCYy3v1bbbe7lp0pyMnVncdb6I4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2671.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ZLB93ME5i84XwthBXCYy3v1bbbe7lp0pyMnVncdb6I4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 56996}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ZLB93ME5i84XwthBXCYy3v1bbbe7lp0pyMnVncdb6I4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2673.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ZLB93ME5i84XwthBXCYy3v1bbbe7lp0pyMnVncdb6I4"], 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://pinchflat.f2fv7 (truncated) 12:08:42.321 [info] GET /.well-known/acme-challenge/awgMaNoTXLda4gIkygSNeJB5t4m6PeEk8VT3PGfavYE 12:08:42.322 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1618.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 [] 12:08:42.323 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1618.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 [] 12:08:42.323 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:08:42.323 [error] #PID<0.2674.0> running PinchflatWeb.Endpoint (connection #PID<0.2669.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/awgMaNoTXLda4gIkygSNeJB5t4m6PeEk8VT3PGfavYE ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/awgMaNoTXLda4gIkygSNeJB5t4m6PeEk8VT3PGfavYE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2669.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/awgMaNoTXLda4gIkygSNeJB5t4m6PeEk8VT3PGfavYE", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 56988}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/awgMaNoTXLda4gIkygSNeJB5t4m6PeEk8VT3PGfavYE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2674.0>, params: %{}, path_info: [".well-known", "acme-challenge", "awgMaNoTXLda4gIkygSNeJB5t4m6PeEk8VT3PGfavYE"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/awgMaNoTXLda4gIkygSNeJB5t4m6PeEk8VT3PGfavYE"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/awgMaNoTXLda4gIkygSNeJB5t4m6PeEk8VT3PGfavYE", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDb-owFK6WLFCwAAAMj"} ], 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.2669.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/awgMaNoTXLda4gIkygSNeJB5t4m6PeEk8VT3PGfavYE", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 56988}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/awgMaNoTXLda4gIkygSNeJB5t4m6PeEk8VT3PGfavYE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/awgMaNoTXLda4gIkygSNeJB5t4m6PeEk8VT3PGfavYE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2669.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/awgMaNoTXLda4gIkygSNeJB5t4m6PeEk8VT3PGfavYE", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 56988}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/awgMaNoTXLda4gIkygSNeJB5t4m6PeEk8VT3PGfavYE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2674.0>, params: %{}, path_info: [".well-known", "acme-challenge", "awgMaNoTXLda4gIkygSNeJB5t4m6PeEk8VT3PGfavYE"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:08:43.130 [info] GET /.well-known/acme-challenge/bxZAFcijUWn0_-ImGJVn6vD97N00n1RUz1jXDQhTxqI 12:08:43.131 [debug] QUERY OK source="settings" db=0.3ms idle=1767.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 [] 12:08:43.132 [debug] QUERY OK source="settings" db=0.2ms idle=1703.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 [] 12:08:43.132 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:08:43.133 [error] #PID<0.2675.0> running PinchflatWeb.Endpoint (connection #PID<0.2671.0>, stream id 3) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/bxZAFcijUWn0_-ImGJVn6vD97N00n1RUz1jXDQhTxqI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/bxZAFcijUWn0_-ImGJVn6vD97N00n1RUz1jXDQhTxqI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2671.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/bxZAFcijUWn0_-ImGJVn6vD97N00n1RUz1jXDQhTxqI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 56996}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/bxZAFcijUWn0_-ImGJVn6vD97N00n1RUz1jXDQhTxqI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2675.0>, params: %{}, path_info: [".well-known", "acme-challenge", "bxZAFcijUWn0_-ImGJVn6vD97N00n1RUz1jXDQhTxqI"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/bxZAFcijUWn0_-ImGJVn6vD97N00n1RUz1jXDQhTxqI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/bxZAFcijUWn0_-ImGJVn6vD97N00n1RUz1jXDQhTxqI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDb-rxEOOy6TDAAAAND"} ], 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.2671.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/bxZAFcijUWn0_-ImGJVn6vD97N00n1RUz1jXDQhTxqI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 56996}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/bxZAFcijUWn0_-ImGJVn6vD97N00n1RUz1jXDQhTxqI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/bxZAFcijUWn0_-ImGJVn6vD97N00n1RUz1jXDQhTxqI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2671.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/bxZAFcijUWn0_-ImGJVn6vD97N00n1RUz1jXDQhTxqI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 56996}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/bxZAFcijUWn0_-ImGJVn6vD97N00n1RUz1jXDQhTxqI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2675.0>, params: %{}, path_info: [".well-known", "acme-challenge", "bxZAFcijUWn0_-ImGJVn6vD97N00n1RUz1jXDQhTxqI"], 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://pinchflat.f2fv7 (truncated) 12:08:43.984 [info] GET /.well-known/acme-challenge/1SCIvuI0mcxXdz_Txx05FsCYO3PMgbvog_RMRk6OyDY 12:08:43.987 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms idle=854.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 [] 12:08:43.988 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=855.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 [] 12:08:43.988 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:08:43.989 [error] #PID<0.2676.0> running PinchflatWeb.Endpoint (connection #PID<0.2669.0>, stream id 3) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/1SCIvuI0mcxXdz_Txx05FsCYO3PMgbvog_RMRk6OyDY ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/1SCIvuI0mcxXdz_Txx05FsCYO3PMgbvog_RMRk6OyDY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2669.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/1SCIvuI0mcxXdz_Txx05FsCYO3PMgbvog_RMRk6OyDY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 56988}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/1SCIvuI0mcxXdz_Txx05FsCYO3PMgbvog_RMRk6OyDY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2676.0>, params: %{}, path_info: [".well-known", "acme-challenge", "1SCIvuI0mcxXdz_Txx05FsCYO3PMgbvog_RMRk6OyDY"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/1SCIvuI0mcxXdz_Txx05FsCYO3PMgbvog_RMRk6OyDY"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/1SCIvuI0mcxXdz_Txx05FsCYO3PMgbvog_RMRk6OyDY", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDb-u8oPvo_3acAABEB"} ], 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.2669.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/1SCIvuI0mcxXdz_Txx05FsCYO3PMgbvog_RMRk6OyDY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 56988}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/1SCIvuI0mcxXdz_Txx05FsCYO3PMgbvog_RMRk6OyDY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/1SCIvuI0mcxXdz_Txx05FsCYO3PMgbvog_RMRk6OyDY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2669.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/1SCIvuI0mcxXdz_Txx05FsCYO3PMgbvog_RMRk6OyDY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 56988}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/1SCIvuI0mcxXdz_Txx05FsCYO3PMgbvog_RMRk6OyDY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2676.0>, params: %{}, path_info: [".well-known", "acme-challenge", "1SCIvuI0mcxXdz_Txx05FsCYO3PMgbvog_RMRk6OyDY"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:08:47.748 [info] GET /.well-known/acme-challenge/60Un4HSJjm2jtxLGcoW8nhWE0o8cewLiUYHsuBZrm2A 12:08:47.750 [debug] QUERY OK source="settings" db=0.8ms idle=385.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 [] 12:08:47.750 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=386.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 [] 12:08:47.751 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:08:47.752 [error] #PID<0.2677.0> running PinchflatWeb.Endpoint (connection #PID<0.2671.0>, stream id 4) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/60Un4HSJjm2jtxLGcoW8nhWE0o8cewLiUYHsuBZrm2A ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/60Un4HSJjm2jtxLGcoW8nhWE0o8cewLiUYHsuBZrm2A (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2671.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/60Un4HSJjm2jtxLGcoW8nhWE0o8cewLiUYHsuBZrm2A", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 56996}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/60Un4HSJjm2jtxLGcoW8nhWE0o8cewLiUYHsuBZrm2A", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2677.0>, params: %{}, path_info: [".well-known", "acme-challenge", "60Un4HSJjm2jtxLGcoW8nhWE0o8cewLiUYHsuBZrm2A"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/60Un4HSJjm2jtxLGcoW8nhWE0o8cewLiUYHsuBZrm2A"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/60Un4HSJjm2jtxLGcoW8nhWE0o8cewLiUYHsuBZrm2A", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDb-899oGVsJcgAAANj"} ], 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.2671.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/60Un4HSJjm2jtxLGcoW8nhWE0o8cewLiUYHsuBZrm2A", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 56996}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/60Un4HSJjm2jtxLGcoW8nhWE0o8cewLiUYHsuBZrm2A", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/60Un4HSJjm2jtxLGcoW8nhWE0o8cewLiUYHsuBZrm2A (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2671.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/60Un4HSJjm2jtxLGcoW8nhWE0o8cewLiUYHsuBZrm2A", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 56996}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/60Un4HSJjm2jtxLGcoW8nhWE0o8cewLiUYHsuBZrm2A", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2677.0>, params: %{}, path_info: [".well-known", "acme-challenge", "60Un4HSJjm2jtxLGcoW8nhWE0o8cewLiUYHsuBZrm2A"], 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://pinchflat.f2fv7 (truncated) 12:08:49.067 [info] GET /.well-known/acme-challenge/Eki0-rBrwX-yDjNSJ4-R2OsAJCK27AcmdIaKiYEORCs 12:08:49.069 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=1704.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 [] 12:08:49.071 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1622.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 [] 12:08:49.071 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:08:49.071 [error] #PID<0.2679.0> running PinchflatWeb.Endpoint (connection #PID<0.2678.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/Eki0-rBrwX-yDjNSJ4-R2OsAJCK27AcmdIaKiYEORCs ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Eki0-rBrwX-yDjNSJ4-R2OsAJCK27AcmdIaKiYEORCs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2678.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Eki0-rBrwX-yDjNSJ4-R2OsAJCK27AcmdIaKiYEORCs", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 47046}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Eki0-rBrwX-yDjNSJ4-R2OsAJCK27AcmdIaKiYEORCs", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2679.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Eki0-rBrwX-yDjNSJ4-R2OsAJCK27AcmdIaKiYEORCs"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/Eki0-rBrwX-yDjNSJ4-R2OsAJCK27AcmdIaKiYEORCs"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/Eki0-rBrwX-yDjNSJ4-R2OsAJCK27AcmdIaKiYEORCs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDb_B4fyDK9yQAAAAZi"} ], 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.2678.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Eki0-rBrwX-yDjNSJ4-R2OsAJCK27AcmdIaKiYEORCs", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 47046}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Eki0-rBrwX-yDjNSJ4-R2OsAJCK27AcmdIaKiYEORCs", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Eki0-rBrwX-yDjNSJ4-R2OsAJCK27AcmdIaKiYEORCs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2678.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Eki0-rBrwX-yDjNSJ4-R2OsAJCK27AcmdIaKiYEORCs", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 47046}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Eki0-rBrwX-yDjNSJ4-R2OsAJCK27AcmdIaKiYEORCs", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2679.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Eki0-rBrwX-yDjNSJ4-R2OsAJCK27AcmdIaKiYEORCs"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:08:49.339 [info] GET /.well-known/acme-challenge/DodVfQW_ACnXDJy3OHV9MJ23IUZ4cXapiuaoVHWcFYY 12:08:49.340 [debug] QUERY OK source="settings" db=0.5ms idle=1589.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 [] 12:08:49.341 [debug] QUERY OK source="settings" db=0.3ms idle=1589.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 [] 12:08:49.341 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:08:49.342 [error] #PID<0.2680.0> running PinchflatWeb.Endpoint (connection #PID<0.2678.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/DodVfQW_ACnXDJy3OHV9MJ23IUZ4cXapiuaoVHWcFYY ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/DodVfQW_ACnXDJy3OHV9MJ23IUZ4cXapiuaoVHWcFYY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2678.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/DodVfQW_ACnXDJy3OHV9MJ23IUZ4cXapiuaoVHWcFYY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 47046}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/DodVfQW_ACnXDJy3OHV9MJ23IUZ4cXapiuaoVHWcFYY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2680.0>, params: %{}, path_info: [".well-known", "acme-challenge", "DodVfQW_ACnXDJy3OHV9MJ23IUZ4cXapiuaoVHWcFYY"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/DodVfQW_ACnXDJy3OHV9MJ23IUZ4cXapiuaoVHWcFYY"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/DodVfQW_ACnXDJy3OHV9MJ23IUZ4cXapiuaoVHWcFYY", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDb_C5SetCQXkAAAAOD"} ], 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.2678.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/DodVfQW_ACnXDJy3OHV9MJ23IUZ4cXapiuaoVHWcFYY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 47046}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/DodVfQW_ACnXDJy3OHV9MJ23IUZ4cXapiuaoVHWcFYY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/DodVfQW_ACnXDJy3OHV9MJ23IUZ4cXapiuaoVHWcFYY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2678.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/DodVfQW_ACnXDJy3OHV9MJ23IUZ4cXapiuaoVHWcFYY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 47046}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/DodVfQW_ACnXDJy3OHV9MJ23IUZ4cXapiuaoVHWcFYY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2680.0>, params: %{}, path_info: [".well-known", "acme-challenge", "DodVfQW_ACnXDJy3OHV9MJ23IUZ4cXapiuaoVHWcFYY"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:08:50.672 [info] {"source":"oban","duration":3457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:00.650 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:09:20.675 [info] {"source":"oban","duration":1798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:38.121 [info] GET / 12:09:38.121 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:09:38.122 [debug] QUERY OK source="settings" db=0.4ms idle=1758.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 [] 12:09:38.123 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=1759.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:09:38.123 [debug] QUERY OK source="sources" db=0.2ms idle=1759.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:09:38.139 [debug] QUERY OK source="media_items" db=15.3ms idle=1491.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:09:38.143 [debug] QUERY OK source="media_items" db=4.1ms idle=503.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:09:38.145 [debug] QUERY OK source="settings" db=0.3ms idle=22.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 [] 12:09:38.145 [debug] QUERY OK source="settings" db=0.2ms idle=22.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 [] 12:09:38.146 [debug] QUERY OK source="settings" db=0.2ms idle=22.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 [] 12:09:38.153 [debug] QUERY OK source="media_items" db=4.2ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 12:09:38.154 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=9.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:09:38.155 [debug] QUERY OK source="sources" db=0.3ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [6, 2] 12:09:38.179 [debug] QUERY OK source="media_items" db=16.9ms queue=0.1ms idle=16.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 (((((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:09:38.248 [debug] QUERY OK source="media_items" db=69.3ms idle=32.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:09:38.250 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=96.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] 12:09:38.257 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=101.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:09:38.258 [debug] QUERY OK source="media_items" db=0.6ms idle=101.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3494, 3497] 12:09:38.262 [info] Sent 200 in 141ms 12:09:47.514 [info] GET /.well-known/acme-challenge/4JgoDLGpF2jgkMB3fSxRU3Ij6XkYfEXYPRL_QYX8ooQ 12:09:47.516 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=844.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 [] 12:09:47.517 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=153.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 [] 12:09:47.517 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:09:47.518 [error] #PID<0.2689.0> running PinchflatWeb.Endpoint (connection #PID<0.2688.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/4JgoDLGpF2jgkMB3fSxRU3Ij6XkYfEXYPRL_QYX8ooQ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/4JgoDLGpF2jgkMB3fSxRU3Ij6XkYfEXYPRL_QYX8ooQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2688.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/4JgoDLGpF2jgkMB3fSxRU3Ij6XkYfEXYPRL_QYX8ooQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 41888}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/4JgoDLGpF2jgkMB3fSxRU3Ij6XkYfEXYPRL_QYX8ooQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2689.0>, params: %{}, path_info: [".well-known", "acme-challenge", "4JgoDLGpF2jgkMB3fSxRU3Ij6XkYfEXYPRL_QYX8ooQ"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/4JgoDLGpF2jgkMB3fSxRU3Ij6XkYfEXYPRL_QYX8ooQ"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/4JgoDLGpF2jgkMB3fSxRU3Ij6XkYfEXYPRL_QYX8ooQ", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDcCbnSR8tqUOAAAAdC"} ], 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.2688.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/4JgoDLGpF2jgkMB3fSxRU3Ij6XkYfEXYPRL_QYX8ooQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 41888}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/4JgoDLGpF2jgkMB3fSxRU3Ij6XkYfEXYPRL_QYX8ooQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/4JgoDLGpF2jgkMB3fSxRU3Ij6XkYfEXYPRL_QYX8ooQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2688.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/4JgoDLGpF2jgkMB3fSxRU3Ij6XkYfEXYPRL_QYX8ooQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 41888}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/4JgoDLGpF2jgkMB3fSxRU3Ij6XkYfEXYPRL_QYX8ooQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2689.0>, params: %{}, path_info: [".well-known", "acme-challenge", "4JgoDLGpF2jgkMB3fSxRU3Ij6XkYfEXYPRL_QYX8ooQ"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:09:49.697 [info] {"args":{"id":3},"id":1648,"meta":{},"system_time":1774660189696931693,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:09:49.704 [debug] QUERY OK source="sources" db=6.7ms queue=0.3ms idle=334.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] 12:09:49.715 [debug] QUERY OK source="settings" db=9.9ms idle=341.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 [] 12:09:49.727 [debug] QUERY OK source="media_profiles" db=11.3ms idle=352.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] 12:09:49.731 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=45.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 [] 12:09:49.731 [debug] Fetching recent media IDs from YouTube API for playlist: UUwnKziETDbHJtx78nIkfYug 12:09:49.731 [debug] QUERY OK source="settings" db=0.2ms idle=34.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 [] 12:09:49.732 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:09:50.546 [debug] QUERY OK source="media_items" db=6.8ms idle=834.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "QtpFa0LdXEY", "8Rv4wwcQ89Y", "2cRKv1oqyX8", "mQfQwLW6CNw", "y0TZuhNixNk", "GZ7wE3XOwFU", "-aRdX-kZ9g4", "99bldMr1byI", "EzCiEv1IqiA", "mC5NdpSMDks", "ccV3u3D9ONE", "cVCDjEfPzII", "n0X2rqzKTgM", "dcuCvRNqmpY", "GG1qX8jHKGo", "k9wkleHFvo0", "CWoYVlMuUNQ", "xlfeieH4z38", "eZM2Ik-FHEU", "CtcTG8-qzbA", "6Mmj7mf1qlg", "InwVO9qBjqs", "1Hp-W2bpPrw", "VtE5sTpkn7k", "8dOJypt2F70", "Evm4t4prtWo", "taLzgvbrnv0", "rgCrnyf5JEI", "PHhc-48JT3U", "vFKjpNNjNGw", "VJQlOI70ubw", "E5cfNq0DO90", "DNBGSsZatbY", "pna1NyaHTls", "CUHao-vA98g", "cPN9BJe_RQw", "rCBt4XgCX-0", "f4g6KKGMmEI", "P_I5Jsc3xRw", "fPaU2l7RktM", "0PVwt01b6fs", "0qMDM4Y4Hwo", "Ld285PDsHvs", "p1mQC71wplA", "9k5JhKK6WlA", "WPxrifmtlQI", "nVNBmK7a1y8", "QDnMYztaxfI", "gxsaWhXG1Gg", ...] 12:09:50.552 [debug] QUERY OK source="media_items" db=4.0ms queue=0.5ms idle=832.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 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] 12:09:50.555 [debug] QUERY OK source="tasks" db=0.6ms idle=823.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1656, 3, ~U[2026-03-28 01:09:50Z], ~U[2026-03-28 01:09:50Z]] 12:09:50.556 [info] {"args":{"id":3},"id":1648,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":859065,"event":"job:stop","queue_time":983393,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:09:50.678 [info] {"source":"oban","duration":2773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:54.188 [info] GET /.well-known/acme-challenge/oJX2MLsH4dNh4hmxJV7xDdAupFchXNVNd3YkS_5l3-0 12:09:54.190 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1825.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 [] 12:09:54.191 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1827.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 [] 12:09:54.191 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:09:54.192 [error] #PID<0.2702.0> running PinchflatWeb.Endpoint (connection #PID<0.2701.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/oJX2MLsH4dNh4hmxJV7xDdAupFchXNVNd3YkS_5l3-0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/oJX2MLsH4dNh4hmxJV7xDdAupFchXNVNd3YkS_5l3-0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2701.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/oJX2MLsH4dNh4hmxJV7xDdAupFchXNVNd3YkS_5l3-0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41904}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/oJX2MLsH4dNh4hmxJV7xDdAupFchXNVNd3YkS_5l3-0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2702.0>, params: %{}, path_info: [".well-known", "acme-challenge", "oJX2MLsH4dNh4hmxJV7xDdAupFchXNVNd3YkS_5l3-0"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/oJX2MLsH4dNh4hmxJV7xDdAupFchXNVNd3YkS_5l3-0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/oJX2MLsH4dNh4hmxJV7xDdAupFchXNVNd3YkS_5l3-0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDcC0ehauKDKQYAABEh"} ], 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.2701.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/oJX2MLsH4dNh4hmxJV7xDdAupFchXNVNd3YkS_5l3-0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41904}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/oJX2MLsH4dNh4hmxJV7xDdAupFchXNVNd3YkS_5l3-0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/oJX2MLsH4dNh4hmxJV7xDdAupFchXNVNd3YkS_5l3-0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2701.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/oJX2MLsH4dNh4hmxJV7xDdAupFchXNVNd3YkS_5l3-0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41904}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/oJX2MLsH4dNh4hmxJV7xDdAupFchXNVNd3YkS_5l3-0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2702.0>, params: %{}, path_info: [".well-known", "acme-challenge", "oJX2MLsH4dNh4hmxJV7xDdAupFchXNVNd3YkS_5l3-0"], 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://pinchflat.f2fv7 (truncated) 12:10:00.653 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:10:20.683 [info] {"source":"oban","duration":3584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:29.838 [info] {"args":{"id":2},"id":1650,"meta":{},"system_time":1774660229837710200,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:10:29.839 [debug] QUERY OK source="sources" db=0.6ms idle=1475.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" = ?) [2] 12:10:29.840 [debug] QUERY OK source="settings" db=0.3ms idle=1476.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 [] 12:10:29.840 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1017.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] 12:10:29.841 [debug] QUERY OK source="settings" db=0.2ms idle=12.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 [] 12:10:29.841 [debug] Fetching recent media IDs from YouTube API for playlist: UUjzi56cxvmEDwjo1Bd2Yxpg 12:10:29.842 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:10:29.842 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:10:31.927 [debug] QUERY OK source="media_items" db=7.4ms idle=556.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "Hw2_s31u_4Q", "b4x9IzQtiA0", "16aM5Bop7Qw", "3hBk9xqT9hs", "xDa45wnAzc8", "Yq41acIvzj8", "Ttn_Q1B2ALc", "-bV0F6OP31U", "qAstyiKRt10", "NF2StvrYme0", "_Q-2UzYr3AA", "FeEEy3jZvlM", "EHaNwda0xto", "KL0u63mAy5M", "fzklfnO42ts", "oZ4kddHCFVY", "spSOp5s_6_A", "C48yl9fSYv8", "654RgtNwXZ8", "4wu_B_XF6wk", "wFLJxWyDJPs", "J5NKnYfn6qw", "fcVRuF6c-bc", "xNAFpSnpqjs", "cavmWZnCeJI", "_J0gQ5GdUSk", "_oISg668F40", "v34wa9QhF0s", "iEen_cClzkg", "CD9wUM2v-0U", "E8k9oqjl5_E", "lQDUMfg_SJc", "pPMD0YPBHQ4", "qq1IN4umTI8", "L63goFhe8KM", "5OXvwQ3CB1I", "doZvHBPoVCw", "9SXMTDO4lIo", "8JmSUN8jp3Q", "7oSgaaUEjZM", "sKSPwnFSRCw", "gdY_Q9ltw8w", "uHbviTslBFY", "gMzXgYFT4Ck", "NdsMuD-_5To", "9JXltNRqLu4", "7ThBvLBMacw", "7BTWa3jFBMw", "U2LsOO1upXY", ...] 12:10:32.000 [debug] QUERY OK source="media_items" db=69.7ms queue=0.1ms idle=567.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 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] 12:10:32.011 [debug] QUERY OK source="tasks" db=0.4ms idle=83.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1657, 2, ~U[2026-03-28 01:10:32Z], ~U[2026-03-28 01:10:32Z]] 12:10:32.018 [info] {"args":{"id":2},"id":1650,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":2173653,"event":"job:stop","queue_time":745891,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:10:38.557 [info] GET / 12:10:38.557 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:10:38.558 [debug] QUERY OK source="settings" db=0.6ms idle=1194.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 [] 12:10:38.559 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1195.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:10:38.560 [debug] QUERY OK source="sources" db=0.3ms idle=1196.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:10:38.611 [debug] QUERY OK source="media_items" db=50.8ms idle=1196.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:10:38.614 [debug] QUERY OK source="media_items" db=3.0ms idle=754.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:10:38.615 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=56.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 [] 12:10:38.616 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:10:38.618 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=57.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 [] 12:10:38.623 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 12:10:38.624 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:10:38.626 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=9.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" IN (?,?)) [6, 2] 12:10:38.686 [debug] QUERY OK source="media_items" db=53.6ms queue=0.1ms 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 (((((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:10:38.751 [debug] QUERY OK source="media_items" db=63.8ms queue=0.1ms idle=69.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:10:38.752 [debug] QUERY OK source="sources" db=0.3ms idle=129.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] 12:10:38.757 [debug] QUERY OK source="tasks" db=0.6ms idle=132.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:10:38.759 [debug] QUERY OK source="media_items" db=0.4ms idle=132.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3494, 3497] 12:10:38.762 [info] Sent 200 in 204ms 12:10:44.990 [info] GET /.well-known/acme-challenge/ozZ3YNj576FR2eRrCKDMmhLG7uWDoHY5yOG5D9Z8dwI 12:10:44.991 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=628.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 [] 12:10:44.992 [debug] QUERY OK source="settings" db=0.4ms idle=628.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 [] 12:10:44.992 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:10:44.993 [error] #PID<0.2709.0> running PinchflatWeb.Endpoint (connection #PID<0.2708.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/ozZ3YNj576FR2eRrCKDMmhLG7uWDoHY5yOG5D9Z8dwI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ozZ3YNj576FR2eRrCKDMmhLG7uWDoHY5yOG5D9Z8dwI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2708.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ozZ3YNj576FR2eRrCKDMmhLG7uWDoHY5yOG5D9Z8dwI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55016}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ozZ3YNj576FR2eRrCKDMmhLG7uWDoHY5yOG5D9Z8dwI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2709.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ozZ3YNj576FR2eRrCKDMmhLG7uWDoHY5yOG5D9Z8dwI"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ozZ3YNj576FR2eRrCKDMmhLG7uWDoHY5yOG5D9Z8dwI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/ozZ3YNj576FR2eRrCKDMmhLG7uWDoHY5yOG5D9Z8dwI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDcFxusY9AVIk4AAAhC"} ], 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.2708.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ozZ3YNj576FR2eRrCKDMmhLG7uWDoHY5yOG5D9Z8dwI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55016}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ozZ3YNj576FR2eRrCKDMmhLG7uWDoHY5yOG5D9Z8dwI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ozZ3YNj576FR2eRrCKDMmhLG7uWDoHY5yOG5D9Z8dwI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2708.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ozZ3YNj576FR2eRrCKDMmhLG7uWDoHY5yOG5D9Z8dwI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55016}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ozZ3YNj576FR2eRrCKDMmhLG7uWDoHY5yOG5D9Z8dwI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2709.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ozZ3YNj576FR2eRrCKDMmhLG7uWDoHY5yOG5D9Z8dwI"], 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://pinchflat.f2fv7 (truncated) 12:10:45.590 [info] GET /.well-known/acme-challenge/7y9fiuyK_yqIiF3PxK3ApVczIffj_L7iyGnQe3AQDcg 12:10:45.591 [debug] QUERY OK source="settings" db=0.3ms idle=1227.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 [] 12:10:45.592 [debug] QUERY OK source="settings" db=0.2ms idle=1228.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 [] 12:10:45.592 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:10:45.592 [error] #PID<0.2710.0> running PinchflatWeb.Endpoint (connection #PID<0.2708.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/7y9fiuyK_yqIiF3PxK3ApVczIffj_L7iyGnQe3AQDcg ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/7y9fiuyK_yqIiF3PxK3ApVczIffj_L7iyGnQe3AQDcg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2708.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/7y9fiuyK_yqIiF3PxK3ApVczIffj_L7iyGnQe3AQDcg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55016}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/7y9fiuyK_yqIiF3PxK3ApVczIffj_L7iyGnQe3AQDcg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2710.0>, params: %{}, path_info: [".well-known", "acme-challenge", "7y9fiuyK_yqIiF3PxK3ApVczIffj_L7iyGnQe3AQDcg"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/7y9fiuyK_yqIiF3PxK3ApVczIffj_L7iyGnQe3AQDcg"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/7y9fiuyK_yqIiF3PxK3ApVczIffj_L7iyGnQe3AQDcg", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDcFz9pzVjNjL8AAAhi"} ], 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.2708.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/7y9fiuyK_yqIiF3PxK3ApVczIffj_L7iyGnQe3AQDcg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55016}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/7y9fiuyK_yqIiF3PxK3ApVczIffj_L7iyGnQe3AQDcg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/7y9fiuyK_yqIiF3PxK3ApVczIffj_L7iyGnQe3AQDcg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2708.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/7y9fiuyK_yqIiF3PxK3ApVczIffj_L7iyGnQe3AQDcg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55016}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/7y9fiuyK_yqIiF3PxK3ApVczIffj_L7iyGnQe3AQDcg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2710.0>, params: %{}, path_info: [".well-known", "acme-challenge", "7y9fiuyK_yqIiF3PxK3ApVczIffj_L7iyGnQe3AQDcg"], 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://pinchflat.f2fv7 (truncated) 12:10:47.648 [info] GET /.well-known/acme-challenge/lccPINcm9WIsafDSVWLx7JT7Kc4Uos6fbcYyLPb_E1I 12:10:47.650 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1286.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 [] 12:10:47.652 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1287.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 [] 12:10:47.652 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:10:47.653 [error] #PID<0.2711.0> running PinchflatWeb.Endpoint (connection #PID<0.2708.0>, stream id 3) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/lccPINcm9WIsafDSVWLx7JT7Kc4Uos6fbcYyLPb_E1I ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/lccPINcm9WIsafDSVWLx7JT7Kc4Uos6fbcYyLPb_E1I (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2708.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/lccPINcm9WIsafDSVWLx7JT7Kc4Uos6fbcYyLPb_E1I", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55016}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/lccPINcm9WIsafDSVWLx7JT7Kc4Uos6fbcYyLPb_E1I", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2711.0>, params: %{}, path_info: [".well-known", "acme-challenge", "lccPINcm9WIsafDSVWLx7JT7Kc4Uos6fbcYyLPb_E1I"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/lccPINcm9WIsafDSVWLx7JT7Kc4Uos6fbcYyLPb_E1I"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/lccPINcm9WIsafDSVWLx7JT7Kc4Uos6fbcYyLPb_E1I", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDcF7oTlbV1EEMAAAiC"} ], 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.2708.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/lccPINcm9WIsafDSVWLx7JT7Kc4Uos6fbcYyLPb_E1I", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55016}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/lccPINcm9WIsafDSVWLx7JT7Kc4Uos6fbcYyLPb_E1I", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/lccPINcm9WIsafDSVWLx7JT7Kc4Uos6fbcYyLPb_E1I (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2708.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/lccPINcm9WIsafDSVWLx7JT7Kc4Uos6fbcYyLPb_E1I", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55016}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/lccPINcm9WIsafDSVWLx7JT7Kc4Uos6fbcYyLPb_E1I", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2711.0>, params: %{}, path_info: [".well-known", "acme-challenge", "lccPINcm9WIsafDSVWLx7JT7Kc4Uos6fbcYyLPb_E1I"], 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://pinchflat.f2fv7 (truncated) 12:10:47.996 [info] GET /.well-known/acme-challenge/6HMcdluWnbZPUdJTJ1lHnY8oGce4qOSsA4E7-9jfAdE 12:10:47.998 [debug] QUERY OK source="settings" db=0.8ms idle=634.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 [] 12:10:47.999 [debug] QUERY OK source="settings" db=0.6ms idle=635.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 [] 12:10:47.999 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:10:48.000 [error] #PID<0.2713.0> running PinchflatWeb.Endpoint (connection #PID<0.2712.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/6HMcdluWnbZPUdJTJ1lHnY8oGce4qOSsA4E7-9jfAdE ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/6HMcdluWnbZPUdJTJ1lHnY8oGce4qOSsA4E7-9jfAdE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2712.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6HMcdluWnbZPUdJTJ1lHnY8oGce4qOSsA4E7-9jfAdE", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 55022}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/6HMcdluWnbZPUdJTJ1lHnY8oGce4qOSsA4E7-9jfAdE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2713.0>, params: %{}, path_info: [".well-known", "acme-challenge", "6HMcdluWnbZPUdJTJ1lHnY8oGce4qOSsA4E7-9jfAdE"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/6HMcdluWnbZPUdJTJ1lHnY8oGce4qOSsA4E7-9jfAdE"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/6HMcdluWnbZPUdJTJ1lHnY8oGce4qOSsA4E7-9jfAdE", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDcF87cicVID4MAABLh"} ], 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.2712.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6HMcdluWnbZPUdJTJ1lHnY8oGce4qOSsA4E7-9jfAdE", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 55022}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/6HMcdluWnbZPUdJTJ1lHnY8oGce4qOSsA4E7-9jfAdE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/6HMcdluWnbZPUdJTJ1lHnY8oGce4qOSsA4E7-9jfAdE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2712.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6HMcdluWnbZPUdJTJ1lHnY8oGce4qOSsA4E7-9jfAdE", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 55022}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/6HMcdluWnbZPUdJTJ1lHnY8oGce4qOSsA4E7-9jfAdE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2713.0>, params: %{}, path_info: [".well-known", "acme-challenge", "6HMcdluWnbZPUdJTJ1lHnY8oGce4qOSsA4E7-9jfAdE"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:10:48.438 [info] GET /.well-known/acme-challenge/DVRlDS6KNd1f01os97WbdDwY_1f9mqfPANjZwPaUojg 12:10:48.439 [debug] QUERY OK source="settings" db=0.3ms idle=788.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 [] 12:10:48.440 [debug] QUERY OK source="settings" db=0.4ms idle=787.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 [] 12:10:48.440 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:10:48.440 [error] #PID<0.2714.0> running PinchflatWeb.Endpoint (connection #PID<0.2712.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/DVRlDS6KNd1f01os97WbdDwY_1f9mqfPANjZwPaUojg ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/DVRlDS6KNd1f01os97WbdDwY_1f9mqfPANjZwPaUojg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2712.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/DVRlDS6KNd1f01os97WbdDwY_1f9mqfPANjZwPaUojg", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 55022}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/DVRlDS6KNd1f01os97WbdDwY_1f9mqfPANjZwPaUojg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2714.0>, params: %{}, path_info: [".well-known", "acme-challenge", "DVRlDS6KNd1f01os97WbdDwY_1f9mqfPANjZwPaUojg"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/DVRlDS6KNd1f01os97WbdDwY_1f9mqfPANjZwPaUojg"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/DVRlDS6KNd1f01os97WbdDwY_1f9mqfPANjZwPaUojg", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDcF-kxXI_A1ewAAAii"} ], 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.2712.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/DVRlDS6KNd1f01os97WbdDwY_1f9mqfPANjZwPaUojg", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 55022}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/DVRlDS6KNd1f01os97WbdDwY_1f9mqfPANjZwPaUojg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/DVRlDS6KNd1f01os97WbdDwY_1f9mqfPANjZwPaUojg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2712.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/DVRlDS6KNd1f01os97WbdDwY_1f9mqfPANjZwPaUojg", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 55022}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/DVRlDS6KNd1f01os97WbdDwY_1f9mqfPANjZwPaUojg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2714.0>, params: %{}, path_info: [".well-known", "acme-challenge", "DVRlDS6KNd1f01os97WbdDwY_1f9mqfPANjZwPaUojg"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:10:50.687 [info] {"source":"oban","duration":2222,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:52.615 [info] GET /.well-known/acme-challenge/VzKxUP8QRITtfFX7ivuXCKWMelguYRrJGrl0VmhkBN4 12:10:52.616 [debug] QUERY OK source="settings" db=0.3ms idle=1252.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 [] 12:10:52.617 [debug] QUERY OK source="settings" db=0.5ms idle=714.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 [] 12:10:52.617 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:10:52.618 [error] #PID<0.2715.0> running PinchflatWeb.Endpoint (connection #PID<0.2708.0>, stream id 4) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/VzKxUP8QRITtfFX7ivuXCKWMelguYRrJGrl0VmhkBN4 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/VzKxUP8QRITtfFX7ivuXCKWMelguYRrJGrl0VmhkBN4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2708.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/VzKxUP8QRITtfFX7ivuXCKWMelguYRrJGrl0VmhkBN4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55016}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/VzKxUP8QRITtfFX7ivuXCKWMelguYRrJGrl0VmhkBN4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2715.0>, params: %{}, path_info: [".well-known", "acme-challenge", "VzKxUP8QRITtfFX7ivuXCKWMelguYRrJGrl0VmhkBN4"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/VzKxUP8QRITtfFX7ivuXCKWMelguYRrJGrl0VmhkBN4"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/VzKxUP8QRITtfFX7ivuXCKWMelguYRrJGrl0VmhkBN4", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDcGOIqNnsb5TAAAAjC"} ], 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.2708.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/VzKxUP8QRITtfFX7ivuXCKWMelguYRrJGrl0VmhkBN4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55016}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/VzKxUP8QRITtfFX7ivuXCKWMelguYRrJGrl0VmhkBN4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/VzKxUP8QRITtfFX7ivuXCKWMelguYRrJGrl0VmhkBN4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2708.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/VzKxUP8QRITtfFX7ivuXCKWMelguYRrJGrl0VmhkBN4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55016}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/VzKxUP8QRITtfFX7ivuXCKWMelguYRrJGrl0VmhkBN4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2715.0>, params: %{}, path_info: [".well-known", "acme-challenge", "VzKxUP8QRITtfFX7ivuXCKWMelguYRrJGrl0VmhkBN4"], 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://pinchflat.f2fv7 (truncated) 12:10:53.173 [info] GET /.well-known/acme-challenge/nsYhFJk6zxWf4fzWSadWVcFKih4D3pLL3TdxKHUTjGc 12:10:53.175 [debug] QUERY OK source="settings" db=0.5ms idle=811.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 [] 12:10:53.176 [debug] QUERY OK source="settings" db=0.6ms idle=812.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 [] 12:10:53.176 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:10:53.177 [error] #PID<0.2716.0> running PinchflatWeb.Endpoint (connection #PID<0.2712.0>, stream id 3) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/nsYhFJk6zxWf4fzWSadWVcFKih4D3pLL3TdxKHUTjGc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/nsYhFJk6zxWf4fzWSadWVcFKih4D3pLL3TdxKHUTjGc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2712.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/nsYhFJk6zxWf4fzWSadWVcFKih4D3pLL3TdxKHUTjGc", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 55022}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/nsYhFJk6zxWf4fzWSadWVcFKih4D3pLL3TdxKHUTjGc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2716.0>, params: %{}, path_info: [".well-known", "acme-challenge", "nsYhFJk6zxWf4fzWSadWVcFKih4D3pLL3TdxKHUTjGc"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/nsYhFJk6zxWf4fzWSadWVcFKih4D3pLL3TdxKHUTjGc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/nsYhFJk6zxWf4fzWSadWVcFKih4D3pLL3TdxKHUTjGc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDcGQNwLIC7sioAAAji"} ], 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.2712.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/nsYhFJk6zxWf4fzWSadWVcFKih4D3pLL3TdxKHUTjGc", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 55022}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/nsYhFJk6zxWf4fzWSadWVcFKih4D3pLL3TdxKHUTjGc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/nsYhFJk6zxWf4fzWSadWVcFKih4D3pLL3TdxKHUTjGc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2712.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/nsYhFJk6zxWf4fzWSadWVcFKih4D3pLL3TdxKHUTjGc", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 55022}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/nsYhFJk6zxWf4fzWSadWVcFKih4D3pLL3TdxKHUTjGc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2716.0>, params: %{}, path_info: [".well-known", "acme-challenge", "nsYhFJk6zxWf4fzWSadWVcFKih4D3pLL3TdxKHUTjGc"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:10:54.760 [info] GET /.well-known/acme-challenge/hrpZwvIBGT-iWhyTz61UhI-H6ZVyXnE8LJcfomgXhp0 12:10:54.763 [debug] QUERY OK source="settings" db=1.0ms queue=0.2ms idle=854.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 [] 12:10:54.765 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=400.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 [] 12:10:54.765 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:10:54.767 [error] #PID<0.2719.0> running PinchflatWeb.Endpoint (connection #PID<0.2712.0>, stream id 4) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/hrpZwvIBGT-iWhyTz61UhI-H6ZVyXnE8LJcfomgXhp0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/hrpZwvIBGT-iWhyTz61UhI-H6ZVyXnE8LJcfomgXhp0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2712.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/hrpZwvIBGT-iWhyTz61UhI-H6ZVyXnE8LJcfomgXhp0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 55022}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/hrpZwvIBGT-iWhyTz61UhI-H6ZVyXnE8LJcfomgXhp0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2719.0>, params: %{}, path_info: [".well-known", "acme-challenge", "hrpZwvIBGT-iWhyTz61UhI-H6ZVyXnE8LJcfomgXhp0"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/hrpZwvIBGT-iWhyTz61UhI-H6ZVyXnE8LJcfomgXhp0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/hrpZwvIBGT-iWhyTz61UhI-H6ZVyXnE8LJcfomgXhp0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDcGWIEXLHpwVoAAAkC"} ], 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.2712.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/hrpZwvIBGT-iWhyTz61UhI-H6ZVyXnE8LJcfomgXhp0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 55022}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/hrpZwvIBGT-iWhyTz61UhI-H6ZVyXnE8LJcfomgXhp0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/hrpZwvIBGT-iWhyTz61UhI-H6ZVyXnE8LJcfomgXhp0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2712.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/hrpZwvIBGT-iWhyTz61UhI-H6ZVyXnE8LJcfomgXhp0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 55022}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/hrpZwvIBGT-iWhyTz61UhI-H6ZVyXnE8LJcfomgXhp0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2719.0>, params: %{}, path_info: [".well-known", "acme-challenge", "hrpZwvIBGT-iWhyTz61UhI-H6ZVyXnE8LJcfomgXhp0"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:10:55.923 [info] {"args":{"id":4},"id":1651,"meta":{},"system_time":1774660255922928466,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:10:55.929 [debug] QUERY OK source="sources" db=6.0ms idle=1159.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" = ?) [4] 12:10:55.933 [debug] QUERY OK source="settings" db=3.9ms idle=1164.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 [] 12:10:55.934 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1021.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] 12:10:55.949 [debug] QUERY OK source="settings" db=14.3ms idle=18.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 [] 12:10:55.949 [debug] Fetching recent media IDs from YouTube API for playlist: UUEiui9T4ZYx8K8nuZ5YFSTw 12:10:55.949 [debug] QUERY OK source="settings" db=0.3ms idle=26.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 [] 12:10:55.949 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:10:56.497 [debug] QUERY OK source="media_items" db=4.6ms idle=562.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [4, "gthI7e6zPWo", "psRX1C7auj8", "2ZtSRjGhStw", "Z8KiNkDP9c4", "AZibPvCnG4k", "QXNPI7Ucivo", "WtxCD4567G4", "80bkfWoOHaE", "pYBAEGrhggM", "9M3wLySdGXY", "mcvbD_Ipbf8", "E_Y7kLO3Iaw", "gPdh5lVJYD0", "qrkTK1UcvSM", "45UcuOLjxeY", "gnbhO9hJ198", "fiFzXo1wNno", "TM5mKkwC0Ok", "kS2A72peqmg", "ueDcEpRFW_M", "AN4-pHYBK2M", "TMNa6ocIv8o", "S1Vt1tQJczE", "_BEmUjtwhLw", "1bxoWiQ2AQY", "CZeRfNeKEBE", "2nftRe3tjLQ", "v1biAguVbg8", "cLDsQImoeHQ", "hhH7mchDBXY", "uQj2W5ej104", "vYRV_nprXBA", "1v_qsQL3mo8", "hfHxFTbVaTo", "mfWqziOaR4A", "AmCWMmKgHkI", "ZWgq-s8r2FE", "1dAkTDsD1c4", "ozdDp_eMPZY", "iHogtXxywLQ", "7ysd04ltGag", "5jq8kH9s0V8", "AB6bC9gtfoc", "R7Tm3zvyy9U", "dUHzocz0hLo", "9Oh6oVrf7kM", "LzUhByZ4jtc", "j7evpR_Fbsw", "_iGhJt3ah8E", ...] 12:10:56.518 [debug] QUERY OK source="media_items" db=17.3ms queue=0.1ms idle=566.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 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] 12:10:56.815 [debug] QUERY OK source="tasks" db=0.4ms idle=5.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1658, 4, ~U[2026-03-28 01:10:56Z], ~U[2026-03-28 01:10:56Z]] 12:10:56.816 [info] {"args":{"id":4},"id":1651,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":892658,"event":"job:stop","queue_time":770446,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:10:59.510 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7wRYcXEbcv8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/55/ef/55ef15eae70b308f6e277dce700e8a7994f11f28fa48d09b49539afde388df5d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: Unable to communicate with SponsorBlock API: HTTP Error 503: Service Unavailable. Retrying (1/3)... WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:10:59.562 [debug] Running yt-dlp command for action: download_thumbnail 12:10:59.564 [debug] QUERY OK source="settings" db=0.6ms idle=1200.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 [] 12:10:59.565 [debug] QUERY OK source="settings" db=0.3ms idle=1201.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 [] 12:10:59.565 [debug] QUERY OK source="settings" db=0.3ms idle=1202.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 [] 12:10:59.566 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7wRYcXEbcv8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3497/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/cf/19/cf199e67985ef4952bbd9b1188418844e9935152ee0609a8c21fe4503912680e.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:11:00.655 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:11:07.323 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7wRYcXEbcv8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3497/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/cf/19/cf199e67985ef4952bbd9b1188418844e9935152ee0609a8c21fe4503912680e.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:11:07.325 [debug] QUERY OK db=0.2ms queue=0.1ms idle=1961.5ms begin [] 12:11:07.331 [debug] QUERY OK source="media_items" db=5.4ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [429, ~U[2026-03-28 01:10:59Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e061699 - Tom Collins But Different - Classic VS Clarified.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e061699 - Tom Collins But Different - Classic VS Clarified.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e061699 - Tom Collins But Different - Classic VS Clarified.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e061699 - Tom Collins But Different - Classic VS Clarified.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e061699 - Tom Collins But Different - Classic VS Clarified.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e061699 - Tom Collins But Different - Classic VS Clarified-thumb.jpg", ~U[2026-03-28 01:11:07Z], 3497] 12:11:07.332 [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/3497/metadata.json.gz", "/config/metadata/media_items/3497/thumbnail.jpg", 3497, ~U[2026-03-28 01:11:07Z], ~U[2026-03-28 01:11:07Z]] 12:11:07.333 [debug] QUERY OK db=0.6ms commit [] 12:11:07.362 [debug] QUERY OK source="media_items" db=7.0ms idle=1402.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [74336101, ~U[2026-03-28 01:11:07Z], 3497] 12:11:07.362 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:11:07.364 [info] {"args":{"id":3497},"id":606,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":188214324,"event":"job:stop","queue_time":75590135087,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:11:07.372 [info] {"args":{"id":3500},"id":607,"meta":{},"system_time":1774660267371828915,"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"]} 12:11:07.373 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=415.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" = ?) [3500] 12:11:07.373 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:11:07.374 [debug] QUERY OK source="sources" db=0.3ms idle=40.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" = ?) [4] 12:11:07.374 [debug] QUERY OK source="media_profiles" db=0.2ms idle=11.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] 12:11:07.375 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=11.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 [3500] 12:11:07.378 [debug] QUERY OK source="media_metadata" db=0.3ms 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" = ?) [3500] 12:11:07.378 [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] 12:11:07.380 [debug] QUERY OK source="settings" db=0.4ms 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 [] 12:11:07.380 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 12:11:07.381 [debug] Running yt-dlp command for action: get_downloadable_status 12:11:07.383 [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 [] 12:11:07.384 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:11:07.385 [debug] QUERY OK source="settings" db=0.4ms 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 [] 12:11:07.385 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YnrE6pMZumI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0b/e1/0be11b22206712ef677d8fa9ec1712e7564db279a385865a4ee9c45892c091c5.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:11:14.496 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YnrE6pMZumI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0b/e1/0be11b22206712ef677d8fa9ec1712e7564db279a385865a4ee9c45892c091c5.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:11:14.497 [debug] Running yt-dlp command for action: download 12:11:14.498 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1134.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 [] 12:11:14.498 [debug] QUERY OK source="settings" db=0.4ms idle=1135.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 [] 12:11:14.499 [debug] QUERY OK source="settings" db=0.4ms idle=1135.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 [] 12:11:14.500 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YnrE6pMZumI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/4a/ac/4aac31ab7929a8280868965c0aa761c2ff756af454514c0bb184dd90672a101c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:11:15.858 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9A7cVWMSZAU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f6/81/f68189d176a4694ef3c037e3b355347ffd56552c1704c0f43ca00a5005321471.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:11:15.968 [debug] Running yt-dlp command for action: download_thumbnail 12:11:15.972 [debug] QUERY OK source="settings" db=0.7ms idle=1473.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 [] 12:11:15.973 [debug] QUERY OK source="settings" db=0.4ms idle=1473.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 [] 12:11:15.974 [debug] QUERY OK source="settings" db=0.6ms idle=1473.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 [] 12:11:15.974 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9A7cVWMSZAU --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3494/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/96/4e/964e957ce1698635236bc11aa7ab26c65a7cbbe2b7c02f235de22da81bdf63a0.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:11:20.689 [info] {"source":"oban","duration":1630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:23.703 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9A7cVWMSZAU --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3494/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/96/4e/964e957ce1698635236bc11aa7ab26c65a7cbbe2b7c02f235de22da81bdf63a0.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:11:23.703 [debug] QUERY OK db=0.0ms idle=1340.2ms begin [] 12:11:23.706 [debug] QUERY OK source="media_items" db=1.8ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:11:15Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e062399 - This Syrup Will Change Your Spritz Game!.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e062399 - This Syrup Will Change Your Spritz Game!.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e062399 - This Syrup Will Change Your Spritz Game!.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e062399 - This Syrup Will Change Your Spritz Game!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e062399 - This Syrup Will Change Your Spritz Game!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e062399 - This Syrup Will Change Your Spritz Game!-thumb.jpg", ~U[2026-03-28 01:11:23Z], 3494] 12:11:23.708 [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/3494/metadata.json.gz", "/config/metadata/media_items/3494/thumbnail.jpg", 3494, ~U[2026-03-28 01:11:23Z], ~U[2026-03-28 01:11:23Z]] 12:11:23.709 [debug] QUERY OK db=0.7ms commit [] 12:11:23.730 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=1363.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [122489414, ~U[2026-03-28 01:11:23Z], 3494] 12:11:23.730 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:11:23.732 [info] {"args":{"id":3494},"id":605,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":252950405,"event":"job:stop","queue_time":75547757086,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:11:23.740 [info] {"args":{"id":3503},"id":608,"meta":{},"system_time":1774660283739959056,"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"]} 12:11:23.741 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=377.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" = ?) [3503] 12:11:23.742 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:11:23.743 [debug] QUERY OK source="sources" db=0.4ms idle=33.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" = ?) [4] 12:11:23.743 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=13.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] 12:11:23.745 [debug] QUERY OK source="media_items" db=0.4ms 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 [3503] 12:11:23.747 [debug] QUERY OK source="media_metadata" db=0.4ms idle=7.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" = ?) [3503] 12:11:23.747 [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] 12:11:23.748 [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 [] 12:11:23.748 [debug] QUERY OK source="settings" db=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 [] 12:11:23.748 [debug] Running yt-dlp command for action: get_downloadable_status 12:11:23.749 [debug] QUERY OK source="settings" db=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 [] 12:11:23.750 [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 [] 12:11:23.750 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:11:23.750 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nEmn9uHTg_k --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0d/02/0d0266352408f22ca4d52a908fbd4db8cf9072faf3cea36a89ad7e322c0ea324.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:11:31.195 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nEmn9uHTg_k --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0d/02/0d0266352408f22ca4d52a908fbd4db8cf9072faf3cea36a89ad7e322c0ea324.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:11:31.195 [debug] Running yt-dlp command for action: download 12:11:31.196 [debug] QUERY OK source="settings" db=0.2ms idle=1832.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 [] 12:11:31.196 [debug] QUERY OK source="settings" db=0.1ms idle=1833.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 [] 12:11:31.197 [debug] QUERY OK source="settings" db=0.1ms idle=1833.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 [] 12:11:31.197 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nEmn9uHTg_k --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e4/1c/e41cca5e40449b65b560007da947261167bb4bb787382611225730d465db443d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:11:38.989 [info] GET / 12:11:38.989 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:11:38.990 [debug] QUERY OK source="settings" db=0.7ms idle=1626.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 [] 12:11:38.991 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=899.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:11:38.992 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=628.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:11:39.056 [debug] QUERY OK source="media_items" db=64.1ms idle=629.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:11:39.060 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=693.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:11:39.061 [debug] QUERY OK source="settings" db=0.3ms idle=70.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 [] 12:11:39.062 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=70.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 [] 12:11:39.063 [debug] QUERY OK source="settings" db=0.3ms idle=70.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 [] 12:11:39.067 [debug] QUERY OK source="media_items" db=3.3ms idle=7.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 (NOT (m0."media_filepath" IS NULL)) [] 12:11:39.069 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=7.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:11:39.070 [debug] QUERY OK source="sources" db=0.3ms idle=8.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" IN (?,?)) [6, 2] 12:11:39.156 [debug] QUERY OK source="media_items" db=82.9ms idle=11.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 (((((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:11:39.203 [debug] QUERY OK source="media_items" db=45.8ms queue=0.1ms idle=89.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:11:39.203 [debug] QUERY OK source="sources" db=0.3ms idle=134.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] 12:11:39.206 [debug] QUERY OK source="tasks" db=0.6ms idle=135.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:11:39.208 [debug] QUERY OK source="media_items" db=0.3ms idle=50.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3500, 3503] 12:11:39.211 [info] Sent 200 in 222ms 12:11:50.694 [info] {"source":"oban","duration":2970,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:51.516 [info] GET /.well-known/acme-challenge/WD_i75kgrpEhoRt3_sx4EFY5ScEAtkUJHmXwUzwX2Q4 12:11:51.518 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=1154.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 [] 12:11:51.519 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=1155.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 [] 12:11:51.520 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:11:51.521 [error] #PID<0.2741.0> running PinchflatWeb.Endpoint (connection #PID<0.2740.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/WD_i75kgrpEhoRt3_sx4EFY5ScEAtkUJHmXwUzwX2Q4 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/WD_i75kgrpEhoRt3_sx4EFY5ScEAtkUJHmXwUzwX2Q4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2740.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/WD_i75kgrpEhoRt3_sx4EFY5ScEAtkUJHmXwUzwX2Q4", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33754}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/WD_i75kgrpEhoRt3_sx4EFY5ScEAtkUJHmXwUzwX2Q4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2741.0>, params: %{}, path_info: [".well-known", "acme-challenge", "WD_i75kgrpEhoRt3_sx4EFY5ScEAtkUJHmXwUzwX2Q4"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/WD_i75kgrpEhoRt3_sx4EFY5ScEAtkUJHmXwUzwX2Q4"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/WD_i75kgrpEhoRt3_sx4EFY5ScEAtkUJHmXwUzwX2Q4", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDcJpjxHIJlTXsAABwC"} ], 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.2740.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/WD_i75kgrpEhoRt3_sx4EFY5ScEAtkUJHmXwUzwX2Q4", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33754}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/WD_i75kgrpEhoRt3_sx4EFY5ScEAtkUJHmXwUzwX2Q4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/WD_i75kgrpEhoRt3_sx4EFY5ScEAtkUJHmXwUzwX2Q4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2740.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/WD_i75kgrpEhoRt3_sx4EFY5ScEAtkUJHmXwUzwX2Q4", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33754}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/WD_i75kgrpEhoRt3_sx4EFY5ScEAtkUJHmXwUzwX2Q4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2741.0>, params: %{}, path_info: [".well-known", "acme-challenge", "WD_i75kgrpEhoRt3_sx4EFY5ScEAtkUJHmXwUzwX2Q4"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:11:53.205 [info] {"args":{"id":5},"id":1652,"meta":{},"system_time":1774660313204723467,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:11:53.206 [debug] QUERY OK source="sources" db=1.0ms idle=1011.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] 12:11:53.208 [debug] QUERY OK source="settings" db=1.5ms idle=843.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 [] 12:11:53.220 [debug] QUERY OK source="media_profiles" db=10.7ms queue=0.1ms idle=845.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] 12:11:53.241 [debug] QUERY OK source="settings" db=21.0ms queue=0.1ms idle=23.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 [] 12:11:53.242 [debug] Fetching recent media IDs from YouTube API for playlist: UUVwfqPkv08OTuHzkPU3EaDw 12:11:53.243 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=37.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 [] 12:11:53.243 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:11:53.684 [debug] QUERY OK source="media_items" db=5.2ms queue=0.1ms idle=472.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [5, "k8Yr1jU-0EE", "NFrnhg8hI0c", "20XMhcpSNV0", "YVGFnwJho6E", "xQXiSGDXknA", "uZl0TO8i96g", "Hs5ewNKWUwk", "E5suxhHY0aY", "sCou7ut2L-o", "a0INtLdzUiE", "n0x8sH0M9CE", "W4Af6DIMqnE", "Q-sUbLem5aI", "s-jMj11w68U", "DS9HZG5JRBc", "_wLy-vzLi3E", "iFpZfYwRcns", "nPovqKKSKcE", "j_w4tRYm7Og", "laZpTO7IFtA", "FM5e9Vb1noE", "cK6g53lLgnw", "1X5WYEhzGyI", "QVpu66njzdE", "tfnANe2YUwM", "0-QK6hxLxgM", "TYUeXqSlcDg", "0322Pk-GKto", "1Em1UrRSEXc", "x2RT9Awsyi8", "4Yth52yml8E", "ky9Zo2FmjQ8", "npU2QpX5piA", "XEb_1Sq8jNo", "L3QQDAKxUIk", "l3s8S6bBbOs", "WyWBU1NpDf8", "7wZ0NVuoDWg", "-Ig2-rBZtSI", "5BG06-J1t4Y", "GcQ6vQEeQew", "ap8S88LeiB0", "4LvXP3XR6gw", "I9o65_aIq0Q", "Ut9XjFkGK6s", "PcFkjR5NELA", "Yl67318oP-s", "umbar5BKBus", "FEfCtNhVjJ0", ...] 12:11:53.692 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=480.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 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")))) [5] 12:11:53.896 [debug] QUERY OK source="tasks" db=0.6ms idle=7.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1659, 5, ~U[2026-03-28 01:11:53Z], ~U[2026-03-28 01:11:53Z]] 12:11:53.897 [info] {"args":{"id":5},"id":1652,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":691921,"event":"job:stop","queue_time":976959,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:12:00.448 [info] GET /sources/9/media/9844 12:12:00.448 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "9844", "source_id" => "9"} Pipelines: [:browser] 12:12:00.450 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=1085.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" = ?) [9844] 12:12:00.452 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=1088.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" [9844] 12:12:00.452 [debug] QUERY OK source="sources" db=0.9ms idle=1088.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] 12:12:00.454 [debug] QUERY OK source="settings" db=0.4ms idle=1090.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 [] 12:12:00.454 [debug] QUERY OK source="settings" db=0.3ms idle=236.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 [] 12:12:00.456 [debug] QUERY OK source="settings" db=0.5ms 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 [] 12:12:00.458 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 12:12:00.460 [info] Sent 200 in 12ms 12:12:00.656 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:12:20.697 [info] {"source":"oban","duration":2234,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:39.428 [info] GET / 12:12:39.428 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:12:39.430 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms idle=1066.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 [] 12:12:39.431 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1067.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:12:39.432 [debug] QUERY OK source="sources" db=0.3ms idle=1068.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:12:39.471 [debug] QUERY OK source="media_items" db=38.6ms idle=1068.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:12:39.475 [debug] QUERY OK source="media_items" db=4.3ms idle=114.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:12:39.476 [debug] QUERY OK source="settings" db=0.3ms idle=45.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 [] 12:12:39.477 [debug] QUERY OK source="settings" db=0.4ms 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 [] 12:12:39.479 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=46.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 [] 12:12:39.485 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=10.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 (NOT (m0."media_filepath" IS NULL)) [] 12:12:39.487 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=10.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:12:39.489 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=11.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" IN (?,?)) [6, 2] 12:12:39.548 [debug] QUERY OK source="media_items" db=52.9ms idle=17.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 (((((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:12:39.616 [debug] QUERY OK source="media_items" db=67.0ms queue=0.2ms idle=69.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:12:39.617 [debug] QUERY OK source="sources" db=0.3ms idle=131.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] 12:12:39.622 [debug] QUERY OK source="tasks" db=0.6ms idle=134.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:12:39.623 [debug] QUERY OK source="media_items" db=0.3ms idle=134.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3500, 3503] 12:12:39.626 [info] Sent 200 in 197ms 12:12:46.405 [info] {"args":{"id":1},"id":1653,"meta":{},"system_time":1774660366405487438,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:12:46.410 [debug] QUERY OK source="sources" db=4.5ms queue=0.2ms idle=1042.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" = ?) [1] 12:12:46.426 [debug] QUERY OK source="settings" db=14.8ms queue=0.1ms idle=1047.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 [] 12:12:46.427 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=1044.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] 12:12:46.427 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:12:46.428 [debug] Fetching recent media IDs from YouTube API for playlist: UUISrVZmDM4x-Rq9mmNUw7Zw 12:12:46.428 [debug] QUERY OK source="settings" db=0.3ms idle=22.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 [] 12:12:46.428 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:12:46.952 [debug] QUERY OK source="media_items" db=4.4ms queue=0.1ms idle=536.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "Q0qmHym16H4", "WcWL0_PlcO8", "dQV1WkSly7k", "Xpohopi2_tA", "fsZdCn4jIUY", "hgk2jMPnG2w", "oDh4gg7xiUs", "3LfUmSMW_qc", "5gN9QvwPLq8", "uSBe19ms3aw", "Eq1BmJikpHA", "OsKelxcQUNo", "zNP6Q_Yk9hU", "ZPPCc15thCc", "UzARiS2CyJ4", "r8X8HVGVV1o", "_JI7oYBFZIo", "niCh-EI1Kfo", "92mSBlpBEJo", "_6OAB_8iwqs", "tJbcC43WELc", "cPz1rUCNI0o", "hFzt_dOdElw", "nC-QKeluT0c", "i8ARsrsVUMM", "X30l-491qck", "rzQeUM-lMUY", "BkUHm95UvCw", "MQ2cHq3-J7A", "CtF5dLHITYA", "SGJkxRdkRGg", "OUCt85aJaAA", "9gARPYZOka4", "-uH-Gi5tjEw", "qwUBBQKYX94", "s8VLDSQJ8nA", "EvPfr0lKkh4", "msXzAxF49gA", "hQCWaSvjkU0", "RcmjVsy3a-g", "xtuNc9vYJG4", "fj2tcg8OzsM", "2FZ4IfPACDM", "2Q9DzW20YJ8", "IVsWFGOE_mw", "vPxpMcv2Z4Y", "Zverj_ldlhY", "pQK8xasPd9Q", "_Yo7nh8u9pk", ...] 12:12:46.958 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=529.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 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] 12:12:46.999 [debug] QUERY OK source="tasks" db=1.6ms idle=13.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1660, 1, ~U[2026-03-28 01:12:46Z], ~U[2026-03-28 01:12:46Z]] 12:12:47.002 [info] {"args":{"id":1},"id":1653,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":594781,"event":"job:stop","queue_time":158428,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:12:50.701 [info] {"source":"oban","duration":2859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:00.658 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:13:20.704 [info] {"source":"oban","duration":2219,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:34.571 [info] {"args":{"id":6},"id":1654,"meta":{},"system_time":1774660414571067613,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:13:34.572 [debug] QUERY OK source="sources" db=0.8ms idle=208.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" = ?) [6] 12:13:34.573 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:13:34.574 [debug] QUERY OK source="media_profiles" db=0.3ms idle=210.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] 12:13:34.574 [debug] QUERY OK source="settings" db=0.2ms idle=11.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 [] 12:13:34.574 [debug] Fetching recent media IDs from YouTube API for playlist: UUOzMAa6IhV6uwYQATYG_2kg 12:13:34.575 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:13:34.575 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:13:35.968 [debug] QUERY OK source="media_items" db=3.8ms idle=1391.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 m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6, "dnia-38h1GA", "iZaN9NRWc28", "CJrLdBStrzc", "u-eoT-Foth8", "XHineC0YKjs", "VdlejwGkNoI", "ikIigkz2pMg", "qUdPPQ9-9Tg", "k9fuSOPjSXM", "hb-oXWK9r7k", "hDfrtCQmNOo", "zRIUM4OhyWU", "W7c0iVM4P2I", "KCFDp_kxT_4", "aZhuGRngq-g", "BgWbezF2M28", "ZJfHw71KKsk", "MisOg5bX0a4", "2UampQ_86ek", "7-iImzOel-s", "O8E47Ib_RoU", "RcVBMZd2_u8", "b-DHev8Uc6I", "0apH8xkS6PE", "I8m3hyPVsxA", "urqkKHRaT-8", "shyrhINSaPk", "Ze3bKcLbPWg", "ydk9KfgHUPo", "sFlgR1oiUXk", "jCieQsNXdBM", "Nz4uVkNMKdI", "tyX3PvjLSC8", "VeDDo4HhNVo", "2RmXPeBn3x0", "1sA4iEo0x1o", "KqAYebG_Bs0", "FelCut8wQ3o", "wY5Xb_t79SM", "-YqD-IWgaz8", "BdV0pSziReE", "u5VKDy7Dgj8", "hn89XxHJLQ0", "wE60s-NuU6c", "LBwtYK3W-vw", "FGpCwqNklsw", "79hW_qeneEY", "aNpJxLXZATY", "9JhGit6JRw0", ...] 12:13:35.971 [debug] QUERY OK source="settings" db=0.3ms idle=1396.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 [] 12:13:35.971 [debug] QUERY OK source="settings" db=0.2ms idle=1397.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 [] 12:13:35.972 [debug] Running yt-dlp command for action: get_media_attributes 12:13:35.973 [debug] QUERY OK source="settings" db=0.2ms idle=1398.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 [] 12:13:35.974 [debug] QUERY OK source="settings" db=0.2ms idle=408.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 [] 12:13:35.974 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms 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 [] 12:13:35.975 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/e2/13/e21321bfda55f64822d83ebd5334f086523ead226eb4d949c56ad7cd3ff625f5.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:13:39.200 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/e2/13/e21321bfda55f64822d83ebd5334f086523ead226eb4d949c56ad7cd3ff625f5.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days. 12:13:39.200 [error] Error creating media item 'u-eoT-Foth8' from URL: {:error, "ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days.\n", 1} 12:13:39.234 [debug] QUERY OK source="media_items" db=32.9ms queue=0.1ms idle=1837.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 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] 12:13:39.423 [debug] QUERY OK source="tasks" db=0.5ms idle=6.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1661, 6, ~U[2026-03-28 01:13:39Z], ~U[2026-03-28 01:13:39Z]] 12:13:39.423 [info] {"args":{"id":6},"id":1654,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":4852266,"event":"job:stop","queue_time":183094,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:13:39.904 [info] GET / 12:13:39.905 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:13:39.909 [debug] QUERY OK source="settings" db=3.1ms queue=0.1ms idle=483.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 [] 12:13:39.909 [debug] QUERY OK source="media_profiles" db=0.4ms idle=486.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:13:39.910 [debug] QUERY OK source="sources" db=0.2ms idle=486.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:13:39.948 [debug] QUERY OK source="media_items" db=37.9ms idle=479.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:13:39.953 [debug] QUERY OK source="media_items" db=4.2ms queue=0.1ms idle=366.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:13:39.954 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=44.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 [] 12:13:39.954 [debug] QUERY OK source="settings" db=0.3ms idle=44.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 [] 12:13:39.955 [debug] QUERY OK source="settings" db=0.1ms idle=45.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 [] 12:13:39.961 [debug] QUERY OK source="media_items" db=4.5ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 12:13:39.962 [debug] QUERY OK source="media_items" db=0.7ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:13:39.963 [debug] QUERY OK source="sources" db=0.5ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [6, 2] 12:13:40.024 [debug] QUERY OK source="media_items" db=57.9ms idle=11.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 (((((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:13:40.096 [debug] QUERY OK source="media_items" db=71.1ms queue=0.1ms idle=69.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:13:40.099 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=136.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" = ?) [6] 12:13:40.106 [debug] QUERY OK source="tasks" db=0.5ms idle=143.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:13:40.108 [debug] QUERY OK source="media_items" db=0.9ms idle=143.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3500, 3503] 12:13:40.112 [info] Sent 200 in 207ms 12:13:50.708 [info] {"source":"oban","duration":3201,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:00.660 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:14:20.318 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nEmn9uHTg_k --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e4/1c/e41cca5e40449b65b560007da947261167bb4bb787382611225730d465db443d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:14:20.713 [info] {"source":"oban","duration":3865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:22.576 [debug] Running yt-dlp command for action: download_thumbnail 12:14:22.580 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1215.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 [] 12:14:22.581 [debug] QUERY OK source="settings" db=0.5ms idle=852.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 [] 12:14:22.581 [debug] QUERY OK source="settings" db=0.5ms idle=217.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 [] 12:14:22.582 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nEmn9uHTg_k --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3503/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/a4/c4/a4c4c733728d067f2b914846fe60ba96b435a22ed59c6d005d2ca5ba65d3b148.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:14:26.995 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YnrE6pMZumI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/4a/ac/4aac31ab7929a8280868965c0aa761c2ff756af454514c0bb184dd90672a101c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:14:27.136 [debug] Running yt-dlp command for action: download_thumbnail 12:14:27.138 [debug] QUERY OK source="settings" db=0.2ms idle=774.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 [] 12:14:27.138 [debug] QUERY OK source="settings" db=0.2ms idle=774.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 [] 12:14:27.139 [debug] QUERY OK source="settings" db=0.1ms idle=775.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 [] 12:14:27.139 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YnrE6pMZumI --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3500/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c3/68/c368af172aa50379bfded9e5075c83d3d3f35cbc6f4e7ae1c4aa2f388f2d471e.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:14:31.379 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nEmn9uHTg_k --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3503/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/a4/c4/a4c4c733728d067f2b914846fe60ba96b435a22ed59c6d005d2ca5ba65d3b148.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:14:31.380 [debug] QUERY OK db=0.0ms queue=0.1ms idle=1016.4ms begin [] 12:14:31.382 [debug] QUERY OK source="media_items" db=1.9ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:14:20Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e060299 - Blue Hawaii Cocktail: Classic vs. Elevated (with Blue Foam!).mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e060299 - Blue Hawaii Cocktail: Classic vs. Elevated (with Blue Foam!).info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e060299 - Blue Hawaii Cocktail: Classic vs. Elevated (with Blue Foam!).nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e060299 - Blue Hawaii Cocktail: Classic vs. Elevated (with Blue Foam!).mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e060299 - Blue Hawaii Cocktail: Classic vs. Elevated (with Blue Foam!).en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e060299 - Blue Hawaii Cocktail: Classic vs. Elevated (with Blue Foam!)-thumb.jpg", ~U[2026-03-28 01:14:31Z], 3503] 12:14:31.400 [debug] QUERY OK source="media_metadata" db=17.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/3503/metadata.json.gz", "/config/metadata/media_items/3503/thumbnail.jpg", 3503, ~U[2026-03-28 01:14:31Z], ~U[2026-03-28 01:14:31Z]] 12:14:31.403 [debug] QUERY OK db=2.8ms commit [] 12:14:31.430 [debug] QUERY OK source="media_items" db=8.0ms idle=1058.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [83437372, ~U[2026-03-28 01:14:31Z], 3503] 12:14:31.430 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:14:31.439 [info] {"args":{"id":3503},"id":608,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":187690474,"event":"job:stop","queue_time":75783738063,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:14:31.460 [info] {"args":{"id":3506},"id":609,"meta":{},"system_time":1774660471460015181,"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"]} 12:14:31.475 [debug] QUERY OK source="media_items" db=15.0ms idle=697.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" = ?) [3506] 12:14:31.476 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:14:31.478 [debug] QUERY OK source="sources" db=1.6ms queue=0.1ms idle=73.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" = ?) [4] 12:14:31.480 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=49.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] 12:14:31.482 [debug] QUERY OK source="media_items" db=1.1ms idle=41.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 [3506] 12:14:31.484 [debug] QUERY OK source="media_metadata" db=0.3ms idle=24.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" = ?) [3506] 12:14:31.485 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 12:14:31.486 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:14:31.486 [debug] QUERY OK source="settings" db=0.2ms idle=6.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 [] 12:14:31.487 [debug] Running yt-dlp command for action: get_downloadable_status 12:14:31.489 [debug] QUERY OK source="settings" db=0.4ms idle=6.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 [] 12:14:31.489 [debug] QUERY OK source="settings" db=0.4ms 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 [] 12:14:31.490 [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 [] 12:14:31.490 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RB-Iv83elI4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e5/ba/e5ba0c2da9ab7cf9407b639f688b51bb0d6689436c53e3fa98fbf0100f2d90dc.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:14:33.989 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YnrE6pMZumI --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3500/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c3/68/c368af172aa50379bfded9e5075c83d3d3f35cbc6f4e7ae1c4aa2f388f2d471e.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:14:33.991 [debug] QUERY OK db=0.1ms queue=0.2ms idle=627.0ms begin [] 12:14:33.996 [debug] QUERY OK source="media_items" db=4.5ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:14:27Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e060999 - St.Germain but 9 Times Cheaper!.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e060999 - St.Germain but 9 Times Cheaper!.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e060999 - St.Germain but 9 Times Cheaper!.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e060999 - St.Germain but 9 Times Cheaper!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e060999 - St.Germain but 9 Times Cheaper!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e060999 - St.Germain but 9 Times Cheaper!-thumb.jpg", ~U[2026-03-28 01:14:33Z], 3500] 12:14:33.999 [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/3500/metadata.json.gz", "/config/metadata/media_items/3500/thumbnail.jpg", 3500, ~U[2026-03-28 01:14:33Z], ~U[2026-03-28 01:14:33Z]] 12:14:34.001 [debug] QUERY OK db=1.5ms commit [] 12:14:34.030 [debug] QUERY OK source="media_items" db=7.6ms queue=0.5ms idle=658.6ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [102291519, ~U[2026-03-28 01:14:34Z], 3500] 12:14:34.032 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:14:34.035 [info] {"args":{"id":3500},"id":607,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":206660781,"event":"job:stop","queue_time":75773370163,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:14:34.049 [info] {"args":{"id":3509},"id":610,"meta":{},"system_time":1774660474049621018,"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"]} 12:14:34.051 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=276.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" = ?) [3509] 12:14:34.051 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:14:34.054 [debug] QUERY OK source="sources" db=1.5ms queue=0.3ms idle=50.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" = ?) [4] 12:14:34.057 [debug] QUERY OK source="media_profiles" db=1.9ms queue=0.5ms idle=24.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] 12:14:34.059 [debug] QUERY OK source="media_items" db=0.9ms idle=22.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 [3509] 12:14:34.064 [debug] QUERY OK source="media_metadata" db=0.4ms queue=0.2ms idle=13.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" = ?) [3509] 12:14:34.070 [debug] QUERY OK source="media_profiles" db=4.9ms queue=0.1ms 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] 12:14:34.074 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=19.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 [] 12:14:34.076 [debug] QUERY OK source="settings" db=0.9ms queue=0.4ms 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 [] 12:14:34.079 [debug] Running yt-dlp command for action: get_downloadable_status 12:14:34.082 [debug] QUERY OK source="settings" db=1.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 [] 12:14:34.083 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms 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 [] 12:14:34.084 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:14:34.085 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9U2YoayqwzE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/44/c6/44c63c3a4b72aae404b134b69eb4155eec6252917aa6f86e8eb7e8f8af0cc20b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:14:39.243 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RB-Iv83elI4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e5/ba/e5ba0c2da9ab7cf9407b639f688b51bb0d6689436c53e3fa98fbf0100f2d90dc.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:14:39.244 [debug] Running yt-dlp command for action: download 12:14:39.245 [debug] QUERY OK source="settings" db=0.6ms idle=1881.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 [] 12:14:39.246 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1882.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 [] 12:14:39.247 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1883.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 [] 12:14:39.248 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RB-Iv83elI4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/74/40/7440938ebc133ab4d9b83355d906cb41e25340c64812c161d403430ae5797a25.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:14:40.343 [info] GET / 12:14:40.344 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:14:40.345 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1099.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 [] 12:14:40.345 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=1099.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:14:40.346 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1098.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:14:40.371 [debug] QUERY OK source="media_items" db=24.1ms queue=0.1ms idle=983.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:14:40.374 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=577.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:14:40.375 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=29.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 [] 12:14:40.376 [debug] QUERY OK source="settings" db=0.4ms idle=29.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 [] 12:14:40.377 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=30.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 [] 12:14:40.382 [debug] QUERY OK source="media_items" db=3.3ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 12:14:40.384 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:14:40.386 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=10.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" IN (?,?)) [6, 2] 12:14:40.450 [debug] QUERY OK source="media_items" db=57.6ms idle=16.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 (((((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:14:40.518 [debug] QUERY OK source="media_items" db=66.4ms queue=0.1ms idle=73.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:14:40.519 [debug] QUERY OK source="sources" db=0.3ms idle=136.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" = ?) [6] 12:14:40.526 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=140.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:14:40.527 [debug] QUERY OK source="media_items" db=0.7ms idle=140.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3506, 3509] 12:14:40.529 [info] Sent 200 in 185ms 12:14:40.658 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9U2YoayqwzE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/44/c6/44c63c3a4b72aae404b134b69eb4155eec6252917aa6f86e8eb7e8f8af0cc20b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:14:40.658 [debug] Running yt-dlp command for action: download 12:14:40.659 [debug] QUERY OK source="settings" db=0.5ms idle=208.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 [] 12:14:40.660 [debug] QUERY OK source="settings" db=0.2ms idle=142.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 [] 12:14:40.660 [debug] QUERY OK source="settings" db=0.3ms idle=140.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 [] 12:14:40.661 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9U2YoayqwzE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/12/20/1220833b95ddf2f944db3ea93bf5d4dc5bf5f900db16cc8e209a36c5a246e37c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:14:50.716 [info] {"source":"oban","duration":2033,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:00.661 [info] {"source":"oban","duration":543,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:15:20.720 [info] {"source":"oban","duration":3549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:40.795 [info] GET / 12:15:40.795 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:15:40.796 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=762.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 [] 12:15:40.797 [debug] QUERY OK source="media_profiles" db=0.3ms idle=433.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:15:40.797 [debug] QUERY OK source="sources" db=0.3ms idle=433.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:15:40.821 [debug] QUERY OK source="media_items" db=24.1ms idle=434.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:15:40.828 [debug] QUERY OK source="media_items" db=5.8ms queue=0.1ms idle=458.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:15:40.828 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=32.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 [] 12:15:40.829 [debug] QUERY OK source="settings" db=0.2ms idle=31.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 [] 12:15:40.830 [debug] QUERY OK source="settings" db=0.2ms idle=32.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 [] 12:15:40.837 [debug] QUERY OK source="media_items" db=5.8ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 12:15:40.838 [debug] QUERY OK source="media_items" db=0.7ms idle=9.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:15:40.838 [debug] QUERY OK source="sources" db=0.2ms idle=9.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" IN (?,?)) [6, 2] 12:15:40.918 [debug] QUERY OK source="media_items" db=76.6ms idle=12.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 (((((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:15:41.006 [debug] QUERY OK source="media_items" db=86.5ms queue=0.4ms idle=88.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:15:41.007 [debug] QUERY OK source="sources" db=0.3ms idle=169.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] 12:15:41.012 [debug] QUERY OK source="tasks" db=0.5ms idle=173.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:15:41.013 [debug] QUERY OK source="media_items" db=0.3ms idle=174.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3506, 3509] 12:15:41.016 [info] Sent 200 in 221ms 12:15:44.163 [info] GET /sources/15/media/59539 12:15:44.163 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "59539", "source_id" => "15"} Pipelines: [:browser] 12:15:44.165 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=1801.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" = ?) [59539] 12:15:44.168 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1804.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 [] 12:15:44.168 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1805.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 [] 12:15:44.171 [debug] QUERY OK source="settings" db=0.3ms queue=0.9ms idle=1122.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 [] 12:15:44.174 [info] Sent 404 in 11ms 12:15:44.174 [debug] Converted error Ecto.NoResultsError to 404 response 12:15:49.415 [info] GET /.well-known/acme-challenge/17e0b3Qcc4d8eUzWLIZZELYL7SI04wHnf5CZrwh_tP4 12:15:49.418 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=341.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 [] 12:15:49.419 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=55.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 [] 12:15:49.419 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:15:49.420 [error] #PID<0.2793.0> running PinchflatWeb.Endpoint (connection #PID<0.2792.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/17e0b3Qcc4d8eUzWLIZZELYL7SI04wHnf5CZrwh_tP4 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/17e0b3Qcc4d8eUzWLIZZELYL7SI04wHnf5CZrwh_tP4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2792.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/17e0b3Qcc4d8eUzWLIZZELYL7SI04wHnf5CZrwh_tP4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49010}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/17e0b3Qcc4d8eUzWLIZZELYL7SI04wHnf5CZrwh_tP4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2793.0>, params: %{}, path_info: [".well-known", "acme-challenge", "17e0b3Qcc4d8eUzWLIZZELYL7SI04wHnf5CZrwh_tP4"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/17e0b3Qcc4d8eUzWLIZZELYL7SI04wHnf5CZrwh_tP4"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/17e0b3Qcc4d8eUzWLIZZELYL7SI04wHnf5CZrwh_tP4", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDcXfzRGgllBuEAACoC"} ], 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.2792.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/17e0b3Qcc4d8eUzWLIZZELYL7SI04wHnf5CZrwh_tP4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49010}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/17e0b3Qcc4d8eUzWLIZZELYL7SI04wHnf5CZrwh_tP4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/17e0b3Qcc4d8eUzWLIZZELYL7SI04wHnf5CZrwh_tP4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2792.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/17e0b3Qcc4d8eUzWLIZZELYL7SI04wHnf5CZrwh_tP4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49010}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/17e0b3Qcc4d8eUzWLIZZELYL7SI04wHnf5CZrwh_tP4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2793.0>, params: %{}, path_info: [".well-known", "acme-challenge", "17e0b3Qcc4d8eUzWLIZZELYL7SI04wHnf5CZrwh_tP4"], 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://pinchflat.f2fv7 (truncated) 12:15:50.643 [info] GET /.well-known/acme-challenge/hs41645c3tqOLYm94A7NsDghsmrIPf7qY_0Py3fhAP0 12:15:50.644 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1280.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 [] 12:15:50.645 [debug] QUERY OK source="settings" db=0.2ms idle=1281.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 [] 12:15:50.645 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:15:50.646 [error] #PID<0.2794.0> running PinchflatWeb.Endpoint (connection #PID<0.2792.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/hs41645c3tqOLYm94A7NsDghsmrIPf7qY_0Py3fhAP0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/hs41645c3tqOLYm94A7NsDghsmrIPf7qY_0Py3fhAP0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2792.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/hs41645c3tqOLYm94A7NsDghsmrIPf7qY_0Py3fhAP0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49010}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/hs41645c3tqOLYm94A7NsDghsmrIPf7qY_0Py3fhAP0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2794.0>, params: %{}, path_info: [".well-known", "acme-challenge", "hs41645c3tqOLYm94A7NsDghsmrIPf7qY_0Py3fhAP0"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/hs41645c3tqOLYm94A7NsDghsmrIPf7qY_0Py3fhAP0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/hs41645c3tqOLYm94A7NsDghsmrIPf7qY_0Py3fhAP0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDcXkX5YqbNEJEAACoi"} ], 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.2792.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/hs41645c3tqOLYm94A7NsDghsmrIPf7qY_0Py3fhAP0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49010}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/hs41645c3tqOLYm94A7NsDghsmrIPf7qY_0Py3fhAP0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/hs41645c3tqOLYm94A7NsDghsmrIPf7qY_0Py3fhAP0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2792.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/hs41645c3tqOLYm94A7NsDghsmrIPf7qY_0Py3fhAP0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49010}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/hs41645c3tqOLYm94A7NsDghsmrIPf7qY_0Py3fhAP0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2794.0>, params: %{}, path_info: [".well-known", "acme-challenge", "hs41645c3tqOLYm94A7NsDghsmrIPf7qY_0Py3fhAP0"], 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://pinchflat.f2fv7 (truncated) 12:15:50.724 [info] {"source":"oban","duration":2625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:52.303 [info] GET /.well-known/acme-challenge/g_8Rkp1LawDxEr-fNs6GpnZN7PJR6ykYijvLB6ZQ7vk 12:15:52.304 [debug] QUERY OK source="settings" db=0.2ms idle=1658.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 [] 12:15:52.304 [debug] QUERY OK source="settings" db=0.2ms idle=1579.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 [] 12:15:52.305 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:15:52.305 [error] #PID<0.2795.0> running PinchflatWeb.Endpoint (connection #PID<0.2792.0>, stream id 3) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/g_8Rkp1LawDxEr-fNs6GpnZN7PJR6ykYijvLB6ZQ7vk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/g_8Rkp1LawDxEr-fNs6GpnZN7PJR6ykYijvLB6ZQ7vk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2792.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/g_8Rkp1LawDxEr-fNs6GpnZN7PJR6ykYijvLB6ZQ7vk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49010}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/g_8Rkp1LawDxEr-fNs6GpnZN7PJR6ykYijvLB6ZQ7vk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2795.0>, params: %{}, path_info: [".well-known", "acme-challenge", "g_8Rkp1LawDxEr-fNs6GpnZN7PJR6ykYijvLB6ZQ7vk"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/g_8Rkp1LawDxEr-fNs6GpnZN7PJR6ykYijvLB6ZQ7vk"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/g_8Rkp1LawDxEr-fNs6GpnZN7PJR6ykYijvLB6ZQ7vk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDcXqj4MB9XW08AACpC"} ], 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.2792.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/g_8Rkp1LawDxEr-fNs6GpnZN7PJR6ykYijvLB6ZQ7vk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49010}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/g_8Rkp1LawDxEr-fNs6GpnZN7PJR6ykYijvLB6ZQ7vk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/g_8Rkp1LawDxEr-fNs6GpnZN7PJR6ykYijvLB6ZQ7vk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2792.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/g_8Rkp1LawDxEr-fNs6GpnZN7PJR6ykYijvLB6ZQ7vk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49010}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/g_8Rkp1LawDxEr-fNs6GpnZN7PJR6ykYijvLB6ZQ7vk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2795.0>, params: %{}, path_info: [".well-known", "acme-challenge", "g_8Rkp1LawDxEr-fNs6GpnZN7PJR6ykYijvLB6ZQ7vk"], 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://pinchflat.f2fv7 (truncated) 12:15:52.317 [info] GET /.well-known/acme-challenge/AWiUcx6RVB7dQb7mdOlEeujMz1pYIkkmdr9PaylWsLw 12:15:52.318 [debug] QUERY OK source="settings" db=0.3ms idle=1236.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 [] 12:15:52.318 [debug] QUERY OK source="settings" db=0.1ms idle=954.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 [] 12:15:52.318 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:15:52.319 [error] #PID<0.2797.0> running PinchflatWeb.Endpoint (connection #PID<0.2796.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/AWiUcx6RVB7dQb7mdOlEeujMz1pYIkkmdr9PaylWsLw ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/AWiUcx6RVB7dQb7mdOlEeujMz1pYIkkmdr9PaylWsLw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2796.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/AWiUcx6RVB7dQb7mdOlEeujMz1pYIkkmdr9PaylWsLw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 49018}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/AWiUcx6RVB7dQb7mdOlEeujMz1pYIkkmdr9PaylWsLw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2797.0>, params: %{}, path_info: [".well-known", "acme-challenge", "AWiUcx6RVB7dQb7mdOlEeujMz1pYIkkmdr9PaylWsLw"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/AWiUcx6RVB7dQb7mdOlEeujMz1pYIkkmdr9PaylWsLw"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/AWiUcx6RVB7dQb7mdOlEeujMz1pYIkkmdr9PaylWsLw", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDcXqnJ8vG7uD0AACpi"} ], 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.2796.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/AWiUcx6RVB7dQb7mdOlEeujMz1pYIkkmdr9PaylWsLw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 49018}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/AWiUcx6RVB7dQb7mdOlEeujMz1pYIkkmdr9PaylWsLw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/AWiUcx6RVB7dQb7mdOlEeujMz1pYIkkmdr9PaylWsLw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2796.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/AWiUcx6RVB7dQb7mdOlEeujMz1pYIkkmdr9PaylWsLw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 49018}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/AWiUcx6RVB7dQb7mdOlEeujMz1pYIkkmdr9PaylWsLw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2797.0>, params: %{}, path_info: [".well-known", "acme-challenge", "AWiUcx6RVB7dQb7mdOlEeujMz1pYIkkmdr9PaylWsLw"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:15:52.922 [info] GET /.well-known/acme-challenge/e9GOzIO32q_LtFSgIprMGfU0jJCK2gX1xBCN_jV5fJw 12:15:52.923 [debug] QUERY OK source="settings" db=0.4ms idle=839.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 [] 12:15:52.924 [debug] QUERY OK source="settings" db=0.7ms idle=619.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 [] 12:15:52.924 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:15:52.925 [error] #PID<0.2798.0> running PinchflatWeb.Endpoint (connection #PID<0.2796.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/e9GOzIO32q_LtFSgIprMGfU0jJCK2gX1xBCN_jV5fJw ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/e9GOzIO32q_LtFSgIprMGfU0jJCK2gX1xBCN_jV5fJw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2796.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/e9GOzIO32q_LtFSgIprMGfU0jJCK2gX1xBCN_jV5fJw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 49018}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/e9GOzIO32q_LtFSgIprMGfU0jJCK2gX1xBCN_jV5fJw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2798.0>, params: %{}, path_info: [".well-known", "acme-challenge", "e9GOzIO32q_LtFSgIprMGfU0jJCK2gX1xBCN_jV5fJw"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/e9GOzIO32q_LtFSgIprMGfU0jJCK2gX1xBCN_jV5fJw"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/e9GOzIO32q_LtFSgIprMGfU0jJCK2gX1xBCN_jV5fJw", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDcXs3U8ykNbTkAACqC"} ], 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.2796.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/e9GOzIO32q_LtFSgIprMGfU0jJCK2gX1xBCN_jV5fJw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 49018}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/e9GOzIO32q_LtFSgIprMGfU0jJCK2gX1xBCN_jV5fJw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/e9GOzIO32q_LtFSgIprMGfU0jJCK2gX1xBCN_jV5fJw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2796.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/e9GOzIO32q_LtFSgIprMGfU0jJCK2gX1xBCN_jV5fJw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 49018}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/e9GOzIO32q_LtFSgIprMGfU0jJCK2gX1xBCN_jV5fJw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2798.0>, params: %{}, path_info: [".well-known", "acme-challenge", "e9GOzIO32q_LtFSgIprMGfU0jJCK2gX1xBCN_jV5fJw"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:15:57.316 [info] GET /.well-known/acme-challenge/IEU_3joicM3N8r2nkORfjcVCYUgjpIRiTVRJEdqxZjs 12:15:57.318 [debug] QUERY OK source="settings" db=0.7ms idle=1953.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 [] 12:15:57.319 [debug] QUERY OK source="settings" db=0.4ms idle=1221.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 [] 12:15:57.319 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:15:57.319 [error] #PID<0.2801.0> running PinchflatWeb.Endpoint (connection #PID<0.2796.0>, stream id 3) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/IEU_3joicM3N8r2nkORfjcVCYUgjpIRiTVRJEdqxZjs ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/IEU_3joicM3N8r2nkORfjcVCYUgjpIRiTVRJEdqxZjs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2796.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/IEU_3joicM3N8r2nkORfjcVCYUgjpIRiTVRJEdqxZjs", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 49018}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/IEU_3joicM3N8r2nkORfjcVCYUgjpIRiTVRJEdqxZjs", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2801.0>, params: %{}, path_info: [".well-known", "acme-challenge", "IEU_3joicM3N8r2nkORfjcVCYUgjpIRiTVRJEdqxZjs"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/IEU_3joicM3N8r2nkORfjcVCYUgjpIRiTVRJEdqxZjs"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/IEU_3joicM3N8r2nkORfjcVCYUgjpIRiTVRJEdqxZjs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDcX9PFHlfPgxkAACrC"} ], 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.2796.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/IEU_3joicM3N8r2nkORfjcVCYUgjpIRiTVRJEdqxZjs", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 49018}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/IEU_3joicM3N8r2nkORfjcVCYUgjpIRiTVRJEdqxZjs", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/IEU_3joicM3N8r2nkORfjcVCYUgjpIRiTVRJEdqxZjs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2796.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/IEU_3joicM3N8r2nkORfjcVCYUgjpIRiTVRJEdqxZjs", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 49018}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/IEU_3joicM3N8r2nkORfjcVCYUgjpIRiTVRJEdqxZjs", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2801.0>, params: %{}, path_info: [".well-known", "acme-challenge", "IEU_3joicM3N8r2nkORfjcVCYUgjpIRiTVRJEdqxZjs"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:15:57.874 [info] GET /.well-known/acme-challenge/HrNGuCUIL5r-V3z4rlc6mxeXE3_kJ5YCT-axD5BQ9nY 12:15:57.876 [debug] QUERY OK source="settings" db=0.8ms idle=1512.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 [] 12:15:57.877 [debug] QUERY OK source="settings" db=0.5ms idle=1513.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 [] 12:15:57.877 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:15:57.877 [error] #PID<0.2803.0> running PinchflatWeb.Endpoint (connection #PID<0.2802.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/HrNGuCUIL5r-V3z4rlc6mxeXE3_kJ5YCT-axD5BQ9nY ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/HrNGuCUIL5r-V3z4rlc6mxeXE3_kJ5YCT-axD5BQ9nY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2802.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/HrNGuCUIL5r-V3z4rlc6mxeXE3_kJ5YCT-axD5BQ9nY", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 44558}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/HrNGuCUIL5r-V3z4rlc6mxeXE3_kJ5YCT-axD5BQ9nY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2803.0>, params: %{}, path_info: [".well-known", "acme-challenge", "HrNGuCUIL5r-V3z4rlc6mxeXE3_kJ5YCT-axD5BQ9nY"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/HrNGuCUIL5r-V3z4rlc6mxeXE3_kJ5YCT-axD5BQ9nY"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/HrNGuCUIL5r-V3z4rlc6mxeXE3_kJ5YCT-axD5BQ9nY", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDcX_UIKLonXngAACri"} ], 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.2802.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/HrNGuCUIL5r-V3z4rlc6mxeXE3_kJ5YCT-axD5BQ9nY", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 44558}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/HrNGuCUIL5r-V3z4rlc6mxeXE3_kJ5YCT-axD5BQ9nY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/HrNGuCUIL5r-V3z4rlc6mxeXE3_kJ5YCT-axD5BQ9nY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2802.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/HrNGuCUIL5r-V3z4rlc6mxeXE3_kJ5YCT-axD5BQ9nY", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 44558}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/HrNGuCUIL5r-V3z4rlc6mxeXE3_kJ5YCT-axD5BQ9nY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2803.0>, params: %{}, path_info: [".well-known", "acme-challenge", "HrNGuCUIL5r-V3z4rlc6mxeXE3_kJ5YCT-axD5BQ9nY"], 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://pinchflat.f2fv7 (truncated) 12:15:59.125 [info] GET /.well-known/acme-challenge/Pd0hbvgS94gFmMLqyt09h49SBIP9N6aPY-T1HWXv8Jw 12:15:59.126 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1249.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 [] 12:15:59.127 [debug] QUERY OK source="settings" db=0.1ms idle=1022.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 [] 12:15:59.127 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:15:59.127 [error] #PID<0.2804.0> running PinchflatWeb.Endpoint (connection #PID<0.2796.0>, stream id 4) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/Pd0hbvgS94gFmMLqyt09h49SBIP9N6aPY-T1HWXv8Jw ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Pd0hbvgS94gFmMLqyt09h49SBIP9N6aPY-T1HWXv8Jw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2796.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Pd0hbvgS94gFmMLqyt09h49SBIP9N6aPY-T1HWXv8Jw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 49018}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Pd0hbvgS94gFmMLqyt09h49SBIP9N6aPY-T1HWXv8Jw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2804.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Pd0hbvgS94gFmMLqyt09h49SBIP9N6aPY-T1HWXv8Jw"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/Pd0hbvgS94gFmMLqyt09h49SBIP9N6aPY-T1HWXv8Jw"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/Pd0hbvgS94gFmMLqyt09h49SBIP9N6aPY-T1HWXv8Jw", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDcYD-ZHyb2P_UAACsC"} ], 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.2796.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Pd0hbvgS94gFmMLqyt09h49SBIP9N6aPY-T1HWXv8Jw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 49018}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Pd0hbvgS94gFmMLqyt09h49SBIP9N6aPY-T1HWXv8Jw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Pd0hbvgS94gFmMLqyt09h49SBIP9N6aPY-T1HWXv8Jw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2796.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Pd0hbvgS94gFmMLqyt09h49SBIP9N6aPY-T1HWXv8Jw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 49018}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Pd0hbvgS94gFmMLqyt09h49SBIP9N6aPY-T1HWXv8Jw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2804.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Pd0hbvgS94gFmMLqyt09h49SBIP9N6aPY-T1HWXv8Jw"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:16:00.663 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:16:20.727 [info] {"source":"oban","duration":1572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:41.243 [info] GET / 12:16:41.244 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:16:41.245 [debug] QUERY OK source="settings" db=0.6ms idle=1016.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 [] 12:16:41.246 [debug] QUERY OK source="media_profiles" db=0.6ms idle=882.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:16:41.247 [debug] QUERY OK source="sources" db=0.7ms idle=883.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:16:41.270 [debug] QUERY OK source="media_items" db=23.0ms idle=884.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:16:41.278 [debug] QUERY OK source="media_items" db=7.4ms queue=0.1ms idle=39.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:16:41.280 [debug] QUERY OK source="settings" db=0.5ms idle=34.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 [] 12:16:41.280 [debug] QUERY OK source="settings" db=0.3ms idle=34.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 [] 12:16:41.281 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:16:41.290 [debug] QUERY OK source="media_items" db=7.4ms idle=11.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 (NOT (m0."media_filepath" IS NULL)) [] 12:16:41.292 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=11.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:16:41.294 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms 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" IN (?,?)) [6, 2] 12:16:41.339 [debug] QUERY OK source="media_items" db=40.9ms idle=17.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 (((((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:16:41.354 [debug] QUERY OK source="media_items" db=14.4ms idle=57.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:16:41.355 [debug] QUERY OK source="sources" db=0.3ms idle=64.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" = ?) [6] 12:16:41.360 [debug] QUERY OK source="tasks" db=0.6ms idle=66.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:16:41.361 [debug] QUERY OK source="media_items" db=0.3ms idle=65.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3506, 3509] 12:16:41.363 [info] Sent 200 in 120ms 12:16:50.732 [info] {"source":"oban","duration":3479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:57.329 [info] GET /.well-known/acme-challenge/cO3swfUamxOz7qOupTg8ZzYiHc0vIgZs8QQjA1HpCB8 12:16:57.332 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=967.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 [] 12:16:57.333 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=968.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 [] 12:16:57.333 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:16:57.333 [error] #PID<0.2812.0> running PinchflatWeb.Endpoint (connection #PID<0.2811.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/cO3swfUamxOz7qOupTg8ZzYiHc0vIgZs8QQjA1HpCB8 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/cO3swfUamxOz7qOupTg8ZzYiHc0vIgZs8QQjA1HpCB8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2811.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/cO3swfUamxOz7qOupTg8ZzYiHc0vIgZs8QQjA1HpCB8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44466}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/cO3swfUamxOz7qOupTg8ZzYiHc0vIgZs8QQjA1HpCB8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2812.0>, params: %{}, path_info: [".well-known", "acme-challenge", "cO3swfUamxOz7qOupTg8ZzYiHc0vIgZs8QQjA1HpCB8"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/cO3swfUamxOz7qOupTg8ZzYiHc0vIgZs8QQjA1HpCB8"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/cO3swfUamxOz7qOupTg8ZzYiHc0vIgZs8QQjA1HpCB8", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDcbczRa0Y_ZxwAACwi"} ], 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.2811.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/cO3swfUamxOz7qOupTg8ZzYiHc0vIgZs8QQjA1HpCB8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44466}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/cO3swfUamxOz7qOupTg8ZzYiHc0vIgZs8QQjA1HpCB8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/cO3swfUamxOz7qOupTg8ZzYiHc0vIgZs8QQjA1HpCB8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2811.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/cO3swfUamxOz7qOupTg8ZzYiHc0vIgZs8QQjA1HpCB8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44466}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/cO3swfUamxOz7qOupTg8ZzYiHc0vIgZs8QQjA1HpCB8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2812.0>, params: %{}, path_info: [".well-known", "acme-challenge", "cO3swfUamxOz7qOupTg8ZzYiHc0vIgZs8QQjA1HpCB8"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:17:00.665 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:17:20.736 [info] {"source":"oban","duration":2863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:41.602 [info] GET / 12:17:41.602 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:17:41.604 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=1239.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 [] 12:17:41.604 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1241.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:17:41.605 [debug] QUERY OK source="sources" db=0.2ms idle=1241.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:17:41.708 [debug] QUERY OK source="media_items" db=103.2ms idle=1170.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:17:41.717 [debug] QUERY OK source="media_items" db=8.4ms queue=0.1ms idle=270.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:17:41.718 [debug] QUERY OK source="settings" db=0.6ms idle=113.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 [] 12:17:41.719 [debug] QUERY OK source="settings" db=0.3ms idle=113.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 [] 12:17:41.719 [debug] QUERY OK source="settings" db=0.1ms idle=114.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 [] 12:17:41.722 [debug] QUERY OK source="media_items" db=1.5ms idle=12.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 (NOT (m0."media_filepath" IS NULL)) [] 12:17:41.723 [debug] QUERY OK source="media_items" db=0.9ms idle=5.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:17:41.724 [debug] QUERY OK source="sources" db=0.3ms idle=5.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" IN (?,?)) [6, 2] 12:17:41.758 [debug] QUERY OK source="media_items" db=32.0ms idle=7.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 (((((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:17:41.779 [debug] QUERY OK source="media_items" db=20.3ms queue=0.1ms idle=39.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:17:41.780 [debug] QUERY OK source="sources" db=0.3ms idle=57.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] 12:17:41.783 [debug] QUERY OK source="tasks" db=0.9ms idle=59.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:17:41.784 [debug] QUERY OK source="media_items" db=0.4ms idle=59.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3506, 3509] 12:17:41.786 [info] Sent 200 in 183ms 12:17:43.661 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RB-Iv83elI4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/74/40/7440938ebc133ab4d9b83355d906cb41e25340c64812c161d403430ae5797a25.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:17:43.707 [debug] Running yt-dlp command for action: download_thumbnail 12:17:43.710 [debug] QUERY OK source="settings" db=0.3ms idle=346.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 [] 12:17:43.710 [debug] QUERY OK source="settings" db=0.1ms idle=347.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 [] 12:17:43.711 [debug] QUERY OK source="settings" db=0.3ms idle=347.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 [] 12:17:43.711 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RB-Iv83elI4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3506/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/29/fb/29fb9a9a5f4996a0d93eddc8473ce5a369c25fb62c259015d22b85baae238f9a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:17:50.740 [info] {"source":"oban","duration":3518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:52.424 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RB-Iv83elI4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3506/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/29/fb/29fb9a9a5f4996a0d93eddc8473ce5a369c25fb62c259015d22b85baae238f9a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:17:52.425 [debug] QUERY OK db=0.0ms idle=1061.5ms begin [] 12:17:52.429 [debug] QUERY OK source="media_items" db=4.5ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:17:43Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e052699 - Manhattan Cocktail With A Chocolate Brownie Twist.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e052699 - Manhattan Cocktail With A Chocolate Brownie Twist.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e052699 - Manhattan Cocktail With A Chocolate Brownie Twist.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e052699 - Manhattan Cocktail With A Chocolate Brownie Twist.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e052699 - Manhattan Cocktail With A Chocolate Brownie Twist.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e052699 - Manhattan Cocktail With A Chocolate Brownie Twist-thumb.jpg", ~U[2026-03-28 01:17:52Z], 3506] 12:17:52.432 [debug] QUERY OK source="media_metadata" db=2.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/3506/metadata.json.gz", "/config/metadata/media_items/3506/thumbnail.jpg", 3506, ~U[2026-03-28 01:17:52Z], ~U[2026-03-28 01:17:52Z]] 12:17:52.437 [debug] QUERY OK db=4.2ms commit [] 12:17:52.449 [debug] QUERY OK source="media_items" db=9.2ms idle=1076.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [75605798, ~U[2026-03-28 01:17:52Z], 3506] 12:17:52.449 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:17:52.464 [info] {"args":{"id":3506},"id":609,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":200989834,"event":"job:stop","queue_time":75965446044,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:17:52.486 [info] {"args":{"id":3512},"id":611,"meta":{},"system_time":1774660672486101661,"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"]} 12:17:52.525 [debug] QUERY OK source="media_items" db=38.6ms idle=49.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" = ?) [3512] 12:17:52.526 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:17:52.532 [debug] QUERY OK source="sources" db=0.6ms queue=5.2ms idle=77.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" = ?) [4] 12:17:52.534 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=68.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] 12:17:52.535 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=48.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 [3512] 12:17:52.537 [debug] QUERY OK source="media_metadata" db=0.1ms idle=11.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" = ?) [3512] 12:17:52.538 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms 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] 12:17:52.539 [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 [] 12:17:52.539 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms 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 [] 12:17:52.540 [debug] Running yt-dlp command for action: get_downloadable_status 12:17:52.541 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:17:52.542 [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 [] 12:17:52.543 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:17:52.543 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=e5smGzumYoA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c4/44/c4443049ac1c0bef7338fa1019b6d837fbecd04b5797d36b7eab76d1c3231d16.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:17:59.036 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=e5smGzumYoA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c4/44/c4443049ac1c0bef7338fa1019b6d837fbecd04b5797d36b7eab76d1c3231d16.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:17:59.036 [debug] Running yt-dlp command for action: download 12:17:59.039 [debug] QUERY OK source="settings" db=0.8ms queue=0.7ms idle=674.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 [] 12:17:59.041 [debug] QUERY OK source="settings" db=1.6ms queue=0.3ms idle=676.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 [] 12:17:59.044 [debug] QUERY OK source="settings" db=1.1ms queue=0.3ms idle=679.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 [] 12:17:59.046 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=e5smGzumYoA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c7/cb/c7cbf71982f836f29ffdf72d4c0615896c2962fcca4319f666e8bda785c22440.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:18:00.666 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:18:20.743 [info] {"source":"oban","duration":2147,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:36.840 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9U2YoayqwzE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/12/20/1220833b95ddf2f944db3ea93bf5d4dc5bf5f900db16cc8e209a36c5a246e37c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:18:36.954 [debug] Running yt-dlp command for action: download_thumbnail 12:18:36.962 [debug] QUERY OK source="settings" db=0.3ms idle=597.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 [] 12:18:36.962 [debug] QUERY OK source="settings" db=0.2ms idle=597.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 [] 12:18:36.962 [debug] QUERY OK source="settings" db=0.2ms idle=598.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 [] 12:18:36.963 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9U2YoayqwzE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3509/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/1c/8c/1c8c0ab3ab97d7d2c02275e7adf2c80ad57ad24570e02c7ce7925fa95a64725f.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:18:42.133 [info] GET / 12:18:42.133 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:18:42.134 [debug] QUERY OK source="settings" db=0.6ms idle=1769.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 [] 12:18:42.135 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1770.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:18:42.135 [debug] QUERY OK source="sources" db=0.3ms idle=1770.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:18:42.172 [debug] QUERY OK source="media_items" db=36.7ms idle=1414.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:18:42.181 [debug] QUERY OK source="media_items" db=8.7ms idle=448.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:18:42.183 [debug] QUERY OK source="settings" db=0.5ms queue=0.3ms idle=47.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 [] 12:18:42.185 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=48.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 [] 12:18:42.187 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=50.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 [] 12:18:42.193 [debug] QUERY OK source="media_items" db=4.2ms queue=0.1ms idle=16.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 (NOT (m0."media_filepath" IS NULL)) [] 12:18:42.197 [debug] QUERY OK source="media_items" db=2.2ms queue=0.4ms idle=12.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:18:42.199 [debug] QUERY OK source="sources" db=0.5ms queue=0.3ms idle=15.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" IN (?,?)) [6, 2] 12:18:42.297 [debug] QUERY OK source="media_items" db=90.1ms queue=0.1ms idle=22.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 (((((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:18:42.351 [debug] QUERY OK source="media_items" db=52.6ms queue=0.1ms idle=111.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:18:42.352 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=158.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] 12:18:42.356 [debug] QUERY OK source="tasks" db=0.7ms idle=158.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:18:42.358 [debug] QUERY OK source="media_items" db=1.1ms idle=157.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3509, 3512] 12:18:42.362 [info] Sent 200 in 228ms 12:18:44.184 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9U2YoayqwzE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3509/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/1c/8c/1c8c0ab3ab97d7d2c02275e7adf2c80ad57ad24570e02c7ce7925fa95a64725f.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:18:44.185 [debug] QUERY OK db=0.0ms idle=821.0ms begin [] 12:18:44.188 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:18:36Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e051999 - 5 Reasons Why Mini Cocktails Are The Best.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e051999 - 5 Reasons Why Mini Cocktails Are The Best.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e051999 - 5 Reasons Why Mini Cocktails Are The Best.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e051999 - 5 Reasons Why Mini Cocktails Are The Best.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e051999 - 5 Reasons Why Mini Cocktails Are The Best.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e051999 - 5 Reasons Why Mini Cocktails Are The Best-thumb.jpg", ~U[2026-03-28 01:18:44Z], 3509] 12:18:44.190 [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/3509/metadata.json.gz", "/config/metadata/media_items/3509/thumbnail.jpg", 3509, ~U[2026-03-28 01:18:44Z], ~U[2026-03-28 01:18:44Z]] 12:18:44.192 [debug] QUERY OK db=1.3ms commit [] 12:18:44.215 [debug] QUERY OK source="media_items" db=6.5ms idle=844.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [96267861, ~U[2026-03-28 01:18:44Z], 3509] 12:18:44.215 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:18:44.217 [info] {"args":{"id":3509},"id":610,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":250166250,"event":"job:stop","queue_time":75963046717,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:18:44.224 [info] {"args":{"id":3515},"id":612,"meta":{},"system_time":1774660724224701347,"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"]} 12:18:44.232 [debug] QUERY OK source="media_items" db=6.7ms idle=493.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" = ?) [3515] 12:18:44.232 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:18:44.239 [debug] QUERY OK source="sources" db=5.6ms queue=0.1ms idle=40.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" = ?) [4] 12:18:44.240 [debug] QUERY OK source="media_profiles" db=0.3ms idle=24.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] 12:18:44.241 [debug] QUERY OK source="media_items" db=0.4ms idle=23.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 [3515] 12:18:44.242 [debug] QUERY OK source="media_metadata" db=0.3ms idle=17.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" = ?) [3515] 12:18:44.243 [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] 12:18:44.244 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:18:44.244 [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 [] 12:18:44.245 [debug] Running yt-dlp command for action: get_downloadable_status 12:18:44.247 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms 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 [] 12:18:44.248 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:18:44.248 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:18:44.248 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8Apm6ExGj5M --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/70/cc/70cc4e1841896985ac8e8c6b959e11b10bacc07c91a596a44091b343ef453633.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:18:50.747 [info] {"source":"oban","duration":3102,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:51.131 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8Apm6ExGj5M --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/70/cc/70cc4e1841896985ac8e8c6b959e11b10bacc07c91a596a44091b343ef453633.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:18:51.132 [debug] Running yt-dlp command for action: download 12:18:51.133 [debug] QUERY OK source="settings" db=0.4ms idle=1768.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 [] 12:18:51.133 [debug] QUERY OK source="settings" db=0.3ms idle=1768.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 [] 12:18:51.134 [debug] QUERY OK source="settings" db=0.3ms idle=1378.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 [] 12:18:51.135 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8Apm6ExGj5M --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/77/98/779838b508de6e3519f106d3c0ea8449850816db3ba65ca2e6a48bcceda82498.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:19:00.668 [info] {"source":"oban","duration":548,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:19:20.751 [info] {"source":"oban","duration":3451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:42.604 [info] GET / 12:19:42.605 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:19:42.606 [debug] QUERY OK source="settings" db=0.4ms queue=0.3ms idle=654.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 [] 12:19:42.607 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=242.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:19:42.608 [debug] QUERY OK source="sources" db=0.2ms queue=0.2ms idle=243.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:19:42.648 [debug] QUERY OK source="media_items" db=40.4ms idle=243.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:19:42.654 [debug] QUERY OK source="media_items" db=4.3ms queue=0.2ms idle=284.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:19:42.655 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=48.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 [] 12:19:42.656 [debug] QUERY OK source="settings" db=0.3ms idle=48.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 [] 12:19:42.657 [debug] QUERY OK source="settings" db=0.2ms idle=49.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 [] 12:19:42.664 [debug] QUERY OK source="media_items" db=4.3ms queue=0.1ms idle=10.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 (NOT (m0."media_filepath" IS NULL)) [] 12:19:42.665 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=10.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:19:42.666 [debug] QUERY OK source="sources" db=0.3ms idle=10.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" IN (?,?)) [6, 2] 12:19:42.724 [debug] QUERY OK source="media_items" db=52.6ms idle=15.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 (((((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:19:42.773 [debug] QUERY OK source="media_items" db=48.1ms queue=0.1ms idle=67.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:19:42.774 [debug] QUERY OK source="sources" db=0.3ms idle=110.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] 12:19:42.777 [debug] QUERY OK source="tasks" db=0.6ms idle=111.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:19:42.778 [debug] QUERY OK source="media_items" db=0.4ms idle=111.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3512, 3515] 12:19:42.779 [info] Sent 200 in 174ms 12:19:45.006 [info] GET /sources/6/media/53039 12:19:45.006 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "53039", "source_id" => "6"} Pipelines: [:browser] 12:19:45.007 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=642.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" = ?) [53039] 12:19:45.009 [debug] QUERY OK source="settings" db=0.2ms idle=645.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 [] 12:19:45.010 [debug] QUERY OK source="settings" db=0.2ms idle=645.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 [] 12:19:45.011 [debug] QUERY OK source="settings" db=0.1ms idle=646.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 [] 12:19:45.012 [info] Sent 404 in 6ms 12:19:45.013 [debug] Converted error Ecto.NoResultsError to 404 response 12:19:50.757 [info] {"source":"oban","duration":3723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:51.010 [info] {"args":{"id":3},"id":1656,"meta":{},"system_time":1774660791010356200,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:19:51.020 [debug] QUERY OK source="sources" db=9.2ms idle=646.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" = ?) [3] 12:19:51.034 [debug] QUERY OK source="settings" db=12.9ms queue=0.2ms idle=657.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 [] 12:19:51.040 [debug] QUERY OK source="media_profiles" db=4.7ms queue=0.1ms idle=278.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] 12:19:51.042 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=58.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 [] 12:19:51.042 [debug] Fetching recent media IDs from YouTube API for playlist: UUwnKziETDbHJtx78nIkfYug 12:19:51.044 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=33.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 [] 12:19:51.045 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:19:51.790 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=767.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "QtpFa0LdXEY", "8Rv4wwcQ89Y", "2cRKv1oqyX8", "mQfQwLW6CNw", "y0TZuhNixNk", "GZ7wE3XOwFU", "-aRdX-kZ9g4", "99bldMr1byI", "EzCiEv1IqiA", "mC5NdpSMDks", "ccV3u3D9ONE", "cVCDjEfPzII", "n0X2rqzKTgM", "dcuCvRNqmpY", "GG1qX8jHKGo", "k9wkleHFvo0", "CWoYVlMuUNQ", "xlfeieH4z38", "eZM2Ik-FHEU", "CtcTG8-qzbA", "6Mmj7mf1qlg", "InwVO9qBjqs", "1Hp-W2bpPrw", "VtE5sTpkn7k", "8dOJypt2F70", "Evm4t4prtWo", "taLzgvbrnv0", "rgCrnyf5JEI", "PHhc-48JT3U", "vFKjpNNjNGw", "VJQlOI70ubw", "E5cfNq0DO90", "DNBGSsZatbY", "pna1NyaHTls", "CUHao-vA98g", "cPN9BJe_RQw", "rCBt4XgCX-0", "f4g6KKGMmEI", "P_I5Jsc3xRw", "fPaU2l7RktM", "0PVwt01b6fs", "0qMDM4Y4Hwo", "Ld285PDsHvs", "p1mQC71wplA", "9k5JhKK6WlA", "WPxrifmtlQI", "nVNBmK7a1y8", "QDnMYztaxfI", "gxsaWhXG1Gg", ...] 12:19:51.798 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=759.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 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] 12:19:51.802 [debug] QUERY OK source="tasks" db=0.4ms idle=757.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1662, 3, ~U[2026-03-28 01:19:51Z], ~U[2026-03-28 01:19:51Z]] 12:19:51.803 [info] {"args":{"id":3},"id":1656,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":792215,"event":"job:stop","queue_time":435635,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:20:00.670 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:20:20.759 [info] {"source":"oban","duration":1634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:26.513 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=e5smGzumYoA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c7/cb/c7cbf71982f836f29ffdf72d4c0615896c2962fcca4319f666e8bda785c22440.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:20:26.573 [debug] Running yt-dlp command for action: download_thumbnail 12:20:26.576 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1211.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 [] 12:20:26.577 [debug] QUERY OK source="settings" db=0.1ms idle=463.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 [] 12:20:26.577 [debug] QUERY OK source="settings" db=0.1ms idle=212.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 [] 12:20:26.578 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=e5smGzumYoA --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3512/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/20/87/208769b907c17792efcf0ff71e757ee59e672977c49e9cb7d15884c941ebb354.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:20:32.137 [info] {"args":{"id":2},"id":1657,"meta":{},"system_time":1774660832137492638,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:20:32.138 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1773.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] 12:20:32.139 [debug] QUERY OK source="settings" db=0.4ms idle=1774.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 [] 12:20:32.141 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=1012.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] 12:20:32.142 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms 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 [] 12:20:32.142 [debug] Fetching recent media IDs from YouTube API for playlist: UUjzi56cxvmEDwjo1Bd2Yxpg 12:20:32.143 [debug] QUERY OK source="settings" db=0.4ms 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 [] 12:20:32.144 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:20:33.292 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=e5smGzumYoA --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3512/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/20/87/208769b907c17792efcf0ff71e757ee59e672977c49e9cb7d15884c941ebb354.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:20:33.293 [debug] QUERY OK db=0.0ms idle=1153.4ms begin [] 12:20:33.296 [debug] QUERY OK source="media_items" db=2.7ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:20:26Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e051299 - Home Cocktail Tap Setup Under $100!.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e051299 - Home Cocktail Tap Setup Under $100!.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e051299 - Home Cocktail Tap Setup Under $100!.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e051299 - Home Cocktail Tap Setup Under $100!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e051299 - Home Cocktail Tap Setup Under $100!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e051299 - Home Cocktail Tap Setup Under $100!-thumb.jpg", ~U[2026-03-28 01:20:33Z], 3512] 12:20:33.297 [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/3512/metadata.json.gz", "/config/metadata/media_items/3512/thumbnail.jpg", 3512, ~U[2026-03-28 01:20:33Z], ~U[2026-03-28 01:20:33Z]] 12:20:33.298 [debug] QUERY OK db=0.5ms commit [] 12:20:33.316 [debug] QUERY OK source="media_items" db=2.4ms idle=1172.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [75734392, ~U[2026-03-28 01:20:33Z], 3512] 12:20:33.316 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:20:33.317 [info] {"args":{"id":3512},"id":611,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":160830610,"event":"job:stop","queue_time":76157471024,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:20:33.324 [info] {"args":{"id":3517},"id":613,"meta":{},"system_time":1774660833324070501,"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"]} 12:20:33.324 [debug] QUERY OK source="media_items" db=0.3ms idle=191.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" = ?) [3517] 12:20:33.325 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:20:33.325 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [4] 12:20:33.326 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 12:20:33.327 [debug] QUERY OK source="media_items" db=1.0ms idle=9.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 [3517] 12:20:33.330 [debug] QUERY OK source="media_metadata" db=0.3ms idle=5.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" = ?) [3517] 12:20:33.330 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 12:20:33.331 [debug] QUERY OK source="settings" db=0.1ms idle=5.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 [] 12:20:33.331 [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 [] 12:20:33.331 [debug] Running yt-dlp command for action: get_downloadable_status 12:20:33.332 [debug] QUERY OK source="settings" db=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 [] 12:20:33.333 [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 [] 12:20:33.333 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:20:33.333 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=K-yJZYXbiAM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c4/f6/c4f682d700166c19755aa21ef20394ffdf14dc6923e1152c827a3c1f62052749.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:20:34.207 [debug] QUERY OK source="media_items" db=4.2ms idle=871.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "Hw2_s31u_4Q", "b4x9IzQtiA0", "16aM5Bop7Qw", "3hBk9xqT9hs", "xDa45wnAzc8", "Yq41acIvzj8", "Ttn_Q1B2ALc", "-bV0F6OP31U", "qAstyiKRt10", "NF2StvrYme0", "_Q-2UzYr3AA", "FeEEy3jZvlM", "EHaNwda0xto", "KL0u63mAy5M", "fzklfnO42ts", "oZ4kddHCFVY", "spSOp5s_6_A", "C48yl9fSYv8", "654RgtNwXZ8", "4wu_B_XF6wk", "wFLJxWyDJPs", "J5NKnYfn6qw", "fcVRuF6c-bc", "xNAFpSnpqjs", "cavmWZnCeJI", "_J0gQ5GdUSk", "_oISg668F40", "v34wa9QhF0s", "iEen_cClzkg", "CD9wUM2v-0U", "E8k9oqjl5_E", "lQDUMfg_SJc", "pPMD0YPBHQ4", "qq1IN4umTI8", "L63goFhe8KM", "5OXvwQ3CB1I", "doZvHBPoVCw", "9SXMTDO4lIo", "8JmSUN8jp3Q", "7oSgaaUEjZM", "sKSPwnFSRCw", "gdY_Q9ltw8w", "uHbviTslBFY", "gMzXgYFT4Ck", "NdsMuD-_5To", "9JXltNRqLu4", "7ThBvLBMacw", "7BTWa3jFBMw", "U2LsOO1upXY", ...] 12:20:34.286 [debug] QUERY OK source="media_items" db=76.4ms idle=876.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 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] 12:20:34.294 [debug] QUERY OK source="tasks" db=0.5ms idle=85.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1663, 2, ~U[2026-03-28 01:20:34Z], ~U[2026-03-28 01:20:34Z]] 12:20:34.313 [info] {"args":{"id":2},"id":1657,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":2157099,"event":"job:stop","queue_time":127914,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:20:41.204 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=K-yJZYXbiAM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c4/f6/c4f682d700166c19755aa21ef20394ffdf14dc6923e1152c827a3c1f62052749.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:20:41.204 [debug] Running yt-dlp command for action: download 12:20:41.205 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1840.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 [] 12:20:41.206 [debug] QUERY OK source="settings" db=0.4ms idle=1841.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 [] 12:20:41.207 [debug] QUERY OK source="settings" db=0.4ms idle=1841.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 [] 12:20:41.208 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=K-yJZYXbiAM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/68/0f/680f2a0aaa7f4a3139c3f5c822e63ba6b60ebb8c885548712f79d32fb0dc253a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:20:43.001 [info] GET / 12:20:43.001 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:20:43.003 [debug] QUERY OK source="settings" db=0.9ms idle=1637.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 [] 12:20:43.003 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=843.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:20:43.004 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=640.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:20:43.046 [debug] QUERY OK source="media_items" db=41.6ms idle=640.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:20:43.052 [debug] QUERY OK source="media_items" db=5.1ms idle=682.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:20:43.055 [debug] QUERY OK source="settings" db=0.8ms queue=0.4ms idle=50.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 [] 12:20:43.056 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=51.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 [] 12:20:43.058 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=53.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 [] 12:20:43.064 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=14.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 (NOT (m0."media_filepath" IS NULL)) [] 12:20:43.065 [debug] QUERY OK source="media_items" db=0.7ms idle=12.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:20:43.067 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=11.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" IN (?,?)) [6, 2] 12:20:43.131 [debug] QUERY OK source="media_items" db=56.3ms queue=0.2ms idle=18.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 (((((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:20:43.185 [debug] QUERY OK source="media_items" db=53.2ms idle=73.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:20:43.186 [debug] QUERY OK source="sources" db=0.3ms idle=120.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] 12:20:43.189 [debug] QUERY OK source="tasks" db=0.4ms idle=121.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:20:43.190 [debug] QUERY OK source="media_items" db=0.6ms idle=58.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3515, 3517] 12:20:43.194 [info] Sent 200 in 192ms 12:20:50.763 [info] {"source":"oban","duration":2041,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:57.226 [info] {"args":{"id":4},"id":1658,"meta":{},"system_time":1774660857226474143,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:20:57.237 [debug] QUERY OK source="sources" db=9.7ms queue=0.1ms idle=863.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" = ?) [4] 12:20:57.251 [debug] QUERY OK source="settings" db=13.2ms queue=0.1ms idle=873.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 [] 12:20:57.254 [debug] QUERY OK source="media_profiles" db=2.0ms queue=0.2ms idle=887.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] 12:20:57.255 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=47.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 [] 12:20:57.256 [debug] Fetching recent media IDs from YouTube API for playlist: UUEiui9T4ZYx8K8nuZ5YFSTw 12:20:57.258 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=30.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 [] 12:20:57.258 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:20:57.734 [debug] QUERY OK source="media_items" db=4.7ms queue=0.1ms idle=491.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [4, "gthI7e6zPWo", "psRX1C7auj8", "2ZtSRjGhStw", "Z8KiNkDP9c4", "AZibPvCnG4k", "QXNPI7Ucivo", "WtxCD4567G4", "80bkfWoOHaE", "pYBAEGrhggM", "9M3wLySdGXY", "mcvbD_Ipbf8", "E_Y7kLO3Iaw", "gPdh5lVJYD0", "qrkTK1UcvSM", "45UcuOLjxeY", "gnbhO9hJ198", "fiFzXo1wNno", "TM5mKkwC0Ok", "kS2A72peqmg", "ueDcEpRFW_M", "AN4-pHYBK2M", "TMNa6ocIv8o", "S1Vt1tQJczE", "_BEmUjtwhLw", "1bxoWiQ2AQY", "CZeRfNeKEBE", "2nftRe3tjLQ", "v1biAguVbg8", "cLDsQImoeHQ", "hhH7mchDBXY", "uQj2W5ej104", "vYRV_nprXBA", "1v_qsQL3mo8", "hfHxFTbVaTo", "mfWqziOaR4A", "AmCWMmKgHkI", "ZWgq-s8r2FE", "1dAkTDsD1c4", "ozdDp_eMPZY", "iHogtXxywLQ", "7ysd04ltGag", "5jq8kH9s0V8", "AB6bC9gtfoc", "R7Tm3zvyy9U", "dUHzocz0hLo", "9Oh6oVrf7kM", "LzUhByZ4jtc", "j7evpR_Fbsw", "_iGhJt3ah8E", ...] 12:20:57.749 [debug] QUERY OK source="media_items" db=10.6ms idle=487.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 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] 12:20:58.098 [debug] QUERY OK source="tasks" db=0.5ms idle=6.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1664, 4, ~U[2026-03-28 01:20:58Z], ~U[2026-03-28 01:20:58Z]] 12:20:58.099 [info] {"args":{"id":4},"id":1658,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":872121,"event":"job:stop","queue_time":400008,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:21:00.671 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:21:20.766 [info] {"source":"oban","duration":2533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:25.925 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8Apm6ExGj5M --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/77/98/779838b508de6e3519f106d3c0ea8449850816db3ba65ca2e6a48bcceda82498.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:21:26.004 [debug] Running yt-dlp command for action: download_thumbnail 12:21:26.006 [debug] QUERY OK source="settings" db=0.6ms idle=1640.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 [] 12:21:26.007 [debug] QUERY OK source="settings" db=0.5ms idle=1641.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 [] 12:21:26.009 [debug] QUERY OK source="settings" db=1.4ms idle=705.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 [] 12:21:26.010 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8Apm6ExGj5M --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3515/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/1c/aa/1caac323942d8e3adb46c7442265eafd8e30a8de16189d380d97d875159e0252.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:21:33.445 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8Apm6ExGj5M --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3515/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/1c/aa/1caac323942d8e3adb46c7442265eafd8e30a8de16189d380d97d875159e0252.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:21:33.446 [debug] QUERY OK db=0.0ms queue=0.1ms idle=115.4ms begin [] 12:21:33.448 [debug] QUERY OK source="media_items" db=1.7ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:21:25Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e050599 - Negroni - Evolution of the #1 Cocktail in the World!.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e050599 - Negroni - Evolution of the #1 Cocktail in the World!.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e050599 - Negroni - Evolution of the #1 Cocktail in the World!.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e050599 - Negroni - Evolution of the #1 Cocktail in the World!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e050599 - Negroni - Evolution of the #1 Cocktail in the World!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e050599 - Negroni - Evolution of the #1 Cocktail in the World!-thumb.jpg", ~U[2026-03-28 01:21:33Z], 3515] 12:21:33.454 [debug] QUERY OK source="media_metadata" db=5.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/3515/metadata.json.gz", "/config/metadata/media_items/3515/thumbnail.jpg", 3515, ~U[2026-03-28 01:21:33Z], ~U[2026-03-28 01:21:33Z]] 12:21:33.455 [debug] QUERY OK db=0.9ms commit [] 12:21:33.469 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=101.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [71768442, ~U[2026-03-28 01:21:33Z], 3515] 12:21:33.470 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:21:33.471 [info] {"args":{"id":3515},"id":612,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":169245462,"event":"job:stop","queue_time":76203223124,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:21:33.478 [info] {"args":{"id":3521},"id":614,"meta":{},"system_time":1774660893478415920,"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"]} 12:21:33.479 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=113.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" = ?) [3521] 12:21:33.479 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:21:33.480 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=24.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" = ?) [4] 12:21:33.481 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=11.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] 12:21:33.482 [debug] QUERY OK source="media_items" db=0.3ms idle=10.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 [3521] 12:21:33.483 [debug] QUERY OK source="media_metadata" db=0.1ms idle=5.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" = ?) [3521] 12:21:33.484 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=4.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] 12:21:33.485 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:21:33.486 [debug] QUERY OK source="settings" db=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 [] 12:21:33.487 [debug] Running yt-dlp command for action: get_downloadable_status 12:21:33.488 [debug] QUERY OK source="settings" db=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 [] 12:21:33.488 [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 [] 12:21:33.489 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:21:33.490 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZPB0Dx4Hbso --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/df/d2/dfd241d18fc6182514b9983b8dc7f3e81afebec194e5b8aae64e7b8023fb8a0c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:21:41.820 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZPB0Dx4Hbso --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/df/d2/dfd241d18fc6182514b9983b8dc7f3e81afebec194e5b8aae64e7b8023fb8a0c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:21:41.821 [debug] Running yt-dlp command for action: download 12:21:41.822 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms 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 [] 12:21:41.823 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=457.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 [] 12:21:41.824 [debug] QUERY OK source="settings" db=0.2ms idle=458.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 [] 12:21:41.825 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZPB0Dx4Hbso --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fc/1f/fc1ffdad7a7cd20024ca5c112ffb657b84e55eeebf346262e8eb9f8ffa5f366b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:21:43.577 [info] GET / 12:21:43.577 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:21:43.578 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=212.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 [] 12:21:43.579 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=214.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:21:43.580 [debug] QUERY OK source="sources" db=0.4ms idle=215.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:21:43.638 [debug] QUERY OK source="media_items" db=57.7ms queue=0.1ms idle=215.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:21:43.644 [debug] QUERY OK source="media_items" db=4.3ms queue=0.3ms idle=273.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:21:43.646 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=66.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 [] 12:21:43.647 [debug] QUERY OK source="settings" db=0.6ms idle=66.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 [] 12:21:43.648 [debug] QUERY OK source="settings" db=0.3ms idle=67.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 [] 12:21:43.655 [debug] QUERY OK source="media_items" db=4.4ms idle=12.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 (NOT (m0."media_filepath" IS NULL)) [] 12:21:43.656 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=11.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:21:43.658 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=11.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" IN (?,?)) [6, 2] 12:21:43.728 [debug] QUERY OK source="media_items" db=64.0ms idle=17.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 (((((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:21:43.782 [debug] QUERY OK source="media_items" db=52.8ms queue=0.2ms idle=80.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:21:43.783 [debug] QUERY OK source="sources" db=0.3ms idle=128.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] 12:21:43.789 [debug] QUERY OK source="tasks" db=0.5ms idle=131.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:21:43.790 [debug] QUERY OK source="media_items" db=0.6ms idle=131.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3517, 3521] 12:21:43.793 [info] Sent 200 in 216ms 12:21:50.772 [info] {"source":"oban","duration":3959,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:54.409 [info] {"args":{"id":5},"id":1659,"meta":{},"system_time":1774660914409335780,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:21:54.417 [debug] QUERY OK source="sources" db=7.8ms idle=1044.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" = ?) [5] 12:21:54.423 [debug] QUERY OK source="settings" db=5.8ms idle=1017.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 [] 12:21:54.424 [debug] QUERY OK source="media_profiles" db=0.7ms idle=58.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] 12:21:54.429 [debug] QUERY OK source="settings" db=4.1ms idle=22.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 [] 12:21:54.429 [debug] Fetching recent media IDs from YouTube API for playlist: UUVwfqPkv08OTuHzkPU3EaDw 12:21:54.430 [debug] QUERY OK source="settings" db=0.2ms idle=20.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 [] 12:21:54.430 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:21:54.930 [debug] QUERY OK source="media_items" db=2.5ms idle=510.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [5, "k8Yr1jU-0EE", "NFrnhg8hI0c", "20XMhcpSNV0", "YVGFnwJho6E", "xQXiSGDXknA", "uZl0TO8i96g", "Hs5ewNKWUwk", "E5suxhHY0aY", "sCou7ut2L-o", "a0INtLdzUiE", "n0x8sH0M9CE", "W4Af6DIMqnE", "Q-sUbLem5aI", "s-jMj11w68U", "DS9HZG5JRBc", "_wLy-vzLi3E", "iFpZfYwRcns", "nPovqKKSKcE", "j_w4tRYm7Og", "laZpTO7IFtA", "FM5e9Vb1noE", "cK6g53lLgnw", "1X5WYEhzGyI", "QVpu66njzdE", "tfnANe2YUwM", "0-QK6hxLxgM", "TYUeXqSlcDg", "0322Pk-GKto", "1Em1UrRSEXc", "x2RT9Awsyi8", "4Yth52yml8E", "ky9Zo2FmjQ8", "npU2QpX5piA", "XEb_1Sq8jNo", "L3QQDAKxUIk", "l3s8S6bBbOs", "WyWBU1NpDf8", "7wZ0NVuoDWg", "-Ig2-rBZtSI", "5BG06-J1t4Y", "GcQ6vQEeQew", "ap8S88LeiB0", "4LvXP3XR6gw", "I9o65_aIq0Q", "Ut9XjFkGK6s", "PcFkjR5NELA", "Yl67318oP-s", "umbar5BKBus", "FEfCtNhVjJ0", ...] 12:21:54.934 [debug] QUERY OK source="media_items" db=2.3ms idle=508.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 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")))) [5] 12:21:55.155 [debug] QUERY OK source="tasks" db=0.6ms idle=11.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1665, 5, ~U[2026-03-28 01:21:55Z], ~U[2026-03-28 01:21:55Z]] 12:21:55.156 [info] {"args":{"id":5},"id":1659,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":746744,"event":"job:stop","queue_time":514367,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:22:00.674 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:22:20.775 [info] {"source":"oban","duration":2314,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:44.199 [info] GET / 12:22:44.199 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:22:44.201 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=1834.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 [] 12:22:44.203 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.2ms idle=1836.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:22:44.205 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1838.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:22:44.270 [debug] QUERY OK source="media_items" db=64.4ms queue=0.1ms idle=1621.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:22:44.276 [debug] QUERY OK source="media_items" db=4.9ms queue=0.1ms idle=683.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:22:44.278 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=76.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 [] 12:22:44.279 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=75.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 [] 12:22:44.281 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=75.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 [] 12:22:44.288 [debug] QUERY OK source="media_items" db=5.3ms queue=0.1ms idle=13.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 (NOT (m0."media_filepath" IS NULL)) [] 12:22:44.291 [debug] QUERY OK source="media_items" db=1.2ms queue=0.2ms idle=13.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:22:44.293 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=14.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" IN (?,?)) [6, 2] 12:22:44.353 [debug] QUERY OK source="media_items" db=53.3ms idle=20.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 (((((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:22:44.410 [debug] QUERY OK source="media_items" db=56.6ms queue=0.2ms idle=72.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:22:44.412 [debug] QUERY OK source="sources" db=0.4ms idle=123.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] 12:22:44.417 [debug] QUERY OK source="tasks" db=0.4ms idle=125.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:22:44.418 [debug] QUERY OK source="media_items" db=0.4ms idle=125.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3517, 3521] 12:22:44.421 [info] Sent 200 in 222ms 12:22:47.610 [info] {"args":{"id":1},"id":1660,"meta":{},"system_time":1774660967609897109,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:22:47.610 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1244.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] 12:22:47.621 [debug] QUERY OK source="settings" db=10.1ms idle=1245.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 [] 12:22:47.631 [debug] QUERY OK source="media_profiles" db=8.7ms queue=0.1ms idle=1022.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] 12:22:47.639 [debug] QUERY OK source="settings" db=6.6ms queue=0.1ms idle=29.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 [] 12:22:47.639 [debug] Fetching recent media IDs from YouTube API for playlist: UUISrVZmDM4x-Rq9mmNUw7Zw 12:22:47.641 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=30.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 [] 12:22:47.641 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:22:48.172 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=557.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "Q0qmHym16H4", "WcWL0_PlcO8", "dQV1WkSly7k", "Xpohopi2_tA", "fsZdCn4jIUY", "hgk2jMPnG2w", "oDh4gg7xiUs", "3LfUmSMW_qc", "5gN9QvwPLq8", "uSBe19ms3aw", "Eq1BmJikpHA", "OsKelxcQUNo", "zNP6Q_Yk9hU", "ZPPCc15thCc", "UzARiS2CyJ4", "r8X8HVGVV1o", "_JI7oYBFZIo", "niCh-EI1Kfo", "92mSBlpBEJo", "_6OAB_8iwqs", "tJbcC43WELc", "cPz1rUCNI0o", "hFzt_dOdElw", "nC-QKeluT0c", "i8ARsrsVUMM", "X30l-491qck", "rzQeUM-lMUY", "BkUHm95UvCw", "MQ2cHq3-J7A", "CtF5dLHITYA", "SGJkxRdkRGg", "OUCt85aJaAA", "9gARPYZOka4", "-uH-Gi5tjEw", "qwUBBQKYX94", "s8VLDSQJ8nA", "EvPfr0lKkh4", "msXzAxF49gA", "hQCWaSvjkU0", "RcmjVsy3a-g", "xtuNc9vYJG4", "fj2tcg8OzsM", "2FZ4IfPACDM", "2Q9DzW20YJ8", "IVsWFGOE_mw", "vPxpMcv2Z4Y", "Zverj_ldlhY", "pQK8xasPd9Q", "_Yo7nh8u9pk", ...] 12:22:48.177 [debug] QUERY OK source="media_items" db=4.0ms idle=552.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 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] 12:22:48.213 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=11.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1666, 1, ~U[2026-03-28 01:22:48Z], ~U[2026-03-28 01:22:48Z]] 12:22:48.214 [info] {"args":{"id":1},"id":1660,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":603374,"event":"job:stop","queue_time":613187,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:22:50.779 [info] {"source":"oban","duration":2672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:00.675 [info] {"source":"oban","duration":307,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:23:20.783 [info] {"source":"oban","duration":3380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:39.837 [info] {"args":{"id":6},"id":1661,"meta":{},"system_time":1774661019837670904,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:23:39.838 [debug] QUERY OK source="sources" db=0.4ms idle=1471.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" = ?) [6] 12:23:39.839 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=1013.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 [] 12:23:39.840 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.2ms idle=473.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] 12:23:39.841 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:23:39.841 [debug] Fetching recent media IDs from YouTube API for playlist: UUOzMAa6IhV6uwYQATYG_2kg 12:23:39.842 [debug] QUERY OK source="settings" db=0.2ms queue=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 [] 12:23:39.842 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:23:41.295 [debug] QUERY OK source="media_items" db=4.0ms queue=0.1ms idle=1451.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6, "dnia-38h1GA", "iZaN9NRWc28", "CJrLdBStrzc", "u-eoT-Foth8", "XHineC0YKjs", "VdlejwGkNoI", "ikIigkz2pMg", "qUdPPQ9-9Tg", "k9fuSOPjSXM", "hb-oXWK9r7k", "hDfrtCQmNOo", "zRIUM4OhyWU", "W7c0iVM4P2I", "KCFDp_kxT_4", "aZhuGRngq-g", "BgWbezF2M28", "ZJfHw71KKsk", "MisOg5bX0a4", "2UampQ_86ek", "7-iImzOel-s", "O8E47Ib_RoU", "RcVBMZd2_u8", "b-DHev8Uc6I", "0apH8xkS6PE", "I8m3hyPVsxA", "urqkKHRaT-8", "shyrhINSaPk", "Ze3bKcLbPWg", "ydk9KfgHUPo", "sFlgR1oiUXk", "jCieQsNXdBM", "Nz4uVkNMKdI", "tyX3PvjLSC8", "VeDDo4HhNVo", "2RmXPeBn3x0", "1sA4iEo0x1o", "KqAYebG_Bs0", "FelCut8wQ3o", "wY5Xb_t79SM", "-YqD-IWgaz8", "BdV0pSziReE", "u5VKDy7Dgj8", "hn89XxHJLQ0", "wE60s-NuU6c", "LBwtYK3W-vw", "FGpCwqNklsw", "79hW_qeneEY", "aNpJxLXZATY", "9JhGit6JRw0", ...] 12:23:41.298 [debug] QUERY OK source="settings" db=0.6ms idle=1456.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 [] 12:23:41.298 [debug] QUERY OK source="settings" db=0.4ms idle=1456.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 [] 12:23:41.298 [debug] Running yt-dlp command for action: get_media_attributes 12:23:41.301 [debug] QUERY OK source="settings" db=0.2ms idle=1458.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 [] 12:23:41.301 [debug] QUERY OK source="settings" db=0.2ms idle=467.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 [] 12:23:41.302 [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 [] 12:23:41.303 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/6a/4b/6a4b261f3178de03c9dda1730dac0723bf7deb3320a7b537bd76cba325ff9c58.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:23:44.282 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/6a/4b/6a4b261f3178de03c9dda1730dac0723bf7deb3320a7b537bd76cba325ff9c58.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days. 12:23:44.283 [error] Error creating media item 'u-eoT-Foth8' from URL: {:error, "ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days.\n", 1} 12:23:44.301 [debug] QUERY OK source="media_items" db=16.9ms queue=0.2ms idle=1917.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 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] 12:23:44.491 [debug] QUERY OK source="tasks" db=1.0ms idle=8.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1667, 6, ~U[2026-03-28 01:23:44Z], ~U[2026-03-28 01:23:44Z]] 12:23:44.492 [info] {"args":{"id":6},"id":1661,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":4653554,"event":"job:stop","queue_time":413819,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:23:44.685 [info] GET / 12:23:44.685 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:23:44.686 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=197.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 [] 12:23:44.690 [debug] QUERY OK source="media_profiles" db=3.0ms idle=197.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:23:44.691 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=199.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:23:44.735 [debug] QUERY OK source="media_items" db=43.4ms idle=199.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:23:44.743 [debug] QUERY OK source="media_items" db=7.0ms queue=0.2ms idle=237.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:23:44.744 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=57.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 [] 12:23:44.745 [debug] QUERY OK source="settings" db=0.8ms idle=54.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 [] 12:23:44.748 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=56.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 [] 12:23:44.754 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=15.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 (NOT (m0."media_filepath" IS NULL)) [] 12:23:44.758 [debug] QUERY OK source="media_items" db=1.8ms queue=0.3ms idle=12.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:23:44.760 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=14.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" IN (?,?)) [6, 2] 12:23:44.823 [debug] QUERY OK source="media_items" db=56.5ms idle=20.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 (((((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:23:44.891 [debug] QUERY OK source="media_items" db=67.5ms idle=75.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:23:44.892 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=134.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] 12:23:44.898 [debug] QUERY OK source="tasks" db=0.4ms idle=137.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:23:44.899 [debug] QUERY OK source="media_items" db=0.4ms idle=75.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3517, 3521] 12:23:44.902 [info] Sent 200 in 216ms 12:23:45.331 [info] GET /sources/7/media/8441/force_download 12:23:45.332 [debug] QUERY OK source="settings" db=0.5ms idle=478.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 [] 12:23:45.332 [debug] QUERY OK source="settings" db=0.2ms idle=441.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 [] 12:23:45.333 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:23:45.334 [error] #PID<0.2898.0> running PinchflatWeb.Endpoint (connection #PID<0.2896.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /sources/7/media/8441/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/7/media/8441/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2896.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/8441/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 51274}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "47.128.19.2", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2898.0>, params: %{}, path_info: ["sources", "7", "media", "8441", "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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"host", "pinchflat.suranyami.com"}, {"priority", "u=0, i"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "47.128.19.2"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/7/media/8441/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDczMuYV1XPFgIAADqB"} ], 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.2896.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/8441/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 51274}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "47.128.19.2", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/8441/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2896.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/8441/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 51274}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spi (truncated) 12:23:50.787 [info] {"source":"oban","duration":3429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:00.677 [info] {"source":"oban","duration":865,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:24:12.655 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=K-yJZYXbiAM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/68/0f/680f2a0aaa7f4a3139c3f5c822e63ba6b60ebb8c885548712f79d32fb0dc253a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:24:12.783 [debug] Running yt-dlp command for action: download_thumbnail 12:24:12.785 [debug] QUERY OK source="settings" db=0.3ms idle=816.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 [] 12:24:12.785 [debug] QUERY OK source="settings" db=0.2ms idle=419.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 [] 12:24:12.786 [debug] QUERY OK source="settings" db=0.2ms idle=419.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 [] 12:24:12.786 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=K-yJZYXbiAM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3517/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/92/c1/92c11d8335893daf5cd4c5cb0894a96d73f7d09db7df785ac0d768f2276f8312.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:24:20.791 [info] {"source":"oban","duration":3462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:21.165 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=K-yJZYXbiAM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3517/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/92/c1/92c11d8335893daf5cd4c5cb0894a96d73f7d09db7df785ac0d768f2276f8312.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:24:21.166 [debug] QUERY OK db=0.1ms queue=0.1ms idle=799.6ms begin [] 12:24:21.170 [debug] QUERY OK source="media_items" db=3.6ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:24:12Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e042899 - Infusion with Ice? The best new technique!?.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e042899 - Infusion with Ice? The best new technique!?.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e042899 - Infusion with Ice? The best new technique!?.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e042899 - Infusion with Ice? The best new technique!?.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e042899 - Infusion with Ice? The best new technique!?.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e042899 - Infusion with Ice? The best new technique!?-thumb.jpg", ~U[2026-03-28 01:24:21Z], 3517] 12:24:21.172 [debug] QUERY OK source="media_metadata" db=1.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/3517/metadata.json.gz", "/config/metadata/media_items/3517/thumbnail.jpg", 3517, ~U[2026-03-28 01:24:21Z], ~U[2026-03-28 01:24:21Z]] 12:24:21.175 [debug] QUERY OK db=2.0ms commit [] 12:24:21.181 [debug] QUERY OK source="media_items" db=3.1ms idle=811.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [113014260, ~U[2026-03-28 01:24:21Z], 3517] 12:24:21.182 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:24:21.183 [info] {"args":{"id":3517},"id":613,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":227858229,"event":"job:stop","queue_time":76306323052,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:24:21.198 [info] {"args":{"id":3523},"id":615,"meta":{},"system_time":1774661061198085552,"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"]} 12:24:21.203 [debug] QUERY OK source="media_items" db=4.1ms queue=0.2ms idle=197.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" = ?) [3523] 12:24:21.203 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:24:21.210 [debug] QUERY OK source="sources" db=5.7ms queue=0.2ms idle=28.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" = ?) [4] 12:24:21.211 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=28.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] 12:24:21.212 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=28.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 [3523] 12:24:21.214 [debug] QUERY OK source="media_metadata" db=0.2ms queue=0.1ms idle=16.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" = ?) [3523] 12:24:21.216 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.2ms idle=12.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] 12:24:21.217 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:24:21.218 [debug] QUERY OK source="settings" db=0.3ms idle=6.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 [] 12:24:21.219 [debug] Running yt-dlp command for action: get_downloadable_status 12:24:21.221 [debug] QUERY OK source="settings" db=0.5ms 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 [] 12:24:21.221 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=6.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 [] 12:24:21.222 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:24:21.223 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=6nUMZs9sfh4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e9/5e/e95e8ed195a179988bbba689dd040490deb2e4fe5d83abe43242fcf8a2b6f052.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:24:27.238 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=6nUMZs9sfh4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e9/5e/e95e8ed195a179988bbba689dd040490deb2e4fe5d83abe43242fcf8a2b6f052.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:24:27.238 [debug] Running yt-dlp command for action: download 12:24:27.238 [debug] QUERY OK source="settings" db=0.2ms idle=872.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 [] 12:24:27.239 [debug] QUERY OK source="settings" db=0.3ms idle=872.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 [] 12:24:27.240 [debug] QUERY OK source="settings" db=0.3ms idle=873.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 [] 12:24:27.240 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=6nUMZs9sfh4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/90/15/90158c8fedb5179c63919e4495016261a455e7dacabfd3032fff9bbeffb941b5.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:24:45.153 [info] GET / 12:24:45.153 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:24:45.154 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=787.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 [] 12:24:45.155 [debug] QUERY OK source="media_profiles" db=0.2ms idle=788.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:24:45.156 [debug] QUERY OK source="sources" db=0.2ms idle=789.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:24:45.208 [debug] QUERY OK source="media_items" db=52.1ms idle=789.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:24:45.215 [debug] QUERY OK source="media_items" db=6.9ms idle=106.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:24:45.216 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=61.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 [] 12:24:45.217 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=61.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 [] 12:24:45.218 [debug] QUERY OK source="settings" db=0.5ms idle=62.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 [] 12:24:45.225 [debug] QUERY OK source="media_items" db=6.2ms idle=11.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 (NOT (m0."media_filepath" IS NULL)) [] 12:24:45.227 [debug] QUERY OK source="media_items" db=1.4ms idle=10.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:24:45.229 [debug] QUERY OK source="sources" db=0.4ms queue=0.2ms idle=12.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" IN (?,?)) [6, 2] 12:24:45.308 [debug] QUERY OK source="media_items" db=71.0ms queue=0.1ms idle=19.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 (((((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:24:45.375 [debug] QUERY OK source="media_items" db=67.2ms idle=89.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:24:45.376 [debug] QUERY OK source="sources" db=0.2ms idle=150.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] 12:24:45.378 [debug] QUERY OK source="tasks" db=0.4ms idle=150.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:24:45.379 [debug] QUERY OK source="media_items" db=0.5ms idle=149.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3521, 3523] 12:24:45.381 [info] Sent 200 in 227ms 12:24:50.797 [info] {"source":"oban","duration":4418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:00.679 [info] {"source":"oban","duration":896,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:25:04.153 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZPB0Dx4Hbso --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fc/1f/fc1ffdad7a7cd20024ca5c112ffb657b84e55eeebf346262e8eb9f8ffa5f366b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:25:04.207 [debug] Running yt-dlp command for action: download_thumbnail 12:25:04.209 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1842.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 [] 12:25:04.210 [debug] QUERY OK source="settings" db=0.5ms idle=1047.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 [] 12:25:04.211 [debug] QUERY OK source="settings" db=0.3ms idle=844.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 [] 12:25:04.211 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZPB0Dx4Hbso --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3521/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/7f/6e/7f6e87358d868c9db5c93336124e7903a00f3e2f958f7ea8947ee6a3038297d4.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:25:12.443 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZPB0Dx4Hbso --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3521/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/7f/6e/7f6e87358d868c9db5c93336124e7903a00f3e2f958f7ea8947ee6a3038297d4.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:25:12.445 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1078.3ms begin [] 12:25:12.449 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:25:04Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e042199 - Party Hack or Summer Trend? Color Changing Cocktails!.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e042199 - Party Hack or Summer Trend? Color Changing Cocktails!.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e042199 - Party Hack or Summer Trend? Color Changing Cocktails!.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e042199 - Party Hack or Summer Trend? Color Changing Cocktails!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e042199 - Party Hack or Summer Trend? Color Changing Cocktails!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e042199 - Party Hack or Summer Trend? Color Changing Cocktails!-thumb.jpg", ~U[2026-03-28 01:25:12Z], 3521] 12:25:12.453 [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/3521/metadata.json.gz", "/config/metadata/media_items/3521/thumbnail.jpg", 3521, ~U[2026-03-28 01:25:12Z], ~U[2026-03-28 01:25:12Z]] 12:25:12.455 [debug] QUERY OK db=1.5ms commit [] 12:25:12.486 [debug] QUERY OK source="media_items" db=15.4ms idle=1104.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [112677716, ~U[2026-03-28 01:25:12Z], 3521] 12:25:12.487 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:25:12.502 [info] {"args":{"id":3521},"id":614,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":219009102,"event":"job:stop","queue_time":76360477091,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:25:12.512 [info] {"args":{"id":3526},"id":616,"meta":{},"system_time":1774661112512479860,"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"]} 12:25:12.532 [debug] QUERY OK source="media_items" db=19.0ms queue=0.1ms idle=323.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" = ?) [3526] 12:25:12.533 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:25:12.536 [debug] QUERY OK source="sources" db=2.0ms queue=0.2ms idle=79.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" = ?) [4] 12:25:12.538 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.1ms idle=50.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] 12:25:12.540 [debug] QUERY OK source="media_items" db=1.2ms idle=37.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 [3526] 12:25:12.543 [debug] QUERY OK source="media_metadata" db=0.5ms idle=30.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" = ?) [3526] 12:25:12.544 [debug] QUERY OK source="media_profiles" db=0.8ms idle=10.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] 12:25:12.545 [debug] QUERY OK source="settings" db=0.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 [] 12:25:12.546 [debug] QUERY OK source="settings" db=0.6ms 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 [] 12:25:12.547 [debug] Running yt-dlp command for action: get_downloadable_status 12:25:12.550 [debug] QUERY OK source="settings" db=0.4ms idle=9.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 [] 12:25:12.551 [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 [] 12:25:12.552 [debug] QUERY OK source="settings" db=0.5ms queue=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 [] 12:25:12.553 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ezg4FlGYars --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/58/bb/58bb6982def82f324b0d2a2da282543a35fa78ac60903f5e3a04af1732b4597b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:25:19.281 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ezg4FlGYars --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/58/bb/58bb6982def82f324b0d2a2da282543a35fa78ac60903f5e3a04af1732b4597b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:25:19.281 [debug] Running yt-dlp command for action: download 12:25:19.282 [debug] QUERY OK source="settings" db=0.3ms idle=915.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 [] 12:25:19.282 [debug] QUERY OK source="settings" db=0.4ms idle=915.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 [] 12:25:19.283 [debug] QUERY OK source="settings" db=0.3ms idle=916.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 [] 12:25:19.283 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ezg4FlGYars --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fc/91/fc91416b3803ba461764545b9946a6f4499dca267d6139ad4c8c1964aa994de6.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:25:20.802 [info] {"source":"oban","duration":3449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:39.746 [info] GET /.well-known/acme-challenge/AVCpUfCH67owE3p9g16r-DiFJA6C--lK9kqPZK8QyL0 12:25:39.746 [info] GET /.well-known/acme-challenge/OUE3KuHc0rZZwqz0BdahMafNqDYlG6YnO7VCbIDFLQg 12:25:39.747 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1380.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 [] 12:25:39.748 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=1380.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 [] 12:25:39.748 [debug] QUERY OK source="settings" db=0.5ms idle=1381.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 [] 12:25:39.748 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:25:39.748 [debug] QUERY OK source="settings" db=0.5ms idle=1381.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 [] 12:25:39.749 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:25:39.749 [error] #PID<0.2927.0> running PinchflatWeb.Endpoint (connection #PID<0.2924.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/OUE3KuHc0rZZwqz0BdahMafNqDYlG6YnO7VCbIDFLQg ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/OUE3KuHc0rZZwqz0BdahMafNqDYlG6YnO7VCbIDFLQg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2924.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/OUE3KuHc0rZZwqz0BdahMafNqDYlG6YnO7VCbIDFLQg", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 55272}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/OUE3KuHc0rZZwqz0BdahMafNqDYlG6YnO7VCbIDFLQg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.213", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2927.0>, params: %{}, path_info: [".well-known", "acme-challenge", "OUE3KuHc0rZZwqz0BdahMafNqDYlG6YnO7VCbIDFLQg"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/OUE3KuHc0rZZwqz0BdahMafNqDYlG6YnO7VCbIDFLQg"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.213"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/OUE3KuHc0rZZwqz0BdahMafNqDYlG6YnO7VCbIDFLQg", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDc529FthXh8W8AAELi"} ], 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.2924.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/OUE3KuHc0rZZwqz0BdahMafNqDYlG6YnO7VCbIDFLQg", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 55272}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/OUE3KuHc0rZZwqz0BdahMafNqDYlG6YnO7VCbIDFLQg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.213", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/OUE3KuHc0rZZwqz0BdahMafNqDYlG6YnO7VCbIDFLQg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2924.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/OUE3KuHc0rZZwqz0BdahMafNqDYlG6YnO7VCbIDFLQg", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 55272}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/OUE3KuHc0rZZwqz0BdahMafNqDYlG6YnO7VCbIDFLQg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.213", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2927.0>, params: %{}, path_info: [".well-known", "acme-challenge", "OUE3KuHc0rZZwqz0BdahMafNqDYlG6YnO7VCbIDFLQg"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWe (truncated) 12:25:39.750 [error] #PID<0.2926.0> running PinchflatWeb.Endpoint (connection #PID<0.2925.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/AVCpUfCH67owE3p9g16r-DiFJA6C--lK9kqPZK8QyL0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/AVCpUfCH67owE3p9g16r-DiFJA6C--lK9kqPZK8QyL0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2925.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/AVCpUfCH67owE3p9g16r-DiFJA6C--lK9kqPZK8QyL0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55284}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/AVCpUfCH67owE3p9g16r-DiFJA6C--lK9kqPZK8QyL0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.212", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2926.0>, params: %{}, path_info: [".well-known", "acme-challenge", "AVCpUfCH67owE3p9g16r-DiFJA6C--lK9kqPZK8QyL0"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/AVCpUfCH67owE3p9g16r-DiFJA6C--lK9kqPZK8QyL0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.212"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/AVCpUfCH67owE3p9g16r-DiFJA6C--lK9kqPZK8QyL0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDc529FtPJjQJ4AADxB"} ], 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.2925.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/AVCpUfCH67owE3p9g16r-DiFJA6C--lK9kqPZK8QyL0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55284}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/AVCpUfCH67owE3p9g16r-DiFJA6C--lK9kqPZK8QyL0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.212", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/AVCpUfCH67owE3p9g16r-DiFJA6C--lK9kqPZK8QyL0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2925.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/AVCpUfCH67owE3p9g16r-DiFJA6C--lK9kqPZK8QyL0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55284}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/AVCpUfCH67owE3p9g16r-DiFJA6C--lK9kqPZK8QyL0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.212", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2926.0>, params: %{}, path_info: [".well-known", "acme-challenge", "AVCpUfCH67owE3p9g16r-DiFJA6C--lK9kqPZK8QyL0"], 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://pinchflat.f (truncated) 12:25:41.107 [info] GET /.well-known/acme-challenge/qxTNSaHBQRv-ADJ39ERsuqapyLuuP2Q8WsMyNR5aX58 12:25:41.108 [debug] QUERY OK source="settings" db=0.6ms idle=1360.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 [] 12:25:41.109 [debug] QUERY OK source="settings" db=0.3ms idle=1361.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 [] 12:25:41.109 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:25:41.110 [error] #PID<0.2928.0> running PinchflatWeb.Endpoint (connection #PID<0.2925.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/qxTNSaHBQRv-ADJ39ERsuqapyLuuP2Q8WsMyNR5aX58 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/qxTNSaHBQRv-ADJ39ERsuqapyLuuP2Q8WsMyNR5aX58 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2925.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/qxTNSaHBQRv-ADJ39ERsuqapyLuuP2Q8WsMyNR5aX58", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55284}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/qxTNSaHBQRv-ADJ39ERsuqapyLuuP2Q8WsMyNR5aX58", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.105", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2928.0>, params: %{}, path_info: [".well-known", "acme-challenge", "qxTNSaHBQRv-ADJ39ERsuqapyLuuP2Q8WsMyNR5aX58"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/qxTNSaHBQRv-ADJ39ERsuqapyLuuP2Q8WsMyNR5aX58"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.105"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/qxTNSaHBQRv-ADJ39ERsuqapyLuuP2Q8WsMyNR5aX58", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDc58BsPJvc1P8AADxh"} ], 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.2925.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/qxTNSaHBQRv-ADJ39ERsuqapyLuuP2Q8WsMyNR5aX58", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55284}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/qxTNSaHBQRv-ADJ39ERsuqapyLuuP2Q8WsMyNR5aX58", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.105", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/qxTNSaHBQRv-ADJ39ERsuqapyLuuP2Q8WsMyNR5aX58 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2925.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/qxTNSaHBQRv-ADJ39ERsuqapyLuuP2Q8WsMyNR5aX58", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55284}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/qxTNSaHBQRv-ADJ39ERsuqapyLuuP2Q8WsMyNR5aX58", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.105", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2928.0>, params: %{}, path_info: [".well-known", "acme-challenge", "qxTNSaHBQRv-ADJ39ERsuqapyLuuP2Q8WsMyNR5aX58"], 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://pinchflat.f (truncated) 12:25:45.567 [info] GET / 12:25:45.567 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:25:45.568 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1201.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 [] 12:25:45.568 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1202.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:25:45.569 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=268.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:25:45.629 [debug] QUERY OK source="media_items" db=59.6ms queue=0.1ms idle=203.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:25:45.634 [debug] QUERY OK source="media_items" db=4.2ms queue=0.1ms idle=263.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:25:45.635 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=66.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 [] 12:25:45.635 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=66.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 [] 12:25:45.637 [debug] QUERY OK source="settings" db=0.6ms idle=66.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 [] 12:25:45.646 [debug] QUERY OK source="media_items" db=8.4ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 12:25:45.649 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=12.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:25:45.651 [debug] QUERY OK source="sources" db=0.8ms 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" IN (?,?)) [6, 2] 12:25:45.753 [debug] QUERY OK source="media_items" db=99.0ms idle=18.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 (((((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:25:45.818 [debug] QUERY OK source="media_items" db=64.8ms idle=116.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:25:45.819 [debug] QUERY OK source="sources" db=0.3ms idle=172.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] 12:25:45.822 [debug] QUERY OK source="tasks" db=0.5ms idle=172.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:25:45.823 [debug] QUERY OK source="media_items" db=0.5ms idle=171.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3523, 3526] 12:25:45.824 [info] Sent 200 in 257ms 12:25:50.807 [info] {"source":"oban","duration":3232,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:59.553 [info] GET /.well-known/acme-challenge/zdbFuBTx8MH6i1dQ2T3j320GwFjWeQWjOaSO2TGIhKs 12:25:59.554 [debug] QUERY OK source="settings" db=0.9ms idle=1187.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 [] 12:25:59.555 [debug] QUERY OK source="settings" db=0.4ms idle=208.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 [] 12:25:59.555 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:25:59.556 [error] #PID<0.2934.0> running PinchflatWeb.Endpoint (connection #PID<0.2933.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/zdbFuBTx8MH6i1dQ2T3j320GwFjWeQWjOaSO2TGIhKs ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/zdbFuBTx8MH6i1dQ2T3j320GwFjWeQWjOaSO2TGIhKs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2933.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/zdbFuBTx8MH6i1dQ2T3j320GwFjWeQWjOaSO2TGIhKs", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 56370}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/zdbFuBTx8MH6i1dQ2T3j320GwFjWeQWjOaSO2TGIhKs", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2934.0>, params: %{}, path_info: [".well-known", "acme-challenge", "zdbFuBTx8MH6i1dQ2T3j320GwFjWeQWjOaSO2TGIhKs"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/zdbFuBTx8MH6i1dQ2T3j320GwFjWeQWjOaSO2TGIhKs"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.210"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/zdbFuBTx8MH6i1dQ2T3j320GwFjWeQWjOaSO2TGIhKs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDc7AvYygy9Au4AAERC"} ], 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.2933.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/zdbFuBTx8MH6i1dQ2T3j320GwFjWeQWjOaSO2TGIhKs", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 56370}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/zdbFuBTx8MH6i1dQ2T3j320GwFjWeQWjOaSO2TGIhKs", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/zdbFuBTx8MH6i1dQ2T3j320GwFjWeQWjOaSO2TGIhKs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2933.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/zdbFuBTx8MH6i1dQ2T3j320GwFjWeQWjOaSO2TGIhKs", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 56370}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/zdbFuBTx8MH6i1dQ2T3j320GwFjWeQWjOaSO2TGIhKs", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2934.0>, params: %{}, path_info: [".well-known", "acme-challenge", "zdbFuBTx8MH6i1dQ2T3j320GwFjWeQWjOaSO2TGIhKs"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWe (truncated) 12:26:00.680 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:26:03.475 [info] GET /.well-known/acme-challenge/q8fYQndmWdTyo0tJnvHh5ogsMMJBUjNNIos3Oy_cjlQ 12:26:03.477 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1110.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 [] 12:26:03.478 [debug] QUERY OK source="settings" db=0.3ms idle=117.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 [] 12:26:03.478 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:26:03.478 [error] #PID<0.2936.0> running PinchflatWeb.Endpoint (connection #PID<0.2935.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/q8fYQndmWdTyo0tJnvHh5ogsMMJBUjNNIos3Oy_cjlQ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/q8fYQndmWdTyo0tJnvHh5ogsMMJBUjNNIos3Oy_cjlQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2935.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/q8fYQndmWdTyo0tJnvHh5ogsMMJBUjNNIos3Oy_cjlQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 56386}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/q8fYQndmWdTyo0tJnvHh5ogsMMJBUjNNIos3Oy_cjlQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2936.0>, params: %{}, path_info: [".well-known", "acme-challenge", "q8fYQndmWdTyo0tJnvHh5ogsMMJBUjNNIos3Oy_cjlQ"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/q8fYQndmWdTyo0tJnvHh5ogsMMJBUjNNIos3Oy_cjlQ"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.107"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/q8fYQndmWdTyo0tJnvHh5ogsMMJBUjNNIos3Oy_cjlQ", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDc7PWdoCkCt2sAAERi"} ], 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.2935.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/q8fYQndmWdTyo0tJnvHh5ogsMMJBUjNNIos3Oy_cjlQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 56386}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/q8fYQndmWdTyo0tJnvHh5ogsMMJBUjNNIos3Oy_cjlQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/q8fYQndmWdTyo0tJnvHh5ogsMMJBUjNNIos3Oy_cjlQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2935.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/q8fYQndmWdTyo0tJnvHh5ogsMMJBUjNNIos3Oy_cjlQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 56386}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/q8fYQndmWdTyo0tJnvHh5ogsMMJBUjNNIos3Oy_cjlQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2936.0>, params: %{}, path_info: [".well-known", "acme-challenge", "q8fYQndmWdTyo0tJnvHh5ogsMMJBUjNNIos3Oy_cjlQ"], 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://pinchflat.f (truncated) 12:26:11.673 [info] GET /.well-known/acme-challenge/2HVhX1fHtipO53BlPtQ4HBeD8iBtombP2Yl8GFasSZU 12:26:11.675 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=308.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 [] 12:26:11.675 [debug] QUERY OK source="settings" db=0.2ms idle=308.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 [] 12:26:11.675 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:26:11.676 [error] #PID<0.2938.0> running PinchflatWeb.Endpoint (connection #PID<0.2937.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/2HVhX1fHtipO53BlPtQ4HBeD8iBtombP2Yl8GFasSZU ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/2HVhX1fHtipO53BlPtQ4HBeD8iBtombP2Yl8GFasSZU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2937.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/2HVhX1fHtipO53BlPtQ4HBeD8iBtombP2Yl8GFasSZU", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52844}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/2HVhX1fHtipO53BlPtQ4HBeD8iBtombP2Yl8GFasSZU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.105", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2938.0>, params: %{}, path_info: [".well-known", "acme-challenge", "2HVhX1fHtipO53BlPtQ4HBeD8iBtombP2Yl8GFasSZU"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/2HVhX1fHtipO53BlPtQ4HBeD8iBtombP2Yl8GFasSZU"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.105"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/2HVhX1fHtipO53BlPtQ4HBeD8iBtombP2Yl8GFasSZU", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDc7t5DXMl2HIoAADyB"} ], 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.2937.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/2HVhX1fHtipO53BlPtQ4HBeD8iBtombP2Yl8GFasSZU", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52844}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/2HVhX1fHtipO53BlPtQ4HBeD8iBtombP2Yl8GFasSZU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.105", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/2HVhX1fHtipO53BlPtQ4HBeD8iBtombP2Yl8GFasSZU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2937.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/2HVhX1fHtipO53BlPtQ4HBeD8iBtombP2Yl8GFasSZU", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52844}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/2HVhX1fHtipO53BlPtQ4HBeD8iBtombP2Yl8GFasSZU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.105", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2938.0>, params: %{}, path_info: [".well-known", "acme-challenge", "2HVhX1fHtipO53BlPtQ4HBeD8iBtombP2Yl8GFasSZU"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWe (truncated) 12:26:12.351 [info] GET /.well-known/acme-challenge/iMX-vtvrBHU9z5rgq504kJ3jSyu79QE4KZd5EG5Oq4o 12:26:12.352 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=985.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 [] 12:26:12.353 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=986.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 [] 12:26:12.353 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:26:12.354 [error] #PID<0.2940.0> running PinchflatWeb.Endpoint (connection #PID<0.2939.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/iMX-vtvrBHU9z5rgq504kJ3jSyu79QE4KZd5EG5Oq4o ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/iMX-vtvrBHU9z5rgq504kJ3jSyu79QE4KZd5EG5Oq4o (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2939.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/iMX-vtvrBHU9z5rgq504kJ3jSyu79QE4KZd5EG5Oq4o", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52858}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/iMX-vtvrBHU9z5rgq504kJ3jSyu79QE4KZd5EG5Oq4o", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.108", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2940.0>, params: %{}, path_info: [".well-known", "acme-challenge", "iMX-vtvrBHU9z5rgq504kJ3jSyu79QE4KZd5EG5Oq4o"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/iMX-vtvrBHU9z5rgq504kJ3jSyu79QE4KZd5EG5Oq4o"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.108"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/iMX-vtvrBHU9z5rgq504kJ3jSyu79QE4KZd5EG5Oq4o", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDc7waxhoUzhZIAAESC"} ], 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.2939.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/iMX-vtvrBHU9z5rgq504kJ3jSyu79QE4KZd5EG5Oq4o", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52858}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/iMX-vtvrBHU9z5rgq504kJ3jSyu79QE4KZd5EG5Oq4o", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.108", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/iMX-vtvrBHU9z5rgq504kJ3jSyu79QE4KZd5EG5Oq4o (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2939.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/iMX-vtvrBHU9z5rgq504kJ3jSyu79QE4KZd5EG5Oq4o", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52858}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/iMX-vtvrBHU9z5rgq504kJ3jSyu79QE4KZd5EG5Oq4o", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.108", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2940.0>, params: %{}, path_info: [".well-known", "acme-challenge", "iMX-vtvrBHU9z5rgq504kJ3jSyu79QE4KZd5EG5Oq4o"], 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://pinchflat.f (truncated) 12:26:12.533 [info] GET /.well-known/acme-challenge/tXLt8YyAanfwCPy8eZP891QxHt8Gwiof1OBwlaZf8Zg 12:26:12.535 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms 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 [] 12:26:12.536 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=860.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 [] 12:26:12.536 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:26:12.537 [error] #PID<0.2941.0> running PinchflatWeb.Endpoint (connection #PID<0.2937.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/tXLt8YyAanfwCPy8eZP891QxHt8Gwiof1OBwlaZf8Zg ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/tXLt8YyAanfwCPy8eZP891QxHt8Gwiof1OBwlaZf8Zg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2937.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/tXLt8YyAanfwCPy8eZP891QxHt8Gwiof1OBwlaZf8Zg", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52844}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/tXLt8YyAanfwCPy8eZP891QxHt8Gwiof1OBwlaZf8Zg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.105", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2941.0>, params: %{}, path_info: [".well-known", "acme-challenge", "tXLt8YyAanfwCPy8eZP891QxHt8Gwiof1OBwlaZf8Zg"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/tXLt8YyAanfwCPy8eZP891QxHt8Gwiof1OBwlaZf8Zg"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.105"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/tXLt8YyAanfwCPy8eZP891QxHt8Gwiof1OBwlaZf8Zg", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDc7xGASwX3zggAAESi"} ], 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.2937.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/tXLt8YyAanfwCPy8eZP891QxHt8Gwiof1OBwlaZf8Zg", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52844}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/tXLt8YyAanfwCPy8eZP891QxHt8Gwiof1OBwlaZf8Zg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.105", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/tXLt8YyAanfwCPy8eZP891QxHt8Gwiof1OBwlaZf8Zg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2937.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/tXLt8YyAanfwCPy8eZP891QxHt8Gwiof1OBwlaZf8Zg", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52844}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/tXLt8YyAanfwCPy8eZP891QxHt8Gwiof1OBwlaZf8Zg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.105", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2941.0>, params: %{}, path_info: [".well-known", "acme-challenge", "tXLt8YyAanfwCPy8eZP891QxHt8Gwiof1OBwlaZf8Zg"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWe (truncated) 12:26:20.812 [info] {"source":"oban","duration":3949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:21.426 [info] GET /.well-known/acme-challenge/yFTKvXiYfnKH2UjLY_85U4wbL1LkXM32YHDN5IIRxEk 12:26:21.428 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=1060.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 [] 12:26:21.429 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=1004.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 [] 12:26:21.429 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:26:21.430 [error] #PID<0.2943.0> running PinchflatWeb.Endpoint (connection #PID<0.2942.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/yFTKvXiYfnKH2UjLY_85U4wbL1LkXM32YHDN5IIRxEk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/yFTKvXiYfnKH2UjLY_85U4wbL1LkXM32YHDN5IIRxEk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2942.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/yFTKvXiYfnKH2UjLY_85U4wbL1LkXM32YHDN5IIRxEk", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 60392}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/yFTKvXiYfnKH2UjLY_85U4wbL1LkXM32YHDN5IIRxEk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.104", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2943.0>, params: %{}, path_info: [".well-known", "acme-challenge", "yFTKvXiYfnKH2UjLY_85U4wbL1LkXM32YHDN5IIRxEk"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/yFTKvXiYfnKH2UjLY_85U4wbL1LkXM32YHDN5IIRxEk"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.104"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/yFTKvXiYfnKH2UjLY_85U4wbL1LkXM32YHDN5IIRxEk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDc8SORhxvI9c4AADyh"} ], 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.2942.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/yFTKvXiYfnKH2UjLY_85U4wbL1LkXM32YHDN5IIRxEk", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 60392}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/yFTKvXiYfnKH2UjLY_85U4wbL1LkXM32YHDN5IIRxEk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.104", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/yFTKvXiYfnKH2UjLY_85U4wbL1LkXM32YHDN5IIRxEk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2942.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/yFTKvXiYfnKH2UjLY_85U4wbL1LkXM32YHDN5IIRxEk", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 60392}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/yFTKvXiYfnKH2UjLY_85U4wbL1LkXM32YHDN5IIRxEk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.104", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2943.0>, params: %{}, path_info: [".well-known", "acme-challenge", "yFTKvXiYfnKH2UjLY_85U4wbL1LkXM32YHDN5IIRxEk"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWe (truncated) 12:26:21.973 [info] GET /.well-known/acme-challenge/gmBhbO6TqdFNKDuxNOdFTueDzuvV5TQjiO5Q1Dbp2tU 12:26:21.976 [debug] QUERY OK source="settings" db=0.6ms queue=0.3ms idle=1163.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 [] 12:26:21.977 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=610.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 [] 12:26:21.977 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:26:21.979 [error] #PID<0.2945.0> running PinchflatWeb.Endpoint (connection #PID<0.2944.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/gmBhbO6TqdFNKDuxNOdFTueDzuvV5TQjiO5Q1Dbp2tU ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/gmBhbO6TqdFNKDuxNOdFTueDzuvV5TQjiO5Q1Dbp2tU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2944.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/gmBhbO6TqdFNKDuxNOdFTueDzuvV5TQjiO5Q1Dbp2tU", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60394}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/gmBhbO6TqdFNKDuxNOdFTueDzuvV5TQjiO5Q1Dbp2tU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.213", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2945.0>, params: %{}, path_info: [".well-known", "acme-challenge", "gmBhbO6TqdFNKDuxNOdFTueDzuvV5TQjiO5Q1Dbp2tU"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/gmBhbO6TqdFNKDuxNOdFTueDzuvV5TQjiO5Q1Dbp2tU"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.213"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/gmBhbO6TqdFNKDuxNOdFTueDzuvV5TQjiO5Q1Dbp2tU", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDc8UQ58U9puhYAADzB"} ], 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.2944.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/gmBhbO6TqdFNKDuxNOdFTueDzuvV5TQjiO5Q1Dbp2tU", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60394}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/gmBhbO6TqdFNKDuxNOdFTueDzuvV5TQjiO5Q1Dbp2tU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.213", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/gmBhbO6TqdFNKDuxNOdFTueDzuvV5TQjiO5Q1Dbp2tU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2944.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/gmBhbO6TqdFNKDuxNOdFTueDzuvV5TQjiO5Q1Dbp2tU", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60394}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/gmBhbO6TqdFNKDuxNOdFTueDzuvV5TQjiO5Q1Dbp2tU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.213", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2945.0>, params: %{}, path_info: [".well-known", "acme-challenge", "gmBhbO6TqdFNKDuxNOdFTueDzuvV5TQjiO5Q1Dbp2tU"], 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://pinchflat.f (truncated) 12:26:43.873 [info] GET /.well-known/acme-challenge/-uysd6Cbw-80gJo_6wg09YEQ-QOgLsGV2vIJiev88GA 12:26:43.875 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=507.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 [] 12:26:43.876 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=509.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 [] 12:26:43.877 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:26:43.878 [error] #PID<0.2949.0> running PinchflatWeb.Endpoint (connection #PID<0.2948.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/-uysd6Cbw-80gJo_6wg09YEQ-QOgLsGV2vIJiev88GA ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/-uysd6Cbw-80gJo_6wg09YEQ-QOgLsGV2vIJiev88GA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2948.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/-uysd6Cbw-80gJo_6wg09YEQ-QOgLsGV2vIJiev88GA", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60440}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/-uysd6Cbw-80gJo_6wg09YEQ-QOgLsGV2vIJiev88GA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2949.0>, params: %{}, path_info: [".well-known", "acme-challenge", "-uysd6Cbw-80gJo_6wg09YEQ-QOgLsGV2vIJiev88GA"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/-uysd6Cbw-80gJo_6wg09YEQ-QOgLsGV2vIJiev88GA"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/-uysd6Cbw-80gJo_6wg09YEQ-QOgLsGV2vIJiev88GA", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDc9l2LlAz4lEoAAD0B"} ], 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.2948.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/-uysd6Cbw-80gJo_6wg09YEQ-QOgLsGV2vIJiev88GA", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60440}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/-uysd6Cbw-80gJo_6wg09YEQ-QOgLsGV2vIJiev88GA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/-uysd6Cbw-80gJo_6wg09YEQ-QOgLsGV2vIJiev88GA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2948.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/-uysd6Cbw-80gJo_6wg09YEQ-QOgLsGV2vIJiev88GA", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60440}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/-uysd6Cbw-80gJo_6wg09YEQ-QOgLsGV2vIJiev88GA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2949.0>, params: %{}, path_info: [".well-known", "acme-challenge", "-uysd6Cbw-80gJo_6wg09YEQ-QOgLsGV2vIJiev88GA"], 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://pinchflat.f2fv7 (truncated) 12:26:44.033 [info] GET /.well-known/acme-challenge/gYUISAlwF8B_zhITcURqJUBEQDSwvQIYI0qw9gfO3bU 12:26:44.034 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=666.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 [] 12:26:44.035 [debug] QUERY OK source="settings" db=0.3ms idle=667.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 [] 12:26:44.035 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:26:44.035 [error] #PID<0.2951.0> running PinchflatWeb.Endpoint (connection #PID<0.2950.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/gYUISAlwF8B_zhITcURqJUBEQDSwvQIYI0qw9gfO3bU ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/gYUISAlwF8B_zhITcURqJUBEQDSwvQIYI0qw9gfO3bU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2950.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/gYUISAlwF8B_zhITcURqJUBEQDSwvQIYI0qw9gfO3bU", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 60454}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/gYUISAlwF8B_zhITcURqJUBEQDSwvQIYI0qw9gfO3bU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2951.0>, params: %{}, path_info: [".well-known", "acme-challenge", "gYUISAlwF8B_zhITcURqJUBEQDSwvQIYI0qw9gfO3bU"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/gYUISAlwF8B_zhITcURqJUBEQDSwvQIYI0qw9gfO3bU"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/gYUISAlwF8B_zhITcURqJUBEQDSwvQIYI0qw9gfO3bU", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDc9mcNp6y9hTEAAD0h"} ], 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.2950.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/gYUISAlwF8B_zhITcURqJUBEQDSwvQIYI0qw9gfO3bU", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 60454}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/gYUISAlwF8B_zhITcURqJUBEQDSwvQIYI0qw9gfO3bU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/gYUISAlwF8B_zhITcURqJUBEQDSwvQIYI0qw9gfO3bU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2950.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/gYUISAlwF8B_zhITcURqJUBEQDSwvQIYI0qw9gfO3bU", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 60454}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/gYUISAlwF8B_zhITcURqJUBEQDSwvQIYI0qw9gfO3bU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2951.0>, params: %{}, path_info: [".well-known", "acme-challenge", "gYUISAlwF8B_zhITcURqJUBEQDSwvQIYI0qw9gfO3bU"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:26:45.842 [info] GET /.well-known/acme-challenge/VFPEo2xtn15qEjXTykYDJQnKnN4cZGF1pwaUI2-8m50 12:26:45.844 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=477.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 [] 12:26:45.845 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=478.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 [] 12:26:45.845 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:26:45.846 [error] #PID<0.2952.0> running PinchflatWeb.Endpoint (connection #PID<0.2948.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/VFPEo2xtn15qEjXTykYDJQnKnN4cZGF1pwaUI2-8m50 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/VFPEo2xtn15qEjXTykYDJQnKnN4cZGF1pwaUI2-8m50 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2948.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/VFPEo2xtn15qEjXTykYDJQnKnN4cZGF1pwaUI2-8m50", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60440}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/VFPEo2xtn15qEjXTykYDJQnKnN4cZGF1pwaUI2-8m50", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2952.0>, params: %{}, path_info: [".well-known", "acme-challenge", "VFPEo2xtn15qEjXTykYDJQnKnN4cZGF1pwaUI2-8m50"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/VFPEo2xtn15qEjXTykYDJQnKnN4cZGF1pwaUI2-8m50"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/VFPEo2xtn15qEjXTykYDJQnKnN4cZGF1pwaUI2-8m50", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDc9tLrMpcmHWIAAD1B"} ], 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.2948.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/VFPEo2xtn15qEjXTykYDJQnKnN4cZGF1pwaUI2-8m50", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60440}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/VFPEo2xtn15qEjXTykYDJQnKnN4cZGF1pwaUI2-8m50", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/VFPEo2xtn15qEjXTykYDJQnKnN4cZGF1pwaUI2-8m50 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2948.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/VFPEo2xtn15qEjXTykYDJQnKnN4cZGF1pwaUI2-8m50", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60440}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/VFPEo2xtn15qEjXTykYDJQnKnN4cZGF1pwaUI2-8m50", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2952.0>, params: %{}, path_info: [".well-known", "acme-challenge", "VFPEo2xtn15qEjXTykYDJQnKnN4cZGF1pwaUI2-8m50"], 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://pinchflat.f2fv7 (truncated) 12:26:46.046 [info] GET / 12:26:46.046 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:26:46.048 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=680.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 [] 12:26:46.049 [debug] QUERY OK source="media_profiles" db=0.4ms idle=682.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:26:46.049 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=530.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:26:46.073 [debug] QUERY OK source="media_items" db=22.8ms idle=205.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:26:46.083 [debug] QUERY OK source="media_items" db=9.8ms queue=0.2ms idle=227.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:26:46.086 [debug] QUERY OK source="settings" db=0.8ms queue=0.7ms 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 [] 12:26:46.088 [debug] QUERY OK source="settings" db=0.4ms queue=0.3ms idle=38.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 [] 12:26:46.092 [debug] QUERY OK source="settings" db=1.3ms queue=0.4ms idle=40.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 [] 12:26:46.103 [debug] QUERY OK source="media_items" db=7.1ms queue=0.2ms idle=23.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 (NOT (m0."media_filepath" IS NULL)) [] 12:26:46.105 [debug] QUERY OK source="media_items" db=1.3ms queue=0.2ms idle=20.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:26:46.107 [debug] QUERY OK source="sources" db=0.7ms idle=19.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" IN (?,?)) [6, 2] 12:26:46.170 [debug] QUERY OK source="media_items" db=60.6ms idle=22.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 (((((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:26:46.186 [debug] QUERY OK source="media_items" db=15.0ms queue=0.1ms idle=79.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:26:46.187 [debug] QUERY OK source="sources" db=0.3ms idle=83.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] 12:26:46.190 [debug] QUERY OK source="tasks" db=0.5ms idle=83.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:26:46.191 [debug] QUERY OK source="media_items" db=0.4ms idle=83.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3523, 3526] 12:26:46.193 [info] Sent 200 in 146ms 12:26:50.816 [info] {"source":"oban","duration":3154,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:00.683 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:27:04.819 [info] GET /.well-known/acme-challenge/fknREuof94UJTwgMEx9yWyS0e4EGZVqCIYrc76-pNqQ 12:27:04.821 [debug] QUERY OK source="settings" db=0.8ms idle=1454.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 [] 12:27:04.822 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1227.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 [] 12:27:04.822 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:27:04.823 [error] #PID<0.2957.0> running PinchflatWeb.Endpoint (connection #PID<0.2956.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/fknREuof94UJTwgMEx9yWyS0e4EGZVqCIYrc76-pNqQ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/fknREuof94UJTwgMEx9yWyS0e4EGZVqCIYrc76-pNqQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/fknREuof94UJTwgMEx9yWyS0e4EGZVqCIYrc76-pNqQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 38410}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/fknREuof94UJTwgMEx9yWyS0e4EGZVqCIYrc76-pNqQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2957.0>, params: %{}, path_info: [".well-known", "acme-challenge", "fknREuof94UJTwgMEx9yWyS0e4EGZVqCIYrc76-pNqQ"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/fknREuof94UJTwgMEx9yWyS0e4EGZVqCIYrc76-pNqQ"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/fknREuof94UJTwgMEx9yWyS0e4EGZVqCIYrc76-pNqQ", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDc-z4JamWP9JQAAD2h"} ], 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.2956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/fknREuof94UJTwgMEx9yWyS0e4EGZVqCIYrc76-pNqQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 38410}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/fknREuof94UJTwgMEx9yWyS0e4EGZVqCIYrc76-pNqQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/fknREuof94UJTwgMEx9yWyS0e4EGZVqCIYrc76-pNqQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/fknREuof94UJTwgMEx9yWyS0e4EGZVqCIYrc76-pNqQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 38410}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/fknREuof94UJTwgMEx9yWyS0e4EGZVqCIYrc76-pNqQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2957.0>, params: %{}, path_info: [".well-known", "acme-challenge", "fknREuof94UJTwgMEx9yWyS0e4EGZVqCIYrc76-pNqQ"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:27:07.570 [info] GET /.well-known/acme-challenge/aS-FZfra62LvQGHF09n-zD_bV062U4l-S_qW7L2qIGE 12:27:07.571 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1205.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 [] 12:27:07.572 [debug] QUERY OK source="settings" db=0.4ms idle=1205.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 [] 12:27:07.572 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:27:07.573 [error] #PID<0.2959.0> running PinchflatWeb.Endpoint (connection #PID<0.2958.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/aS-FZfra62LvQGHF09n-zD_bV062U4l-S_qW7L2qIGE ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/aS-FZfra62LvQGHF09n-zD_bV062U4l-S_qW7L2qIGE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/aS-FZfra62LvQGHF09n-zD_bV062U4l-S_qW7L2qIGE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 38420}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/aS-FZfra62LvQGHF09n-zD_bV062U4l-S_qW7L2qIGE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2959.0>, params: %{}, path_info: [".well-known", "acme-challenge", "aS-FZfra62LvQGHF09n-zD_bV062U4l-S_qW7L2qIGE"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/aS-FZfra62LvQGHF09n-zD_bV062U4l-S_qW7L2qIGE"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/aS-FZfra62LvQGHF09n-zD_bV062U4l-S_qW7L2qIGE", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDc--IEn4cVrBkAAD3B"} ], 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.2958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/aS-FZfra62LvQGHF09n-zD_bV062U4l-S_qW7L2qIGE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 38420}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/aS-FZfra62LvQGHF09n-zD_bV062U4l-S_qW7L2qIGE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/aS-FZfra62LvQGHF09n-zD_bV062U4l-S_qW7L2qIGE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/aS-FZfra62LvQGHF09n-zD_bV062U4l-S_qW7L2qIGE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 38420}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/aS-FZfra62LvQGHF09n-zD_bV062U4l-S_qW7L2qIGE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2959.0>, params: %{}, path_info: [".well-known", "acme-challenge", "aS-FZfra62LvQGHF09n-zD_bV062U4l-S_qW7L2qIGE"], 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://pinchflat.f2fv7 (truncated) 12:27:16.234 [info] GET /.well-known/acme-challenge/fr9Q4Ts6ibKn5Z1PuTLvu-QYiZ17MvqE6gLblP07QzU 12:27:16.236 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1869.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 [] 12:27:16.237 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:27:16.237 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:27:16.238 [error] #PID<0.2961.0> running PinchflatWeb.Endpoint (connection #PID<0.2960.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/fr9Q4Ts6ibKn5Z1PuTLvu-QYiZ17MvqE6gLblP07QzU ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/fr9Q4Ts6ibKn5Z1PuTLvu-QYiZ17MvqE6gLblP07QzU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2960.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/fr9Q4Ts6ibKn5Z1PuTLvu-QYiZ17MvqE6gLblP07QzU", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33632}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/fr9Q4Ts6ibKn5Z1PuTLvu-QYiZ17MvqE6gLblP07QzU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2961.0>, params: %{}, path_info: [".well-known", "acme-challenge", "fr9Q4Ts6ibKn5Z1PuTLvu-QYiZ17MvqE6gLblP07QzU"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/fr9Q4Ts6ibKn5Z1PuTLvu-QYiZ17MvqE6gLblP07QzU"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/fr9Q4Ts6ibKn5Z1PuTLvu-QYiZ17MvqE6gLblP07QzU", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDc_eZuHdA6ibIAAD3h"} ], 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.2960.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/fr9Q4Ts6ibKn5Z1PuTLvu-QYiZ17MvqE6gLblP07QzU", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33632}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/fr9Q4Ts6ibKn5Z1PuTLvu-QYiZ17MvqE6gLblP07QzU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/fr9Q4Ts6ibKn5Z1PuTLvu-QYiZ17MvqE6gLblP07QzU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2960.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/fr9Q4Ts6ibKn5Z1PuTLvu-QYiZ17MvqE6gLblP07QzU", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33632}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/fr9Q4Ts6ibKn5Z1PuTLvu-QYiZ17MvqE6gLblP07QzU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2961.0>, params: %{}, path_info: [".well-known", "acme-challenge", "fr9Q4Ts6ibKn5Z1PuTLvu-QYiZ17MvqE6gLblP07QzU"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:27:17.162 [info] GET /.well-known/acme-challenge/XltebtDOrnFR4evep8-daTUIJEFUV2GehxNh6zrw-sQ 12:27:17.163 [debug] QUERY OK source="settings" db=0.3ms idle=1796.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 [] 12:27:17.164 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1535.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 [] 12:27:17.164 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:27:17.165 [error] #PID<0.2962.0> running PinchflatWeb.Endpoint (connection #PID<0.2960.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/XltebtDOrnFR4evep8-daTUIJEFUV2GehxNh6zrw-sQ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/XltebtDOrnFR4evep8-daTUIJEFUV2GehxNh6zrw-sQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2960.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/XltebtDOrnFR4evep8-daTUIJEFUV2GehxNh6zrw-sQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33632}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/XltebtDOrnFR4evep8-daTUIJEFUV2GehxNh6zrw-sQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2962.0>, params: %{}, path_info: [".well-known", "acme-challenge", "XltebtDOrnFR4evep8-daTUIJEFUV2GehxNh6zrw-sQ"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/XltebtDOrnFR4evep8-daTUIJEFUV2GehxNh6zrw-sQ"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/XltebtDOrnFR4evep8-daTUIJEFUV2GehxNh6zrw-sQ", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDc_h25OPC9tTMAAD4B"} ], 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.2960.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/XltebtDOrnFR4evep8-daTUIJEFUV2GehxNh6zrw-sQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33632}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/XltebtDOrnFR4evep8-daTUIJEFUV2GehxNh6zrw-sQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/XltebtDOrnFR4evep8-daTUIJEFUV2GehxNh6zrw-sQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2960.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/XltebtDOrnFR4evep8-daTUIJEFUV2GehxNh6zrw-sQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33632}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/XltebtDOrnFR4evep8-daTUIJEFUV2GehxNh6zrw-sQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2962.0>, params: %{}, path_info: [".well-known", "acme-challenge", "XltebtDOrnFR4evep8-daTUIJEFUV2GehxNh6zrw-sQ"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:27:17.764 [info] GET /.well-known/acme-challenge/Rq93cjuk2e4u3iYKsdpFxCtRZYnGVkxigNqf6WLLISA 12:27:17.765 [debug] QUERY OK source="settings" db=0.5ms idle=600.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 [] 12:27:17.765 [debug] QUERY OK source="settings" db=0.5ms idle=600.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 [] 12:27:17.766 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:27:17.766 [error] #PID<0.2964.0> running PinchflatWeb.Endpoint (connection #PID<0.2963.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/Rq93cjuk2e4u3iYKsdpFxCtRZYnGVkxigNqf6WLLISA ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Rq93cjuk2e4u3iYKsdpFxCtRZYnGVkxigNqf6WLLISA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2963.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Rq93cjuk2e4u3iYKsdpFxCtRZYnGVkxigNqf6WLLISA", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 33634}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Rq93cjuk2e4u3iYKsdpFxCtRZYnGVkxigNqf6WLLISA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2964.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Rq93cjuk2e4u3iYKsdpFxCtRZYnGVkxigNqf6WLLISA"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Rq93cjuk2e4u3iYKsdpFxCtRZYnGVkxigNqf6WLLISA"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/Rq93cjuk2e4u3iYKsdpFxCtRZYnGVkxigNqf6WLLISA", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDc_kGT_Br1Jn8AAEVC"} ], 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.2963.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Rq93cjuk2e4u3iYKsdpFxCtRZYnGVkxigNqf6WLLISA", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 33634}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Rq93cjuk2e4u3iYKsdpFxCtRZYnGVkxigNqf6WLLISA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Rq93cjuk2e4u3iYKsdpFxCtRZYnGVkxigNqf6WLLISA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2963.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Rq93cjuk2e4u3iYKsdpFxCtRZYnGVkxigNqf6WLLISA", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 33634}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Rq93cjuk2e4u3iYKsdpFxCtRZYnGVkxigNqf6WLLISA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2964.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Rq93cjuk2e4u3iYKsdpFxCtRZYnGVkxigNqf6WLLISA"], 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://pinchflat.f2fv7 (truncated) 12:27:19.538 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=6nUMZs9sfh4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/90/15/90158c8fedb5179c63919e4495016261a455e7dacabfd3032fff9bbeffb941b5.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:27:19.612 [debug] Running yt-dlp command for action: download_thumbnail 12:27:19.615 [debug] QUERY OK source="settings" db=0.5ms idle=979.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 [] 12:27:19.616 [debug] QUERY OK source="settings" db=0.5ms idle=249.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 [] 12:27:19.617 [debug] QUERY OK source="settings" db=0.5ms idle=250.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 [] 12:27:19.617 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=6nUMZs9sfh4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3523/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ea/00/ea00a00aa7531faeb941e38a461ef84fd24a08447bf67ee3cc0b639b68cd31cf.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:27:20.819 [info] {"source":"oban","duration":2492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:25.441 [info] GET /.well-known/acme-challenge/wa8kaSmUMKQr0skQU1cplUI-TM2V6rM9j9uU5FC9psY 12:27:25.443 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1075.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 [] 12:27:25.444 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=784.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 [] 12:27:25.444 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:27:25.445 [error] #PID<0.2971.0> running PinchflatWeb.Endpoint (connection #PID<0.2970.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/wa8kaSmUMKQr0skQU1cplUI-TM2V6rM9j9uU5FC9psY ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/wa8kaSmUMKQr0skQU1cplUI-TM2V6rM9j9uU5FC9psY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2970.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/wa8kaSmUMKQr0skQU1cplUI-TM2V6rM9j9uU5FC9psY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 35222}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/wa8kaSmUMKQr0skQU1cplUI-TM2V6rM9j9uU5FC9psY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2971.0>, params: %{}, path_info: [".well-known", "acme-challenge", "wa8kaSmUMKQr0skQU1cplUI-TM2V6rM9j9uU5FC9psY"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/wa8kaSmUMKQr0skQU1cplUI-TM2V6rM9j9uU5FC9psY"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/wa8kaSmUMKQr0skQU1cplUI-TM2V6rM9j9uU5FC9psY", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdAAsseAX9p-EAAD4h"} ], 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.2970.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/wa8kaSmUMKQr0skQU1cplUI-TM2V6rM9j9uU5FC9psY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 35222}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/wa8kaSmUMKQr0skQU1cplUI-TM2V6rM9j9uU5FC9psY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/wa8kaSmUMKQr0skQU1cplUI-TM2V6rM9j9uU5FC9psY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2970.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/wa8kaSmUMKQr0skQU1cplUI-TM2V6rM9j9uU5FC9psY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 35222}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/wa8kaSmUMKQr0skQU1cplUI-TM2V6rM9j9uU5FC9psY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2971.0>, params: %{}, path_info: [".well-known", "acme-challenge", "wa8kaSmUMKQr0skQU1cplUI-TM2V6rM9j9uU5FC9psY"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:27:26.770 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=6nUMZs9sfh4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3523/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ea/00/ea00a00aa7531faeb941e38a461ef84fd24a08447bf67ee3cc0b639b68cd31cf.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:27:26.770 [debug] QUERY OK db=0.0ms idle=1404.6ms begin [] 12:27:26.775 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:27:19Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e041499 - I Made A Ginger-less Penicillin (And It’s Amazing!).mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e041499 - I Made A Ginger-less Penicillin (And It’s Amazing!).info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e041499 - I Made A Ginger-less Penicillin (And It’s Amazing!).nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e041499 - I Made A Ginger-less Penicillin (And It’s Amazing!).mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e041499 - I Made A Ginger-less Penicillin (And It’s Amazing!).en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e041499 - I Made A Ginger-less Penicillin (And It’s Amazing!)-thumb.jpg", ~U[2026-03-28 01:27:26Z], 3523] 12:27:26.778 [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/3523/metadata.json.gz", "/config/metadata/media_items/3523/thumbnail.jpg", 3523, ~U[2026-03-28 01:27:26Z], ~U[2026-03-28 01:27:26Z]] 12:27:26.780 [debug] QUERY OK db=1.6ms commit [] 12:27:26.780 [info] GET /.well-known/acme-challenge/bePpBTJ2dOsHnZW_1vlaL9XTCMlNuMp7kZuykOSOnOI 12:27:26.789 [debug] QUERY OK source="settings" db=8.7ms idle=1337.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 [] 12:27:26.813 [debug] QUERY OK source="media_items" db=18.0ms idle=1131.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [92189572, ~U[2026-03-28 01:27:26Z], 3523] 12:27:26.813 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:27:26.817 [debug] QUERY OK source="settings" db=27.0ms idle=1345.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 [] 12:27:26.817 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:27:26.817 [error] #PID<0.2973.0> running PinchflatWeb.Endpoint (connection #PID<0.2972.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/bePpBTJ2dOsHnZW_1vlaL9XTCMlNuMp7kZuykOSOnOI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/bePpBTJ2dOsHnZW_1vlaL9XTCMlNuMp7kZuykOSOnOI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2972.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/bePpBTJ2dOsHnZW_1vlaL9XTCMlNuMp7kZuykOSOnOI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 35228}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/bePpBTJ2dOsHnZW_1vlaL9XTCMlNuMp7kZuykOSOnOI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2973.0>, params: %{}, path_info: [".well-known", "acme-challenge", "bePpBTJ2dOsHnZW_1vlaL9XTCMlNuMp7kZuykOSOnOI"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/bePpBTJ2dOsHnZW_1vlaL9XTCMlNuMp7kZuykOSOnOI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/bePpBTJ2dOsHnZW_1vlaL9XTCMlNuMp7kZuykOSOnOI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdAFsAIC0oZ9MAAD5B"} ], 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.2972.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/bePpBTJ2dOsHnZW_1vlaL9XTCMlNuMp7kZuykOSOnOI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 35228}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/bePpBTJ2dOsHnZW_1vlaL9XTCMlNuMp7kZuykOSOnOI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/bePpBTJ2dOsHnZW_1vlaL9XTCMlNuMp7kZuykOSOnOI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2972.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/bePpBTJ2dOsHnZW_1vlaL9XTCMlNuMp7kZuykOSOnOI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 35228}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/bePpBTJ2dOsHnZW_1vlaL9XTCMlNuMp7kZuykOSOnOI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2973.0>, params: %{}, path_info: [".well-known", "acme-challenge", "bePpBTJ2dOsHnZW_1vlaL9XTCMlNuMp7kZuykOSOnOI"], 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://pinchflat.f2fv7 (truncated) 12:27:26.830 [info] {"args":{"id":3523},"id":615,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":185615434,"event":"job:stop","queue_time":76524190135,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:27:26.859 [info] {"args":{"id":3529},"id":617,"meta":{},"system_time":1774661246858818705,"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"]} 12:27:26.860 [debug] QUERY OK source="media_items" db=0.3ms idle=69.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" = ?) [3529] 12:27:26.860 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:27:26.861 [debug] QUERY OK source="sources" db=0.3ms idle=47.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" = ?) [4] 12:27:26.861 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=44.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] 12:27:26.863 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=31.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 [3529] 12:27:26.864 [debug] QUERY OK source="media_metadata" db=0.2ms idle=5.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" = ?) [3529] 12:27:26.865 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms 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] 12:27:26.866 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:27:26.866 [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 [] 12:27:26.867 [debug] Running yt-dlp command for action: get_downloadable_status 12:27:26.867 [debug] QUERY OK source="settings" db=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 [] 12:27:26.868 [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 [] 12:27:26.868 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:27:26.868 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=c5pVW8-elWQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/56/60/5660d3523091c99233040ab0caebcd7c1bea0dd3360f512b762a06287977530b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:27:34.687 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=c5pVW8-elWQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/56/60/5660d3523091c99233040ab0caebcd7c1bea0dd3360f512b762a06287977530b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:27:34.687 [debug] Running yt-dlp command for action: download 12:27:34.688 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=996.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 [] 12:27:34.688 [debug] QUERY OK source="settings" db=0.1ms idle=322.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 [] 12:27:34.689 [debug] QUERY OK source="settings" db=0.1ms idle=322.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 [] 12:27:34.689 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=c5pVW8-elWQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/4e/76/4e76d166ed82754856f439eb242c60ead64c2036bd6094909224c05c9a411377.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:27:46.592 [info] GET / 12:27:46.593 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:27:46.594 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=862.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 [] 12:27:46.595 [debug] QUERY OK source="media_profiles" db=0.2ms idle=228.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:27:46.595 [debug] QUERY OK source="sources" db=0.3ms idle=229.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:27:46.628 [debug] QUERY OK source="media_items" db=32.0ms idle=229.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:27:46.631 [debug] QUERY OK source="media_items" db=2.8ms idle=262.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:27:46.632 [debug] QUERY OK source="settings" db=0.2ms idle=37.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 [] 12:27:46.632 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=37.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 [] 12:27:46.634 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=38.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 [] 12:27:46.639 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 12:27:46.640 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:27:46.641 [debug] QUERY OK source="sources" db=0.3ms idle=9.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" IN (?,?)) [6, 2] 12:27:46.701 [debug] QUERY OK source="media_items" db=53.9ms idle=14.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 (((((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:27:46.770 [debug] QUERY OK source="media_items" db=67.9ms idle=68.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:27:46.771 [debug] QUERY OK source="sources" db=0.3ms idle=130.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] 12:27:46.777 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=134.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:27:46.778 [debug] QUERY OK source="media_items" db=0.3ms idle=76.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3526, 3529] 12:27:46.781 [info] Sent 200 in 189ms 12:27:50.822 [info] {"source":"oban","duration":2240,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:00.684 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:28:20.824 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:21.819 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ezg4FlGYars --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fc/91/fc91416b3803ba461764545b9946a6f4499dca267d6139ad4c8c1964aa994de6.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:28:21.943 [debug] Running yt-dlp command for action: download_thumbnail 12:28:21.945 [debug] QUERY OK source="settings" db=0.6ms idle=1576.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 [] 12:28:21.946 [debug] QUERY OK source="settings" db=0.3ms idle=1577.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 [] 12:28:21.946 [debug] QUERY OK source="settings" db=0.4ms idle=1121.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 [] 12:28:21.946 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ezg4FlGYars --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3526/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/0c/06/0c0660e2d964a278a98bf2104b213d71441419a143dc734527593a5e0f9641f0.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:28:29.153 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ezg4FlGYars --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3526/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/0c/06/0c0660e2d964a278a98bf2104b213d71441419a143dc734527593a5e0f9641f0.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:28:29.154 [debug] QUERY OK db=0.0ms idle=1785.8ms begin [] 12:28:29.157 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:28:21Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e040799 - How To Make a Negroni Foam in an Eggshell - the Eggroni!.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e040799 - How To Make a Negroni Foam in an Eggshell - the Eggroni!.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e040799 - How To Make a Negroni Foam in an Eggshell - the Eggroni!.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e040799 - How To Make a Negroni Foam in an Eggshell - the Eggroni!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e040799 - How To Make a Negroni Foam in an Eggshell - the Eggroni!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e040799 - How To Make a Negroni Foam in an Eggshell - the Eggroni!-thumb.jpg", ~U[2026-03-28 01:28:29Z], 3526] 12:28:29.160 [debug] QUERY OK source="media_metadata" db=2.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/3526/metadata.json.gz", "/config/metadata/media_items/3526/thumbnail.jpg", 3526, ~U[2026-03-28 01:28:29Z], ~U[2026-03-28 01:28:29Z]] 12:28:29.166 [debug] QUERY OK db=5.7ms commit [] 12:28:29.177 [debug] QUERY OK source="media_items" db=5.8ms idle=1803.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [78362801, ~U[2026-03-28 01:28:29Z], 3526] 12:28:29.177 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:28:29.179 [info] {"args":{"id":3526},"id":616,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":196665093,"event":"job:stop","queue_time":76570509140,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:28:29.191 [info] {"args":{"id":3531},"id":618,"meta":{},"system_time":1774661309191558317,"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"]} 12:28:29.206 [debug] QUERY OK source="media_items" db=14.4ms idle=284.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" = ?) [3531] 12:28:29.207 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:28:29.208 [debug] QUERY OK source="sources" db=0.9ms idle=40.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" = ?) [4] 12:28:29.209 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=31.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] 12:28:29.211 [debug] QUERY OK source="media_items" db=0.8ms queue=0.3ms idle=31.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 [3531] 12:28:29.214 [debug] QUERY OK source="media_metadata" db=0.4ms queue=0.1ms idle=22.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" = ?) [3531] 12:28:29.215 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=8.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] 12:28:29.217 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms 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 [] 12:28:29.217 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms 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 [] 12:28:29.218 [debug] Running yt-dlp command for action: get_downloadable_status 12:28:29.220 [debug] QUERY OK source="settings" db=0.4ms 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 [] 12:28:29.221 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=6.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 [] 12:28:29.222 [debug] QUERY OK source="settings" db=0.5ms 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 [] 12:28:29.222 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=64JK1lUZCbg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/66/e9/66e9d05bd4b3649d778b35b47a64574b228fbc90fc590bd55a7bf5aeffb1b2c8.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:28:35.878 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=64JK1lUZCbg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/66/e9/66e9d05bd4b3649d778b35b47a64574b228fbc90fc590bd55a7bf5aeffb1b2c8.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:28:35.879 [debug] Running yt-dlp command for action: download 12:28:35.880 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1511.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 [] 12:28:35.881 [debug] QUERY OK source="settings" db=0.3ms idle=1512.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 [] 12:28:35.881 [debug] QUERY OK source="settings" db=0.1ms idle=1513.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 [] 12:28:35.882 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=64JK1lUZCbg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/11/1a/111a6e1cf051c51fd3253e242da7f109d0e364010fd1aa9b4f05b4e18d3d28ed.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:28:47.081 [info] GET / 12:28:47.082 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:28:47.082 [debug] QUERY OK source="settings" db=0.6ms idle=1713.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 [] 12:28:47.083 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1714.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:28:47.085 [debug] QUERY OK source="sources" db=1.3ms queue=0.2ms idle=1715.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:28:47.143 [debug] QUERY OK source="media_items" db=56.8ms queue=0.2ms idle=1113.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:28:47.150 [debug] QUERY OK source="media_items" db=7.0ms idle=167.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:28:47.152 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=68.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 [] 12:28:47.153 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=68.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 [] 12:28:47.154 [debug] QUERY OK source="settings" db=0.6ms idle=68.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 [] 12:28:47.159 [debug] QUERY OK source="media_items" db=3.4ms queue=0.2ms idle=12.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 (NOT (m0."media_filepath" IS NULL)) [] 12:28:47.161 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:28:47.162 [debug] QUERY OK source="sources" db=0.3ms idle=9.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" IN (?,?)) [6, 2] 12:28:47.220 [debug] QUERY OK source="media_items" db=55.1ms idle=11.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 (((((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:28:47.288 [debug] QUERY OK source="media_items" db=67.4ms queue=0.1ms idle=66.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:28:47.290 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=130.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] 12:28:47.295 [debug] QUERY OK source="tasks" db=0.6ms idle=134.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:28:47.297 [debug] QUERY OK source="media_items" db=0.3ms idle=134.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3529, 3531] 12:28:47.301 [info] Sent 200 in 219ms 12:28:48.738 [info] GET /.well-known/acme-challenge/7Ieo6w9j-3VSV7wQIRsZWu9vmE0W1AFG5lWVuCNpWhQ 12:28:48.739 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=759.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 [] 12:28:48.740 [debug] QUERY OK source="settings" db=0.5ms idle=371.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 [] 12:28:48.741 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:28:48.741 [error] #PID<0.2995.0> running PinchflatWeb.Endpoint (connection #PID<0.2994.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/7Ieo6w9j-3VSV7wQIRsZWu9vmE0W1AFG5lWVuCNpWhQ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/7Ieo6w9j-3VSV7wQIRsZWu9vmE0W1AFG5lWVuCNpWhQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2994.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/7Ieo6w9j-3VSV7wQIRsZWu9vmE0W1AFG5lWVuCNpWhQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 46476}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/7Ieo6w9j-3VSV7wQIRsZWu9vmE0W1AFG5lWVuCNpWhQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2995.0>, params: %{}, path_info: [".well-known", "acme-challenge", "7Ieo6w9j-3VSV7wQIRsZWu9vmE0W1AFG5lWVuCNpWhQ"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/7Ieo6w9j-3VSV7wQIRsZWu9vmE0W1AFG5lWVuCNpWhQ"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/7Ieo6w9j-3VSV7wQIRsZWu9vmE0W1AFG5lWVuCNpWhQ", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdE3AQND_ku7MAAEAB"} ], 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.2994.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/7Ieo6w9j-3VSV7wQIRsZWu9vmE0W1AFG5lWVuCNpWhQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 46476}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/7Ieo6w9j-3VSV7wQIRsZWu9vmE0W1AFG5lWVuCNpWhQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/7Ieo6w9j-3VSV7wQIRsZWu9vmE0W1AFG5lWVuCNpWhQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2994.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/7Ieo6w9j-3VSV7wQIRsZWu9vmE0W1AFG5lWVuCNpWhQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 46476}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/7Ieo6w9j-3VSV7wQIRsZWu9vmE0W1AFG5lWVuCNpWhQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2995.0>, params: %{}, path_info: [".well-known", "acme-challenge", "7Ieo6w9j-3VSV7wQIRsZWu9vmE0W1AFG5lWVuCNpWhQ"], 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://pinchflat.f2fv7 (truncated) 12:28:48.997 [info] GET /.well-known/acme-challenge/n3vc0Ema7y00XSRqJg2gxMvriv7TAReGCJyOYuZGNM4 12:28:48.999 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=629.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 [] 12:28:49.000 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=631.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 [] 12:28:49.000 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:28:49.001 [error] #PID<0.2996.0> running PinchflatWeb.Endpoint (connection #PID<0.2992.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/n3vc0Ema7y00XSRqJg2gxMvriv7TAReGCJyOYuZGNM4 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/n3vc0Ema7y00XSRqJg2gxMvriv7TAReGCJyOYuZGNM4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2992.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/n3vc0Ema7y00XSRqJg2gxMvriv7TAReGCJyOYuZGNM4", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 46470}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/n3vc0Ema7y00XSRqJg2gxMvriv7TAReGCJyOYuZGNM4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2996.0>, params: %{}, path_info: [".well-known", "acme-challenge", "n3vc0Ema7y00XSRqJg2gxMvriv7TAReGCJyOYuZGNM4"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/n3vc0Ema7y00XSRqJg2gxMvriv7TAReGCJyOYuZGNM4"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/n3vc0Ema7y00XSRqJg2gxMvriv7TAReGCJyOYuZGNM4", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdE3-KoY0n-S0AAEAh"} ], 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.2992.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/n3vc0Ema7y00XSRqJg2gxMvriv7TAReGCJyOYuZGNM4", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 46470}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/n3vc0Ema7y00XSRqJg2gxMvriv7TAReGCJyOYuZGNM4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/n3vc0Ema7y00XSRqJg2gxMvriv7TAReGCJyOYuZGNM4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2992.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/n3vc0Ema7y00XSRqJg2gxMvriv7TAReGCJyOYuZGNM4", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 46470}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/n3vc0Ema7y00XSRqJg2gxMvriv7TAReGCJyOYuZGNM4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.2996.0>, params: %{}, path_info: [".well-known", "acme-challenge", "n3vc0Ema7y00XSRqJg2gxMvriv7TAReGCJyOYuZGNM4"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:28:50.540 [info] GET /.well-known/acme-challenge/f4-jdCBhem-0LpiqEnDlS0pl4CzKlmZPgT9SXLsvSCg 12:28:50.541 [debug] QUERY OK source="settings" db=0.4ms idle=554.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 [] 12:28:50.542 [debug] QUERY OK source="settings" db=0.3ms idle=173.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 [] 12:28:50.542 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:28:50.543 [error] #PID<0.2997.0> running PinchflatWeb.Endpoint (connection #PID<0.2994.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/f4-jdCBhem-0LpiqEnDlS0pl4CzKlmZPgT9SXLsvSCg ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/f4-jdCBhem-0LpiqEnDlS0pl4CzKlmZPgT9SXLsvSCg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2994.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/f4-jdCBhem-0LpiqEnDlS0pl4CzKlmZPgT9SXLsvSCg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 46476}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/f4-jdCBhem-0LpiqEnDlS0pl4CzKlmZPgT9SXLsvSCg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2997.0>, params: %{}, path_info: [".well-known", "acme-challenge", "f4-jdCBhem-0LpiqEnDlS0pl4CzKlmZPgT9SXLsvSCg"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/f4-jdCBhem-0LpiqEnDlS0pl4CzKlmZPgT9SXLsvSCg"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/f4-jdCBhem-0LpiqEnDlS0pl4CzKlmZPgT9SXLsvSCg", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdE9t-ZFmskokAAEBB"} ], 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.2994.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/f4-jdCBhem-0LpiqEnDlS0pl4CzKlmZPgT9SXLsvSCg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 46476}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/f4-jdCBhem-0LpiqEnDlS0pl4CzKlmZPgT9SXLsvSCg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/f4-jdCBhem-0LpiqEnDlS0pl4CzKlmZPgT9SXLsvSCg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2994.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/f4-jdCBhem-0LpiqEnDlS0pl4CzKlmZPgT9SXLsvSCg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 46476}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/f4-jdCBhem-0LpiqEnDlS0pl4CzKlmZPgT9SXLsvSCg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.2997.0>, params: %{}, path_info: [".well-known", "acme-challenge", "f4-jdCBhem-0LpiqEnDlS0pl4CzKlmZPgT9SXLsvSCg"], 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://pinchflat.f2fv7 (truncated) 12:28:50.827 [info] {"source":"oban","duration":2591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:00.686 [info] {"source":"oban","duration":495,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:29:10.195 [info] GET /.well-known/acme-challenge/6ni3Sy1Qhlgq2ikCTqmMoC4d4rYCSm_zqcuN0Zf6Qog 12:29:10.196 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1827.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 [] 12:29:10.197 [debug] QUERY OK source="settings" db=0.1ms idle=1828.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 [] 12:29:10.197 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:29:10.197 [error] #PID<0.3001.0> running PinchflatWeb.Endpoint (connection #PID<0.3000.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/6ni3Sy1Qhlgq2ikCTqmMoC4d4rYCSm_zqcuN0Zf6Qog ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/6ni3Sy1Qhlgq2ikCTqmMoC4d4rYCSm_zqcuN0Zf6Qog (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3000.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6ni3Sy1Qhlgq2ikCTqmMoC4d4rYCSm_zqcuN0Zf6Qog", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 55358}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/6ni3Sy1Qhlgq2ikCTqmMoC4d4rYCSm_zqcuN0Zf6Qog", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3001.0>, params: %{}, path_info: [".well-known", "acme-challenge", "6ni3Sy1Qhlgq2ikCTqmMoC4d4rYCSm_zqcuN0Zf6Qog"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/6ni3Sy1Qhlgq2ikCTqmMoC4d4rYCSm_zqcuN0Zf6Qog"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/6ni3Sy1Qhlgq2ikCTqmMoC4d4rYCSm_zqcuN0Zf6Qog", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdGG7-7FyVJjAAAEBh"} ], 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.3000.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6ni3Sy1Qhlgq2ikCTqmMoC4d4rYCSm_zqcuN0Zf6Qog", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 55358}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/6ni3Sy1Qhlgq2ikCTqmMoC4d4rYCSm_zqcuN0Zf6Qog", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/6ni3Sy1Qhlgq2ikCTqmMoC4d4rYCSm_zqcuN0Zf6Qog (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3000.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6ni3Sy1Qhlgq2ikCTqmMoC4d4rYCSm_zqcuN0Zf6Qog", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 55358}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/6ni3Sy1Qhlgq2ikCTqmMoC4d4rYCSm_zqcuN0Zf6Qog", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3001.0>, params: %{}, path_info: [".well-known", "acme-challenge", "6ni3Sy1Qhlgq2ikCTqmMoC4d4rYCSm_zqcuN0Zf6Qog"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:29:12.328 [info] GET /.well-known/acme-challenge/dO2dB_yy-DV7X40WJo7ew9Ab2CsTZuBk0kKhXezhRYI 12:29:12.330 [debug] QUERY OK source="settings" db=1.5ms idle=1960.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 [] 12:29:12.330 [debug] QUERY OK source="settings" db=0.4ms idle=1255.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 [] 12:29:12.331 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:29:12.331 [error] #PID<0.3003.0> running PinchflatWeb.Endpoint (connection #PID<0.3002.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/dO2dB_yy-DV7X40WJo7ew9Ab2CsTZuBk0kKhXezhRYI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/dO2dB_yy-DV7X40WJo7ew9Ab2CsTZuBk0kKhXezhRYI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3002.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/dO2dB_yy-DV7X40WJo7ew9Ab2CsTZuBk0kKhXezhRYI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55374}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/dO2dB_yy-DV7X40WJo7ew9Ab2CsTZuBk0kKhXezhRYI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3003.0>, params: %{}, path_info: [".well-known", "acme-challenge", "dO2dB_yy-DV7X40WJo7ew9Ab2CsTZuBk0kKhXezhRYI"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/dO2dB_yy-DV7X40WJo7ew9Ab2CsTZuBk0kKhXezhRYI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/dO2dB_yy-DV7X40WJo7ew9Ab2CsTZuBk0kKhXezhRYI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdGO4hsuwEzbUAAECB"} ], 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.3002.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/dO2dB_yy-DV7X40WJo7ew9Ab2CsTZuBk0kKhXezhRYI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55374}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/dO2dB_yy-DV7X40WJo7ew9Ab2CsTZuBk0kKhXezhRYI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/dO2dB_yy-DV7X40WJo7ew9Ab2CsTZuBk0kKhXezhRYI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3002.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/dO2dB_yy-DV7X40WJo7ew9Ab2CsTZuBk0kKhXezhRYI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 55374}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/dO2dB_yy-DV7X40WJo7ew9Ab2CsTZuBk0kKhXezhRYI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3003.0>, params: %{}, path_info: [".well-known", "acme-challenge", "dO2dB_yy-DV7X40WJo7ew9Ab2CsTZuBk0kKhXezhRYI"], 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://pinchflat.f2fv7 (truncated) 12:29:20.831 [info] {"source":"oban","duration":2499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:20.889 [info] GET /.well-known/acme-challenge/bhfJ6k8QyA4vNR-1qk3CoHibPqFHazeT3ZOztq6TWGI 12:29:20.890 [debug] QUERY OK source="settings" db=0.6ms idle=1521.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 [] 12:29:20.891 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1522.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 [] 12:29:20.892 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:29:20.892 [error] #PID<0.3006.0> running PinchflatWeb.Endpoint (connection #PID<0.3005.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/bhfJ6k8QyA4vNR-1qk3CoHibPqFHazeT3ZOztq6TWGI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/bhfJ6k8QyA4vNR-1qk3CoHibPqFHazeT3ZOztq6TWGI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/bhfJ6k8QyA4vNR-1qk3CoHibPqFHazeT3ZOztq6TWGI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 43536}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/bhfJ6k8QyA4vNR-1qk3CoHibPqFHazeT3ZOztq6TWGI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3006.0>, params: %{}, path_info: [".well-known", "acme-challenge", "bhfJ6k8QyA4vNR-1qk3CoHibPqFHazeT3ZOztq6TWGI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/bhfJ6k8QyA4vNR-1qk3CoHibPqFHazeT3ZOztq6TWGI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/bhfJ6k8QyA4vNR-1qk3CoHibPqFHazeT3ZOztq6TWGI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdGuxm_0Z2YgMAAAWj"} ], 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.3005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/bhfJ6k8QyA4vNR-1qk3CoHibPqFHazeT3ZOztq6TWGI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 43536}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/bhfJ6k8QyA4vNR-1qk3CoHibPqFHazeT3ZOztq6TWGI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/bhfJ6k8QyA4vNR-1qk3CoHibPqFHazeT3ZOztq6TWGI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/bhfJ6k8QyA4vNR-1qk3CoHibPqFHazeT3ZOztq6TWGI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 43536}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/bhfJ6k8QyA4vNR-1qk3CoHibPqFHazeT3ZOztq6TWGI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3006.0>, params: %{}, path_info: [".well-known", "acme-challenge", "bhfJ6k8QyA4vNR-1qk3CoHibPqFHazeT3ZOztq6TWGI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:29:21.113 [info] GET /.well-known/acme-challenge/VCFDroaBotZSGsWjakVa4DLTpf6zJo3plMJQq0g__FU 12:29:21.114 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1004.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 [] 12:29:21.115 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=283.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 [] 12:29:21.115 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:29:21.115 [error] #PID<0.3007.0> running PinchflatWeb.Endpoint (connection #PID<0.3005.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/VCFDroaBotZSGsWjakVa4DLTpf6zJo3plMJQq0g__FU ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/VCFDroaBotZSGsWjakVa4DLTpf6zJo3plMJQq0g__FU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/VCFDroaBotZSGsWjakVa4DLTpf6zJo3plMJQq0g__FU", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 43536}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/VCFDroaBotZSGsWjakVa4DLTpf6zJo3plMJQq0g__FU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3007.0>, params: %{}, path_info: [".well-known", "acme-challenge", "VCFDroaBotZSGsWjakVa4DLTpf6zJo3plMJQq0g__FU"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/VCFDroaBotZSGsWjakVa4DLTpf6zJo3plMJQq0g__FU"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/VCFDroaBotZSGsWjakVa4DLTpf6zJo3plMJQq0g__FU", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdGvnFZa8kkcEAAECh"} ], 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.3005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/VCFDroaBotZSGsWjakVa4DLTpf6zJo3plMJQq0g__FU", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 43536}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/VCFDroaBotZSGsWjakVa4DLTpf6zJo3plMJQq0g__FU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/VCFDroaBotZSGsWjakVa4DLTpf6zJo3plMJQq0g__FU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/VCFDroaBotZSGsWjakVa4DLTpf6zJo3plMJQq0g__FU", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 43536}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/VCFDroaBotZSGsWjakVa4DLTpf6zJo3plMJQq0g__FU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3007.0>, params: %{}, path_info: [".well-known", "acme-challenge", "VCFDroaBotZSGsWjakVa4DLTpf6zJo3plMJQq0g__FU"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:29:21.782 [info] GET /.well-known/acme-challenge/B-rcCuy4Ks6TTMRw1kzYJ-WtugtvTwmVAyQRtGUkGsI 12:29:21.784 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=892.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 [] 12:29:21.784 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=892.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 [] 12:29:21.785 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:29:21.785 [error] #PID<0.3009.0> running PinchflatWeb.Endpoint (connection #PID<0.3008.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/B-rcCuy4Ks6TTMRw1kzYJ-WtugtvTwmVAyQRtGUkGsI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/B-rcCuy4Ks6TTMRw1kzYJ-WtugtvTwmVAyQRtGUkGsI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3008.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/B-rcCuy4Ks6TTMRw1kzYJ-WtugtvTwmVAyQRtGUkGsI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 43542}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/B-rcCuy4Ks6TTMRw1kzYJ-WtugtvTwmVAyQRtGUkGsI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3009.0>, params: %{}, path_info: [".well-known", "acme-challenge", "B-rcCuy4Ks6TTMRw1kzYJ-WtugtvTwmVAyQRtGUkGsI"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/B-rcCuy4Ks6TTMRw1kzYJ-WtugtvTwmVAyQRtGUkGsI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/B-rcCuy4Ks6TTMRw1kzYJ-WtugtvTwmVAyQRtGUkGsI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdGyGtbG0iTzcAAEDB"} ], 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.3008.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/B-rcCuy4Ks6TTMRw1kzYJ-WtugtvTwmVAyQRtGUkGsI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 43542}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/B-rcCuy4Ks6TTMRw1kzYJ-WtugtvTwmVAyQRtGUkGsI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/B-rcCuy4Ks6TTMRw1kzYJ-WtugtvTwmVAyQRtGUkGsI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3008.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/B-rcCuy4Ks6TTMRw1kzYJ-WtugtvTwmVAyQRtGUkGsI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 43542}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/B-rcCuy4Ks6TTMRw1kzYJ-WtugtvTwmVAyQRtGUkGsI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3009.0>, params: %{}, path_info: [".well-known", "acme-challenge", "B-rcCuy4Ks6TTMRw1kzYJ-WtugtvTwmVAyQRtGUkGsI"], 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://pinchflat.f2fv7 (truncated) 12:29:29.239 [info] GET /.well-known/acme-challenge/eguKSkwvL32AwkwVFCdM6FU-wUoLWp9Qrq7MlSlNqvk 12:29:29.241 [debug] QUERY OK source="settings" db=0.7ms idle=1872.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 [] 12:29:29.242 [debug] QUERY OK source="settings" db=0.4ms idle=1108.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 [] 12:29:29.242 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:29:29.242 [error] #PID<0.3013.0> running PinchflatWeb.Endpoint (connection #PID<0.3012.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/eguKSkwvL32AwkwVFCdM6FU-wUoLWp9Qrq7MlSlNqvk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/eguKSkwvL32AwkwVFCdM6FU-wUoLWp9Qrq7MlSlNqvk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3012.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/eguKSkwvL32AwkwVFCdM6FU-wUoLWp9Qrq7MlSlNqvk", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54888}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/eguKSkwvL32AwkwVFCdM6FU-wUoLWp9Qrq7MlSlNqvk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3013.0>, params: %{}, path_info: [".well-known", "acme-challenge", "eguKSkwvL32AwkwVFCdM6FU-wUoLWp9Qrq7MlSlNqvk"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/eguKSkwvL32AwkwVFCdM6FU-wUoLWp9Qrq7MlSlNqvk"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/eguKSkwvL32AwkwVFCdM6FU-wUoLWp9Qrq7MlSlNqvk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdHN4kGGvW_DEAAAXj"} ], 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.3012.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/eguKSkwvL32AwkwVFCdM6FU-wUoLWp9Qrq7MlSlNqvk", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54888}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/eguKSkwvL32AwkwVFCdM6FU-wUoLWp9Qrq7MlSlNqvk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/eguKSkwvL32AwkwVFCdM6FU-wUoLWp9Qrq7MlSlNqvk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3012.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/eguKSkwvL32AwkwVFCdM6FU-wUoLWp9Qrq7MlSlNqvk", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54888}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/eguKSkwvL32AwkwVFCdM6FU-wUoLWp9Qrq7MlSlNqvk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3013.0>, params: %{}, path_info: [".well-known", "acme-challenge", "eguKSkwvL32AwkwVFCdM6FU-wUoLWp9Qrq7MlSlNqvk"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:29:31.053 [info] GET /.well-known/acme-challenge/v_1_C_HeP6BPYgx6dgclEaVosnMbwvsxALVSByq2M3A 12:29:31.055 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms idle=914.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 [] 12:29:31.056 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=686.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 [] 12:29:31.056 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:29:31.057 [error] #PID<0.3015.0> running PinchflatWeb.Endpoint (connection #PID<0.3014.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/v_1_C_HeP6BPYgx6dgclEaVosnMbwvsxALVSByq2M3A ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/v_1_C_HeP6BPYgx6dgclEaVosnMbwvsxALVSByq2M3A (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3014.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/v_1_C_HeP6BPYgx6dgclEaVosnMbwvsxALVSByq2M3A", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 54898}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/v_1_C_HeP6BPYgx6dgclEaVosnMbwvsxALVSByq2M3A", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3015.0>, params: %{}, path_info: [".well-known", "acme-challenge", "v_1_C_HeP6BPYgx6dgclEaVosnMbwvsxALVSByq2M3A"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/v_1_C_HeP6BPYgx6dgclEaVosnMbwvsxALVSByq2M3A"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/v_1_C_HeP6BPYgx6dgclEaVosnMbwvsxALVSByq2M3A", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdHUo5obgB7HQAAEDh"} ], 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.3014.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/v_1_C_HeP6BPYgx6dgclEaVosnMbwvsxALVSByq2M3A", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 54898}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/v_1_C_HeP6BPYgx6dgclEaVosnMbwvsxALVSByq2M3A", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/v_1_C_HeP6BPYgx6dgclEaVosnMbwvsxALVSByq2M3A (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3014.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/v_1_C_HeP6BPYgx6dgclEaVosnMbwvsxALVSByq2M3A", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 54898}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/v_1_C_HeP6BPYgx6dgclEaVosnMbwvsxALVSByq2M3A", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3015.0>, params: %{}, path_info: [".well-known", "acme-challenge", "v_1_C_HeP6BPYgx6dgclEaVosnMbwvsxALVSByq2M3A"], 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://pinchflat.f2fv7 (truncated) 12:29:47.564 [info] GET / 12:29:47.565 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:29:47.566 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1197.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 [] 12:29:47.567 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1198.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:29:47.567 [debug] QUERY OK source="sources" db=0.1ms idle=1199.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:29:47.595 [debug] QUERY OK source="media_items" db=27.7ms idle=1199.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:29:47.609 [debug] QUERY OK source="media_items" db=12.9ms queue=0.1ms idle=412.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:29:47.611 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=43.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 [] 12:29:47.612 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=44.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 [] 12:29:47.614 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=45.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 [] 12:29:47.622 [debug] QUERY OK source="media_items" db=5.8ms idle=20.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 (NOT (m0."media_filepath" IS NULL)) [] 12:29:47.623 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=13.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:29:47.625 [debug] QUERY OK source="sources" db=0.4ms idle=13.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" IN (?,?)) [6, 2] 12:29:47.712 [debug] QUERY OK source="media_items" db=79.8ms queue=0.1ms idle=19.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 (((((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:29:47.802 [debug] QUERY OK source="media_items" db=88.8ms queue=0.2ms idle=98.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:29:47.803 [debug] QUERY OK source="sources" db=0.3ms idle=180.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] 12:29:47.809 [debug] QUERY OK source="tasks" db=0.7ms idle=184.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:29:47.810 [debug] QUERY OK source="media_items" db=0.4ms idle=184.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3529, 3531] 12:29:47.813 [info] Sent 200 in 248ms 12:29:50.836 [info] {"source":"oban","duration":3634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:52.219 [info] {"args":{"id":3},"id":1662,"meta":{},"system_time":1774661392218725749,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:29:52.221 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=851.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" = ?) [3] 12:29:52.231 [debug] QUERY OK source="settings" db=8.7ms queue=0.1ms idle=853.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 [] 12:29:52.247 [debug] QUERY OK source="media_profiles" db=15.6ms queue=0.1ms idle=863.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] 12:29:52.264 [debug] QUERY OK source="settings" db=16.0ms queue=0.1ms idle=46.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 [] 12:29:52.264 [debug] Fetching recent media IDs from YouTube API for playlist: UUwnKziETDbHJtx78nIkfYug 12:29:52.265 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=46.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 [] 12:29:52.265 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:29:53.044 [debug] QUERY OK source="media_items" db=2.4ms queue=0.2ms idle=820.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "QtpFa0LdXEY", "8Rv4wwcQ89Y", "2cRKv1oqyX8", "mQfQwLW6CNw", "y0TZuhNixNk", "GZ7wE3XOwFU", "-aRdX-kZ9g4", "99bldMr1byI", "EzCiEv1IqiA", "mC5NdpSMDks", "ccV3u3D9ONE", "cVCDjEfPzII", "n0X2rqzKTgM", "dcuCvRNqmpY", "GG1qX8jHKGo", "k9wkleHFvo0", "CWoYVlMuUNQ", "xlfeieH4z38", "eZM2Ik-FHEU", "CtcTG8-qzbA", "6Mmj7mf1qlg", "InwVO9qBjqs", "1Hp-W2bpPrw", "VtE5sTpkn7k", "8dOJypt2F70", "Evm4t4prtWo", "taLzgvbrnv0", "rgCrnyf5JEI", "PHhc-48JT3U", "vFKjpNNjNGw", "VJQlOI70ubw", "E5cfNq0DO90", "DNBGSsZatbY", "pna1NyaHTls", "CUHao-vA98g", "cPN9BJe_RQw", "rCBt4XgCX-0", "f4g6KKGMmEI", "P_I5Jsc3xRw", "fPaU2l7RktM", "0PVwt01b6fs", "0qMDM4Y4Hwo", "Ld285PDsHvs", "p1mQC71wplA", "9k5JhKK6WlA", "WPxrifmtlQI", "nVNBmK7a1y8", "QDnMYztaxfI", "gxsaWhXG1Gg", ...] 12:29:53.056 [debug] QUERY OK source="media_items" db=9.2ms queue=0.1ms idle=815.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 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] 12:29:53.060 [debug] QUERY OK source="tasks" db=0.7ms idle=794.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1668, 3, ~U[2026-03-28 01:29:53Z], ~U[2026-03-28 01:29:53Z]] 12:29:53.061 [info] {"args":{"id":3},"id":1662,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":842018,"event":"job:stop","queue_time":408369,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:30:00.688 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:30:20.840 [info] {"source":"oban","duration":2054,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:34.362 [info] {"args":{"id":2},"id":1663,"meta":{},"system_time":1774661434362251565,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:30:34.363 [debug] QUERY OK source="sources" db=0.3ms idle=1994.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" = ?) [2] 12:30:34.364 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1995.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 [] 12:30:34.365 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1011.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] 12:30:34.365 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:30:34.365 [debug] Fetching recent media IDs from YouTube API for playlist: UUjzi56cxvmEDwjo1Bd2Yxpg 12:30:34.366 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms 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 [] 12:30:34.366 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:30:36.914 [debug] QUERY OK source="media_items" db=2.6ms idle=1542.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "Hw2_s31u_4Q", "b4x9IzQtiA0", "16aM5Bop7Qw", "3hBk9xqT9hs", "xDa45wnAzc8", "Yq41acIvzj8", "Ttn_Q1B2ALc", "-bV0F6OP31U", "qAstyiKRt10", "NF2StvrYme0", "_Q-2UzYr3AA", "FeEEy3jZvlM", "EHaNwda0xto", "KL0u63mAy5M", "fzklfnO42ts", "oZ4kddHCFVY", "spSOp5s_6_A", "C48yl9fSYv8", "654RgtNwXZ8", "4wu_B_XF6wk", "wFLJxWyDJPs", "J5NKnYfn6qw", "fcVRuF6c-bc", "xNAFpSnpqjs", "cavmWZnCeJI", "_J0gQ5GdUSk", "_oISg668F40", "v34wa9QhF0s", "iEen_cClzkg", "CD9wUM2v-0U", "E8k9oqjl5_E", "lQDUMfg_SJc", "pPMD0YPBHQ4", "qq1IN4umTI8", "L63goFhe8KM", "5OXvwQ3CB1I", "doZvHBPoVCw", "9SXMTDO4lIo", "8JmSUN8jp3Q", "7oSgaaUEjZM", "sKSPwnFSRCw", "gdY_Q9ltw8w", "uHbviTslBFY", "gMzXgYFT4Ck", "NdsMuD-_5To", "9JXltNRqLu4", "7ThBvLBMacw", "7BTWa3jFBMw", "U2LsOO1upXY", ...] 12:30:36.968 [debug] QUERY OK source="media_items" db=50.7ms queue=0.1ms idle=1549.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 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] 12:30:36.976 [debug] QUERY OK source="tasks" db=0.4ms idle=61.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1669, 2, ~U[2026-03-28 01:30:36Z], ~U[2026-03-28 01:30:36Z]] 12:30:36.984 [info] {"args":{"id":2},"id":1663,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":2614466,"event":"job:stop","queue_time":69984,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:30:47.746 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=c5pVW8-elWQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/4e/76/4e76d166ed82754856f439eb242c60ead64c2036bd6094909224c05c9a411377.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:30:48.024 [info] GET / 12:30:48.024 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:30:48.026 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1656.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 [] 12:30:48.027 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1658.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:30:48.027 [debug] QUERY OK source="sources" db=0.2ms idle=1658.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:30:48.083 [debug] QUERY OK source="media_items" db=55.6ms idle=1639.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:30:48.087 [debug] QUERY OK source="media_items" db=3.1ms queue=0.2ms idle=692.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:30:48.088 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=61.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 [] 12:30:48.089 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=61.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 [] 12:30:48.090 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=62.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 [] 12:30:48.097 [debug] QUERY OK source="media_items" db=3.7ms queue=0.2ms idle=10.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 (NOT (m0."media_filepath" IS NULL)) [] 12:30:48.098 [debug] QUERY OK source="media_items" db=0.8ms queue=0.2ms idle=10.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:30:48.099 [debug] QUERY OK source="sources" db=0.3ms idle=11.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" IN (?,?)) [6, 2] 12:30:48.184 [debug] QUERY OK source="media_items" db=78.1ms idle=17.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 (((((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:30:48.241 [debug] Running yt-dlp command for action: download_thumbnail 12:30:48.247 [debug] QUERY OK source="settings" db=1.7ms idle=148.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 [] 12:30:48.249 [debug] QUERY OK source="settings" db=1.1ms idle=148.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 [] 12:30:48.249 [debug] QUERY OK source="settings" db=0.7ms idle=149.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 [] 12:30:48.250 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=c5pVW8-elWQ --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3529/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/87/f3/87f33922026593b274af2a51d27b3df18265f7b6cfa8a64d9f94e9e31ffcda8a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:30:48.254 [debug] QUERY OK source="media_items" db=69.2ms idle=94.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:30:48.255 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=70.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] 12:30:48.262 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=14.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:30:48.264 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=14.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3529, 3531] 12:30:48.268 [info] Sent 200 in 244ms 12:30:50.844 [info] {"source":"oban","duration":2825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:53.129 [info] GET /.well-known/acme-challenge/GckueUkYbgSJklAH-y__FxFmPsUnw-zuxt96KV06QmE 12:30:53.131 [debug] QUERY OK source="settings" db=1.8ms queue=0.1ms idle=1761.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 [] 12:30:53.132 [debug] QUERY OK source="settings" db=0.3ms idle=1763.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 [] 12:30:53.132 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:30:53.133 [error] #PID<0.3036.0> running PinchflatWeb.Endpoint (connection #PID<0.3035.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/GckueUkYbgSJklAH-y__FxFmPsUnw-zuxt96KV06QmE ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/GckueUkYbgSJklAH-y__FxFmPsUnw-zuxt96KV06QmE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3035.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/GckueUkYbgSJklAH-y__FxFmPsUnw-zuxt96KV06QmE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 37532}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/GckueUkYbgSJklAH-y__FxFmPsUnw-zuxt96KV06QmE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3036.0>, params: %{}, path_info: [".well-known", "acme-challenge", "GckueUkYbgSJklAH-y__FxFmPsUnw-zuxt96KV06QmE"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/GckueUkYbgSJklAH-y__FxFmPsUnw-zuxt96KV06QmE"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/GckueUkYbgSJklAH-y__FxFmPsUnw-zuxt96KV06QmE", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdMGZWISANfIgAAEMB"} ], 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.3035.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/GckueUkYbgSJklAH-y__FxFmPsUnw-zuxt96KV06QmE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 37532}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/GckueUkYbgSJklAH-y__FxFmPsUnw-zuxt96KV06QmE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/GckueUkYbgSJklAH-y__FxFmPsUnw-zuxt96KV06QmE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3035.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/GckueUkYbgSJklAH-y__FxFmPsUnw-zuxt96KV06QmE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 37532}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/GckueUkYbgSJklAH-y__FxFmPsUnw-zuxt96KV06QmE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3036.0>, params: %{}, path_info: [".well-known", "acme-challenge", "GckueUkYbgSJklAH-y__FxFmPsUnw-zuxt96KV06QmE"], 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://pinchflat.f2fv7 (truncated) 12:30:53.826 [info] GET /.well-known/acme-challenge/roA07k3zH9414r0KJymy3LaLgYpgeBldZP9zmk8Ft_8 12:30:53.828 [debug] QUERY OK source="settings" db=0.8ms queue=0.3ms idle=1419.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 [] 12:30:53.829 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=696.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 [] 12:30:53.829 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:30:53.830 [error] #PID<0.3038.0> running PinchflatWeb.Endpoint (connection #PID<0.3037.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/roA07k3zH9414r0KJymy3LaLgYpgeBldZP9zmk8Ft_8 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/roA07k3zH9414r0KJymy3LaLgYpgeBldZP9zmk8Ft_8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3037.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/roA07k3zH9414r0KJymy3LaLgYpgeBldZP9zmk8Ft_8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37534}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/roA07k3zH9414r0KJymy3LaLgYpgeBldZP9zmk8Ft_8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3038.0>, params: %{}, path_info: [".well-known", "acme-challenge", "roA07k3zH9414r0KJymy3LaLgYpgeBldZP9zmk8Ft_8"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/roA07k3zH9414r0KJymy3LaLgYpgeBldZP9zmk8Ft_8"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/roA07k3zH9414r0KJymy3LaLgYpgeBldZP9zmk8Ft_8", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdMI_ijj7CfpIAAEMh"} ], 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.3037.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/roA07k3zH9414r0KJymy3LaLgYpgeBldZP9zmk8Ft_8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37534}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/roA07k3zH9414r0KJymy3LaLgYpgeBldZP9zmk8Ft_8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/roA07k3zH9414r0KJymy3LaLgYpgeBldZP9zmk8Ft_8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3037.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/roA07k3zH9414r0KJymy3LaLgYpgeBldZP9zmk8Ft_8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37534}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/roA07k3zH9414r0KJymy3LaLgYpgeBldZP9zmk8Ft_8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3038.0>, params: %{}, path_info: [".well-known", "acme-challenge", "roA07k3zH9414r0KJymy3LaLgYpgeBldZP9zmk8Ft_8"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:30:56.260 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=c5pVW8-elWQ --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3529/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/87/f3/87f33922026593b274af2a51d27b3df18265f7b6cfa8a64d9f94e9e31ffcda8a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:30:56.261 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1849.0ms begin [] 12:30:56.267 [debug] QUERY OK source="media_items" db=4.8ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:30:47Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e033199 - How to Make A Non-Alcoholic Bourbon and Old Fashioned.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e033199 - How to Make A Non-Alcoholic Bourbon and Old Fashioned.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e033199 - How to Make A Non-Alcoholic Bourbon and Old Fashioned.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e033199 - How to Make A Non-Alcoholic Bourbon and Old Fashioned.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e033199 - How to Make A Non-Alcoholic Bourbon and Old Fashioned.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e033199 - How to Make A Non-Alcoholic Bourbon and Old Fashioned-thumb.jpg", ~U[2026-03-28 01:30:56Z], 3529] 12:30:56.274 [debug] QUERY OK source="media_metadata" db=6.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/3529/metadata.json.gz", "/config/metadata/media_items/3529/thumbnail.jpg", 3529, ~U[2026-03-28 01:30:56Z], ~U[2026-03-28 01:30:56Z]] 12:30:56.275 [debug] QUERY OK db=1.3ms commit [] 12:30:56.311 [debug] QUERY OK source="media_items" db=6.2ms idle=936.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [83141317, ~U[2026-03-28 01:30:56Z], 3529] 12:30:56.311 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:30:56.319 [info] {"args":{"id":3529},"id":617,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":209452877,"event":"job:stop","queue_time":76698837045,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:30:56.326 [info] {"args":{"id":3533},"id":619,"meta":{},"system_time":1774661456326549852,"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"]} 12:30:56.327 [debug] QUERY OK source="media_items" db=0.3ms idle=908.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" = ?) [3533] 12:30:56.327 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:30:56.340 [debug] QUERY OK source="sources" db=12.4ms queue=0.1ms idle=52.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" = ?) [4] 12:30:56.341 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=29.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] 12:30:56.342 [debug] QUERY OK source="media_items" db=0.8ms idle=22.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 [3533] 12:30:56.346 [debug] QUERY OK source="media_metadata" db=0.2ms idle=20.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" = ?) [3533] 12:30:56.347 [debug] QUERY OK source="media_profiles" db=0.4ms idle=19.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] 12:30:56.347 [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 [] 12:30:56.348 [debug] QUERY OK source="settings" db=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 [] 12:30:56.348 [debug] Running yt-dlp command for action: get_downloadable_status 12:30:56.349 [debug] QUERY OK source="settings" db=0.2ms idle=6.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 [] 12:30:56.350 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:30:56.350 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:30:56.350 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=aT-mA8NUkV0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/14/a6/14a61e6a3c14b3923f0915acd7d918745781694c198a98f4daff39a0c1cb67a4.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:30:58.436 [info] {"args":{"id":4},"id":1664,"meta":{},"system_time":1774661458436609258,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:30:58.437 [debug] QUERY OK source="sources" db=0.6ms idle=1068.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" = ?) [4] 12:30:58.438 [debug] QUERY OK source="settings" db=0.5ms 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 [] 12:30:58.439 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1014.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] 12:30:58.440 [debug] QUERY OK source="settings" db=0.4ms 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 [] 12:30:58.440 [debug] Fetching recent media IDs from YouTube API for playlist: UUEiui9T4ZYx8K8nuZ5YFSTw 12:30:58.440 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:30:58.440 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:30:59.044 [debug] QUERY OK source="media_items" db=3.4ms idle=602.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [4, "gthI7e6zPWo", "psRX1C7auj8", "2ZtSRjGhStw", "Z8KiNkDP9c4", "AZibPvCnG4k", "QXNPI7Ucivo", "WtxCD4567G4", "80bkfWoOHaE", "pYBAEGrhggM", "9M3wLySdGXY", "mcvbD_Ipbf8", "E_Y7kLO3Iaw", "gPdh5lVJYD0", "qrkTK1UcvSM", "45UcuOLjxeY", "gnbhO9hJ198", "fiFzXo1wNno", "TM5mKkwC0Ok", "kS2A72peqmg", "ueDcEpRFW_M", "AN4-pHYBK2M", "TMNa6ocIv8o", "S1Vt1tQJczE", "_BEmUjtwhLw", "1bxoWiQ2AQY", "CZeRfNeKEBE", "2nftRe3tjLQ", "v1biAguVbg8", "cLDsQImoeHQ", "hhH7mchDBXY", "uQj2W5ej104", "vYRV_nprXBA", "1v_qsQL3mo8", "hfHxFTbVaTo", "mfWqziOaR4A", "AmCWMmKgHkI", "ZWgq-s8r2FE", "1dAkTDsD1c4", "ozdDp_eMPZY", "iHogtXxywLQ", "7ysd04ltGag", "5jq8kH9s0V8", "AB6bC9gtfoc", "R7Tm3zvyy9U", "dUHzocz0hLo", "9Oh6oVrf7kM", "LzUhByZ4jtc", "j7evpR_Fbsw", "_iGhJt3ah8E", ...] 12:30:59.068 [debug] QUERY OK source="media_items" db=17.6ms queue=0.2ms idle=611.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 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] 12:30:59.328 [debug] QUERY OK source="tasks" db=0.4ms idle=3.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1670, 4, ~U[2026-03-28 01:30:59Z], ~U[2026-03-28 01:30:59Z]] 12:30:59.329 [info] {"args":{"id":4},"id":1664,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":892130,"event":"job:stop","queue_time":338456,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:31:00.689 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:31:02.913 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=aT-mA8NUkV0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/14/a6/14a61e6a3c14b3923f0915acd7d918745781694c198a98f4daff39a0c1cb67a4.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:31:02.913 [debug] Running yt-dlp command for action: download 12:31:02.914 [debug] QUERY OK source="settings" db=0.6ms idle=545.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 [] 12:31:02.915 [debug] QUERY OK source="settings" db=0.4ms idle=546.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 [] 12:31:02.916 [debug] QUERY OK source="settings" db=0.4ms idle=547.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 [] 12:31:02.916 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=aT-mA8NUkV0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/24/70/24702b84dd33f8d71fd62aeaf7998f320072f06a48b2c5011d9ce50516550d1d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:31:14.320 [info] GET /.well-known/acme-challenge/jZ6PpfObmyrGdO8XvSpbfqw_7tBW5O2UccL-YJHhlb8 12:31:14.321 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1952.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 [] 12:31:14.323 [debug] QUERY OK source="settings" db=0.9ms queue=0.3ms idle=1953.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 [] 12:31:14.324 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:31:14.326 [error] #PID<0.3046.0> running PinchflatWeb.Endpoint (connection #PID<0.3045.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/jZ6PpfObmyrGdO8XvSpbfqw_7tBW5O2UccL-YJHhlb8 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/jZ6PpfObmyrGdO8XvSpbfqw_7tBW5O2UccL-YJHhlb8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3045.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/jZ6PpfObmyrGdO8XvSpbfqw_7tBW5O2UccL-YJHhlb8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50636}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/jZ6PpfObmyrGdO8XvSpbfqw_7tBW5O2UccL-YJHhlb8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3046.0>, params: %{}, path_info: [".well-known", "acme-challenge", "jZ6PpfObmyrGdO8XvSpbfqw_7tBW5O2UccL-YJHhlb8"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/jZ6PpfObmyrGdO8XvSpbfqw_7tBW5O2UccL-YJHhlb8"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/jZ6PpfObmyrGdO8XvSpbfqw_7tBW5O2UccL-YJHhlb8", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdNVVtf3AoNOUAAEpB"} ], 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.3045.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/jZ6PpfObmyrGdO8XvSpbfqw_7tBW5O2UccL-YJHhlb8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50636}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/jZ6PpfObmyrGdO8XvSpbfqw_7tBW5O2UccL-YJHhlb8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/jZ6PpfObmyrGdO8XvSpbfqw_7tBW5O2UccL-YJHhlb8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3045.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/jZ6PpfObmyrGdO8XvSpbfqw_7tBW5O2UccL-YJHhlb8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50636}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/jZ6PpfObmyrGdO8XvSpbfqw_7tBW5O2UccL-YJHhlb8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3046.0>, params: %{}, path_info: [".well-known", "acme-challenge", "jZ6PpfObmyrGdO8XvSpbfqw_7tBW5O2UccL-YJHhlb8"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:31:16.784 [info] GET /.well-known/acme-challenge/UsaLshX0DXxfJQFAp5_HA2V9H_pRzcc1JRYYQkTkDSg 12:31:16.785 [debug] QUERY OK source="settings" db=0.7ms idle=1416.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 [] 12:31:16.786 [debug] QUERY OK source="settings" db=0.6ms idle=1299.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 [] 12:31:16.786 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:31:16.787 [error] #PID<0.3048.0> running PinchflatWeb.Endpoint (connection #PID<0.3047.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/UsaLshX0DXxfJQFAp5_HA2V9H_pRzcc1JRYYQkTkDSg ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/UsaLshX0DXxfJQFAp5_HA2V9H_pRzcc1JRYYQkTkDSg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3047.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/UsaLshX0DXxfJQFAp5_HA2V9H_pRzcc1JRYYQkTkDSg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 40148}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/UsaLshX0DXxfJQFAp5_HA2V9H_pRzcc1JRYYQkTkDSg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3048.0>, params: %{}, path_info: [".well-known", "acme-challenge", "UsaLshX0DXxfJQFAp5_HA2V9H_pRzcc1JRYYQkTkDSg"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/UsaLshX0DXxfJQFAp5_HA2V9H_pRzcc1JRYYQkTkDSg"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/UsaLshX0DXxfJQFAp5_HA2V9H_pRzcc1JRYYQkTkDSg", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdNehLBjYd7Z0AAAlD"} ], 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.3047.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/UsaLshX0DXxfJQFAp5_HA2V9H_pRzcc1JRYYQkTkDSg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 40148}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/UsaLshX0DXxfJQFAp5_HA2V9H_pRzcc1JRYYQkTkDSg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/UsaLshX0DXxfJQFAp5_HA2V9H_pRzcc1JRYYQkTkDSg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3047.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/UsaLshX0DXxfJQFAp5_HA2V9H_pRzcc1JRYYQkTkDSg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 40148}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/UsaLshX0DXxfJQFAp5_HA2V9H_pRzcc1JRYYQkTkDSg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3048.0>, params: %{}, path_info: [".well-known", "acme-challenge", "UsaLshX0DXxfJQFAp5_HA2V9H_pRzcc1JRYYQkTkDSg"], 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://pinchflat.f2fv7 (truncated) 12:31:20.848 [info] {"source":"oban","duration":2814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:25.291 [info] GET /.well-known/acme-challenge/ZRTd-7PhPxHT0e-gla--I2KRABtBaXP-yOhovHJEvYU 12:31:25.293 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=923.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 [] 12:31:25.294 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=925.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 [] 12:31:25.294 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:31:25.295 [error] #PID<0.3051.0> running PinchflatWeb.Endpoint (connection #PID<0.3050.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/ZRTd-7PhPxHT0e-gla--I2KRABtBaXP-yOhovHJEvYU ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ZRTd-7PhPxHT0e-gla--I2KRABtBaXP-yOhovHJEvYU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3050.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ZRTd-7PhPxHT0e-gla--I2KRABtBaXP-yOhovHJEvYU", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 32784}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/ZRTd-7PhPxHT0e-gla--I2KRABtBaXP-yOhovHJEvYU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3051.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ZRTd-7PhPxHT0e-gla--I2KRABtBaXP-yOhovHJEvYU"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/ZRTd-7PhPxHT0e-gla--I2KRABtBaXP-yOhovHJEvYU"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/ZRTd-7PhPxHT0e-gla--I2KRABtBaXP-yOhovHJEvYU", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdN-Nfz8hGBHoAAAlj"} ], 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.3050.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ZRTd-7PhPxHT0e-gla--I2KRABtBaXP-yOhovHJEvYU", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 32784}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/ZRTd-7PhPxHT0e-gla--I2KRABtBaXP-yOhovHJEvYU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ZRTd-7PhPxHT0e-gla--I2KRABtBaXP-yOhovHJEvYU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3050.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ZRTd-7PhPxHT0e-gla--I2KRABtBaXP-yOhovHJEvYU", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 32784}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/ZRTd-7PhPxHT0e-gla--I2KRABtBaXP-yOhovHJEvYU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3051.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ZRTd-7PhPxHT0e-gla--I2KRABtBaXP-yOhovHJEvYU"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:31:25.403 [info] GET /.well-known/acme-challenge/BCs_Sn-dv4LS6OlT4_zOZjHQxaVd01G1Z2QodWMqPJQ 12:31:25.405 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1036.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 [] 12:31:25.405 [debug] QUERY OK source="settings" db=0.5ms idle=1036.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 [] 12:31:25.406 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:31:25.407 [error] #PID<0.3052.0> running PinchflatWeb.Endpoint (connection #PID<0.3050.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/BCs_Sn-dv4LS6OlT4_zOZjHQxaVd01G1Z2QodWMqPJQ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/BCs_Sn-dv4LS6OlT4_zOZjHQxaVd01G1Z2QodWMqPJQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3050.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/BCs_Sn-dv4LS6OlT4_zOZjHQxaVd01G1Z2QodWMqPJQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 32784}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/BCs_Sn-dv4LS6OlT4_zOZjHQxaVd01G1Z2QodWMqPJQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3052.0>, params: %{}, path_info: [".well-known", "acme-challenge", "BCs_Sn-dv4LS6OlT4_zOZjHQxaVd01G1Z2QodWMqPJQ"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/BCs_Sn-dv4LS6OlT4_zOZjHQxaVd01G1Z2QodWMqPJQ"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/BCs_Sn-dv4LS6OlT4_zOZjHQxaVd01G1Z2QodWMqPJQ", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdN-oHc3DHJm8AAEph"} ], 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.3050.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/BCs_Sn-dv4LS6OlT4_zOZjHQxaVd01G1Z2QodWMqPJQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 32784}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/BCs_Sn-dv4LS6OlT4_zOZjHQxaVd01G1Z2QodWMqPJQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/BCs_Sn-dv4LS6OlT4_zOZjHQxaVd01G1Z2QodWMqPJQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3050.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/BCs_Sn-dv4LS6OlT4_zOZjHQxaVd01G1Z2QodWMqPJQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 32784}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/BCs_Sn-dv4LS6OlT4_zOZjHQxaVd01G1Z2QodWMqPJQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3052.0>, params: %{}, path_info: [".well-known", "acme-challenge", "BCs_Sn-dv4LS6OlT4_zOZjHQxaVd01G1Z2QodWMqPJQ"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:31:26.597 [info] GET /.well-known/acme-challenge/OnUEDnHr2LBfM9t0BTEFRFDhHc4F5mXRuI8prZqgw_M 12:31:26.599 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1192.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 [] 12:31:26.600 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1080.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 [] 12:31:26.600 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:31:26.601 [error] #PID<0.3054.0> running PinchflatWeb.Endpoint (connection #PID<0.3053.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/OnUEDnHr2LBfM9t0BTEFRFDhHc4F5mXRuI8prZqgw_M ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/OnUEDnHr2LBfM9t0BTEFRFDhHc4F5mXRuI8prZqgw_M (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3053.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/OnUEDnHr2LBfM9t0BTEFRFDhHc4F5mXRuI8prZqgw_M", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 32800}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/OnUEDnHr2LBfM9t0BTEFRFDhHc4F5mXRuI8prZqgw_M", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3054.0>, params: %{}, path_info: [".well-known", "acme-challenge", "OnUEDnHr2LBfM9t0BTEFRFDhHc4F5mXRuI8prZqgw_M"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/OnUEDnHr2LBfM9t0BTEFRFDhHc4F5mXRuI8prZqgw_M"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/OnUEDnHr2LBfM9t0BTEFRFDhHc4F5mXRuI8prZqgw_M", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdODEuAYOPv0kAAAmD"} ], 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.3053.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/OnUEDnHr2LBfM9t0BTEFRFDhHc4F5mXRuI8prZqgw_M", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 32800}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/OnUEDnHr2LBfM9t0BTEFRFDhHc4F5mXRuI8prZqgw_M", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/OnUEDnHr2LBfM9t0BTEFRFDhHc4F5mXRuI8prZqgw_M (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3053.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/OnUEDnHr2LBfM9t0BTEFRFDhHc4F5mXRuI8prZqgw_M", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 32800}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/OnUEDnHr2LBfM9t0BTEFRFDhHc4F5mXRuI8prZqgw_M", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3054.0>, params: %{}, path_info: [".well-known", "acme-challenge", "OnUEDnHr2LBfM9t0BTEFRFDhHc4F5mXRuI8prZqgw_M"], 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://pinchflat.f2fv7 (truncated) 12:31:33.587 [info] GET /.well-known/acme-challenge/bhLQSy9HppHaGIc9FwKqywQ_jl9rApMIAGF08pZFeLE 12:31:33.589 [debug] QUERY OK source="settings" db=0.8ms idle=1219.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 [] 12:31:33.590 [debug] QUERY OK source="settings" db=0.4ms idle=1221.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 [] 12:31:33.590 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:31:33.590 [error] #PID<0.3058.0> running PinchflatWeb.Endpoint (connection #PID<0.3057.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/bhLQSy9HppHaGIc9FwKqywQ_jl9rApMIAGF08pZFeLE ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/bhLQSy9HppHaGIc9FwKqywQ_jl9rApMIAGF08pZFeLE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3057.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/bhLQSy9HppHaGIc9FwKqywQ_jl9rApMIAGF08pZFeLE", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 32814}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/bhLQSy9HppHaGIc9FwKqywQ_jl9rApMIAGF08pZFeLE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3058.0>, params: %{}, path_info: [".well-known", "acme-challenge", "bhLQSy9HppHaGIc9FwKqywQ_jl9rApMIAGF08pZFeLE"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/bhLQSy9HppHaGIc9FwKqywQ_jl9rApMIAGF08pZFeLE"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/bhLQSy9HppHaGIc9FwKqywQ_jl9rApMIAGF08pZFeLE", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdOdHfNdkmlgIAAEqh"} ], 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.3057.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/bhLQSy9HppHaGIc9FwKqywQ_jl9rApMIAGF08pZFeLE", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 32814}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/bhLQSy9HppHaGIc9FwKqywQ_jl9rApMIAGF08pZFeLE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/bhLQSy9HppHaGIc9FwKqywQ_jl9rApMIAGF08pZFeLE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3057.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/bhLQSy9HppHaGIc9FwKqywQ_jl9rApMIAGF08pZFeLE", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 32814}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/bhLQSy9HppHaGIc9FwKqywQ_jl9rApMIAGF08pZFeLE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3058.0>, params: %{}, path_info: [".well-known", "acme-challenge", "bhLQSy9HppHaGIc9FwKqywQ_jl9rApMIAGF08pZFeLE"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:31:35.317 [info] GET /.well-known/acme-challenge/6LG_iQLGBjJmBJ4ZOUKUuWYL9VajKS-Ezndd7k2lNhE 12:31:35.319 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1729.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 [] 12:31:35.320 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1729.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 [] 12:31:35.320 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:31:35.321 [error] #PID<0.3060.0> running PinchflatWeb.Endpoint (connection #PID<0.3059.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/6LG_iQLGBjJmBJ4ZOUKUuWYL9VajKS-Ezndd7k2lNhE ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/6LG_iQLGBjJmBJ4ZOUKUuWYL9VajKS-Ezndd7k2lNhE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3059.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6LG_iQLGBjJmBJ4ZOUKUuWYL9VajKS-Ezndd7k2lNhE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 34800}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/6LG_iQLGBjJmBJ4ZOUKUuWYL9VajKS-Ezndd7k2lNhE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3060.0>, params: %{}, path_info: [".well-known", "acme-challenge", "6LG_iQLGBjJmBJ4ZOUKUuWYL9VajKS-Ezndd7k2lNhE"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/6LG_iQLGBjJmBJ4ZOUKUuWYL9VajKS-Ezndd7k2lNhE"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/6LG_iQLGBjJmBJ4ZOUKUuWYL9VajKS-Ezndd7k2lNhE", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdOjj1QEwqV8EAAErB"} ], 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.3059.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6LG_iQLGBjJmBJ4ZOUKUuWYL9VajKS-Ezndd7k2lNhE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 34800}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/6LG_iQLGBjJmBJ4ZOUKUuWYL9VajKS-Ezndd7k2lNhE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/6LG_iQLGBjJmBJ4ZOUKUuWYL9VajKS-Ezndd7k2lNhE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3059.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6LG_iQLGBjJmBJ4ZOUKUuWYL9VajKS-Ezndd7k2lNhE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 34800}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/6LG_iQLGBjJmBJ4ZOUKUuWYL9VajKS-Ezndd7k2lNhE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3060.0>, params: %{}, path_info: [".well-known", "acme-challenge", "6LG_iQLGBjJmBJ4ZOUKUuWYL9VajKS-Ezndd7k2lNhE"], 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://pinchflat.f2fv7 (truncated) 12:31:48.467 [info] GET / 12:31:48.467 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:31:48.468 [debug] QUERY OK source="settings" db=0.7ms idle=862.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 [] 12:31:48.469 [debug] QUERY OK source="media_profiles" db=0.2ms idle=100.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:31:48.469 [debug] QUERY OK source="sources" db=0.3ms idle=101.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:31:48.532 [debug] QUERY OK source="media_items" db=62.1ms idle=101.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:31:48.536 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=164.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:31:48.536 [debug] QUERY OK source="settings" db=0.2ms idle=67.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 [] 12:31:48.536 [debug] QUERY OK source="settings" db=0.1ms idle=67.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 [] 12:31:48.537 [debug] QUERY OK source="settings" db=0.2ms idle=67.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 [] 12:31:48.541 [debug] QUERY OK source="media_items" db=3.0ms idle=6.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 (NOT (m0."media_filepath" IS NULL)) [] 12:31:48.542 [debug] QUERY OK source="media_items" db=0.4ms idle=5.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:31:48.542 [debug] QUERY OK source="sources" db=0.3ms idle=5.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" IN (?,?)) [6, 2] 12:31:48.597 [debug] QUERY OK source="media_items" db=52.7ms idle=7.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 (((((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:31:48.657 [debug] QUERY OK source="media_items" db=59.7ms idle=60.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:31:48.659 [debug] QUERY OK source="sources" db=0.8ms idle=116.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" = ?) [6] 12:31:48.665 [debug] QUERY OK source="tasks" db=0.4ms idle=121.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:31:48.666 [debug] QUERY OK source="media_items" db=0.4ms idle=67.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3531, 3533] 12:31:48.667 [info] Sent 200 in 200ms 12:31:50.851 [info] {"source":"oban","duration":2305,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:55.643 [info] {"args":{"id":5},"id":1665,"meta":{},"system_time":1774661515643354632,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:31:55.644 [debug] QUERY OK source="sources" db=0.5ms idle=1275.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] 12:31:55.653 [debug] QUERY OK source="settings" db=8.2ms idle=1276.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 [] 12:31:55.664 [debug] QUERY OK source="media_profiles" db=10.3ms queue=0.1ms idle=1029.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] 12:31:55.666 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms idle=34.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 [] 12:31:55.666 [debug] Fetching recent media IDs from YouTube API for playlist: UUVwfqPkv08OTuHzkPU3EaDw 12:31:55.667 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=23.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 [] 12:31:55.667 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:31:56.135 [debug] QUERY OK source="media_items" db=3.4ms idle=486.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [5, "k8Yr1jU-0EE", "NFrnhg8hI0c", "20XMhcpSNV0", "YVGFnwJho6E", "xQXiSGDXknA", "uZl0TO8i96g", "Hs5ewNKWUwk", "E5suxhHY0aY", "sCou7ut2L-o", "a0INtLdzUiE", "n0x8sH0M9CE", "W4Af6DIMqnE", "Q-sUbLem5aI", "s-jMj11w68U", "DS9HZG5JRBc", "_wLy-vzLi3E", "iFpZfYwRcns", "nPovqKKSKcE", "j_w4tRYm7Og", "laZpTO7IFtA", "FM5e9Vb1noE", "cK6g53lLgnw", "1X5WYEhzGyI", "QVpu66njzdE", "tfnANe2YUwM", "0-QK6hxLxgM", "TYUeXqSlcDg", "0322Pk-GKto", "1Em1UrRSEXc", "x2RT9Awsyi8", "4Yth52yml8E", "ky9Zo2FmjQ8", "npU2QpX5piA", "XEb_1Sq8jNo", "L3QQDAKxUIk", "l3s8S6bBbOs", "WyWBU1NpDf8", "7wZ0NVuoDWg", "-Ig2-rBZtSI", "5BG06-J1t4Y", "GcQ6vQEeQew", "ap8S88LeiB0", "4LvXP3XR6gw", "I9o65_aIq0Q", "Ut9XjFkGK6s", "PcFkjR5NELA", "Yl67318oP-s", "umbar5BKBus", "FEfCtNhVjJ0", ...] 12:31:56.142 [debug] QUERY OK source="media_items" db=4.1ms queue=0.1ms idle=484.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 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")))) [5] 12:31:56.371 [debug] QUERY OK source="tasks" db=0.3ms idle=4.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1671, 5, ~U[2026-03-28 01:31:56Z], ~U[2026-03-28 01:31:56Z]] 12:31:56.372 [info] {"args":{"id":5},"id":1665,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":728656,"event":"job:stop","queue_time":482744,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:32:00.691 [info] {"source":"oban","duration":820,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:32:15.009 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=64JK1lUZCbg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/11/1a/111a6e1cf051c51fd3253e242da7f109d0e364010fd1aa9b4f05b4e18d3d28ed.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:32:15.135 [debug] Running yt-dlp command for action: download_thumbnail 12:32:15.138 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=769.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 [] 12:32:15.139 [debug] QUERY OK source="settings" db=0.4ms idle=770.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 [] 12:32:15.141 [debug] QUERY OK source="settings" db=0.9ms queue=0.4ms idle=771.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 [] 12:32:15.142 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=64JK1lUZCbg --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3531/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/99/63/996358a6a6b7265b1f112cf7326e234edf916da699369703373a41bfb51b3b8b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:32:20.856 [info] {"source":"oban","duration":3657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:22.204 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=64JK1lUZCbg --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3531/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/99/63/996358a6a6b7265b1f112cf7326e234edf916da699369703373a41bfb51b3b8b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:32:22.205 [debug] QUERY OK db=0.1ms idle=1837.0ms begin [] 12:32:22.207 [debug] QUERY OK source="media_items" db=1.5ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:32:15Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e032499 - DIY Blue Tonic Water for the Perfect Gin & Tonic.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e032499 - DIY Blue Tonic Water for the Perfect Gin & Tonic.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e032499 - DIY Blue Tonic Water for the Perfect Gin & Tonic.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e032499 - DIY Blue Tonic Water for the Perfect Gin & Tonic.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e032499 - DIY Blue Tonic Water for the Perfect Gin & Tonic.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e032499 - DIY Blue Tonic Water for the Perfect Gin & Tonic-thumb.jpg", ~U[2026-03-28 01:32:22Z], 3531] 12:32:22.212 [debug] QUERY OK source="media_metadata" db=4.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/3531/metadata.json.gz", "/config/metadata/media_items/3531/thumbnail.jpg", 3531, ~U[2026-03-28 01:32:22Z], ~U[2026-03-28 01:32:22Z]] 12:32:22.213 [debug] QUERY OK db=1.0ms commit [] 12:32:22.229 [debug] QUERY OK source="media_items" db=2.6ms idle=1858.4ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [62760510, ~U[2026-03-28 01:32:22Z], 3531] 12:32:22.230 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:32:22.231 [info] {"args":{"id":3531},"id":618,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":233038702,"event":"job:stop","queue_time":76756185094,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:32:22.240 [info] {"args":{"id":3537},"id":620,"meta":{},"system_time":1774661542240583341,"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"]} 12:32:22.243 [debug] QUERY OK source="media_items" db=2.1ms idle=510.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" = ?) [3537] 12:32:22.243 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:32:22.246 [debug] QUERY OK source="sources" db=2.5ms idle=29.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" = ?) [4] 12:32:22.248 [debug] QUERY OK source="media_profiles" db=1.2ms 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] 12:32:22.250 [debug] QUERY OK source="media_items" db=1.2ms idle=17.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 [3537] 12:32:22.253 [debug] QUERY OK source="media_metadata" db=0.4ms idle=12.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" = ?) [3537] 12:32:22.254 [debug] QUERY OK source="media_profiles" db=0.6ms idle=10.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] 12:32:22.255 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 12:32:22.256 [debug] QUERY OK source="settings" db=0.3ms queue=0.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 [] 12:32:22.258 [debug] Running yt-dlp command for action: get_downloadable_status 12:32:22.259 [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 [] 12:32:22.260 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms 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 [] 12:32:22.261 [debug] QUERY OK source="settings" db=0.4ms 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 [] 12:32:22.262 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=a9KAjkfk40U --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ec/85/ec8579b877511c0e8019ef304ca65b6f5268580d4e648a3f71b2cc84cad2e3b1.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:32:30.022 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=a9KAjkfk40U --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ec/85/ec8579b877511c0e8019ef304ca65b6f5268580d4e648a3f71b2cc84cad2e3b1.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:32:30.023 [debug] Running yt-dlp command for action: download 12:32:30.024 [debug] QUERY OK source="settings" db=0.7ms idle=1262.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 [] 12:32:30.024 [debug] QUERY OK source="settings" db=0.5ms idle=655.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 [] 12:32:30.025 [debug] QUERY OK source="settings" db=0.4ms idle=656.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 [] 12:32:30.026 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=a9KAjkfk40U --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/46/c2/46c22e6eda6c9884a14e02fdf7c716703adb425c95249c813be8ddf306678d9f.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:32:31.349 [info] GET /sources/2/media/8430/edit 12:32:31.349 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "8430", "source_id" => "2"} Pipelines: [:browser] 12:32:31.350 [debug] QUERY OK source="media_items" db=0.6ms idle=1585.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" = ?) [8430] 12:32:31.350 [debug] QUERY OK source="settings" db=0.2ms idle=1326.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 [] 12:32:31.351 [debug] QUERY OK source="settings" db=0.5ms idle=1326.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 [] 12:32:31.353 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1327.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 [] 12:32:31.356 [info] Sent 200 in 7ms 12:32:48.843 [info] {"args":{"id":1},"id":1666,"meta":{},"system_time":1774661568843500213,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:32:48.844 [debug] QUERY OK source="sources" db=0.7ms idle=475.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] 12:32:48.846 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=477.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 [] 12:32:48.847 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=478.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] 12:32:48.848 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms 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 [] 12:32:48.848 [debug] Fetching recent media IDs from YouTube API for playlist: UUISrVZmDM4x-Rq9mmNUw7Zw 12:32:48.849 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:32:48.849 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:32:48.920 [info] GET / 12:32:48.920 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:32:48.921 [debug] QUERY OK source="settings" db=0.4ms idle=75.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 [] 12:32:48.921 [debug] QUERY OK source="media_profiles" db=0.2ms idle=74.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:32:48.921 [debug] QUERY OK source="sources" db=0.1ms idle=74.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:32:48.970 [debug] QUERY OK source="media_items" db=48.5ms idle=73.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:32:48.978 [debug] QUERY OK source="media_items" db=6.9ms idle=121.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:32:48.978 [debug] QUERY OK source="settings" db=0.4ms idle=57.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 [] 12:32:48.979 [debug] QUERY OK source="settings" db=0.4ms idle=57.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 [] 12:32:48.981 [debug] QUERY OK source="settings" db=0.3ms idle=58.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 [] 12:32:48.990 [debug] QUERY OK source="media_items" db=7.6ms queue=0.1ms idle=12.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 (NOT (m0."media_filepath" IS NULL)) [] 12:32:48.993 [debug] QUERY OK source="media_items" db=1.6ms queue=0.2ms idle=13.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:32:48.995 [debug] QUERY OK source="sources" db=0.8ms idle=15.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" IN (?,?)) [6, 2] 12:32:49.082 [debug] QUERY OK source="media_items" db=81.8ms idle=20.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 (((((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:32:49.152 [debug] QUERY OK source="media_items" db=68.9ms queue=0.1ms idle=102.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:32:49.154 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=162.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] 12:32:49.159 [debug] QUERY OK source="tasks" db=0.8ms queue=0.1ms idle=165.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:32:49.161 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=165.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3533, 3537] 12:32:49.161 [debug] QUERY OK source="sources" db=0.5ms idle=78.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] 12:32:49.166 [info] Sent 200 in 246ms 12:32:49.304 [debug] QUERY OK source="media_items" db=4.3ms idle=147.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "Q0qmHym16H4", "WcWL0_PlcO8", "dQV1WkSly7k", "Xpohopi2_tA", "fsZdCn4jIUY", "hgk2jMPnG2w", "oDh4gg7xiUs", "3LfUmSMW_qc", "5gN9QvwPLq8", "uSBe19ms3aw", "Eq1BmJikpHA", "OsKelxcQUNo", "zNP6Q_Yk9hU", "ZPPCc15thCc", "UzARiS2CyJ4", "r8X8HVGVV1o", "_JI7oYBFZIo", "niCh-EI1Kfo", "92mSBlpBEJo", "_6OAB_8iwqs", "tJbcC43WELc", "cPz1rUCNI0o", "hFzt_dOdElw", "nC-QKeluT0c", "i8ARsrsVUMM", "X30l-491qck", "rzQeUM-lMUY", "BkUHm95UvCw", "MQ2cHq3-J7A", "CtF5dLHITYA", "SGJkxRdkRGg", "OUCt85aJaAA", "9gARPYZOka4", "-uH-Gi5tjEw", "qwUBBQKYX94", "s8VLDSQJ8nA", "EvPfr0lKkh4", "msXzAxF49gA", "hQCWaSvjkU0", "RcmjVsy3a-g", "xtuNc9vYJG4", "fj2tcg8OzsM", "2FZ4IfPACDM", "2Q9DzW20YJ8", "IVsWFGOE_mw", "vPxpMcv2Z4Y", "Zverj_ldlhY", "pQK8xasPd9Q", "_Yo7nh8u9pk", ...] 12:32:49.307 [debug] QUERY OK source="media_items" db=1.2ms idle=152.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 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] 12:32:49.344 [debug] QUERY OK source="tasks" db=0.7ms idle=12.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1672, 1, ~U[2026-03-28 01:32:49Z], ~U[2026-03-28 01:32:49Z]] 12:32:49.352 [info] {"args":{"id":1},"id":1666,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":501182,"event":"job:stop","queue_time":634205,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:32:50.865 [info] {"source":"oban","duration":8193,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:00.693 [info] {"source":"oban","duration":1244,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:33:06.124 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=aT-mA8NUkV0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/24/70/24702b84dd33f8d71fd62aeaf7998f320072f06a48b2c5011d9ce50516550d1d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:33:06.166 [debug] Running yt-dlp command for action: download_thumbnail 12:33:06.169 [debug] QUERY OK source="settings" db=0.3ms idle=1800.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 [] 12:33:06.169 [debug] QUERY OK source="settings" db=0.2ms idle=1800.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 [] 12:33:06.170 [debug] QUERY OK source="settings" db=0.2ms idle=1801.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 [] 12:33:06.170 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=aT-mA8NUkV0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3533/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/93/87/93876616aef3e1ac20ec2626c568df31bbbaa77b5a048726fa3fa5e4dee5643b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:33:13.290 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=aT-mA8NUkV0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3533/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/93/87/93876616aef3e1ac20ec2626c568df31bbbaa77b5a048726fa3fa5e4dee5643b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:33:13.292 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1923.4ms begin [] 12:33:13.297 [debug] QUERY OK source="media_items" db=4.7ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [368, ~U[2026-03-28 01:33:06Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e031799 - Espresso Martini & Old Fashioned but with Beer!?.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e031799 - Espresso Martini & Old Fashioned but with Beer!?.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e031799 - Espresso Martini & Old Fashioned but with Beer!?.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e031799 - Espresso Martini & Old Fashioned but with Beer!?.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e031799 - Espresso Martini & Old Fashioned but with Beer!?.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e031799 - Espresso Martini & Old Fashioned but with Beer!?-thumb.jpg", ~U[2026-03-28 01:33:13Z], 3533] 12:33:13.300 [debug] QUERY OK source="media_metadata" db=2.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/3533/metadata.json.gz", "/config/metadata/media_items/3533/thumbnail.jpg", 3533, ~U[2026-03-28 01:33:13Z], ~U[2026-03-28 01:33:13Z]] 12:33:13.301 [debug] QUERY OK db=0.7ms commit [] 12:33:13.313 [debug] QUERY OK source="media_items" db=5.8ms idle=1938.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [49192574, ~U[2026-03-28 01:33:13Z], 3533] 12:33:13.313 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:33:13.314 [info] {"args":{"id":3533},"id":619,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":136987148,"event":"job:stop","queue_time":76899325088,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:33:13.323 [info] {"args":{"id":3539},"id":621,"meta":{},"system_time":1774661593323529343,"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"]} 12:33:13.325 [debug] QUERY OK source="media_items" db=0.7ms idle=397.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" = ?) [3539] 12:33:13.325 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:33:13.327 [debug] QUERY OK source="sources" db=1.0ms idle=24.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" = ?) [4] 12:33:13.328 [debug] QUERY OK source="media_profiles" db=0.5ms idle=14.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] 12:33:13.329 [debug] QUERY OK source="media_items" db=0.9ms idle=13.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 [3539] 12:33:13.331 [debug] QUERY OK source="media_metadata" db=0.2ms idle=7.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" = ?) [3539] 12:33:13.332 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 12:33:13.333 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:33:13.333 [debug] QUERY OK source="settings" db=0.3ms idle=5.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 [] 12:33:13.334 [debug] Running yt-dlp command for action: get_downloadable_status 12:33:13.336 [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 [] 12:33:13.337 [debug] QUERY OK source="settings" db=0.3ms idle=5.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 [] 12:33:13.337 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:33:13.338 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rKUZfXBRa3E --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4b/c8/4bc81af573e8ace0b231cbf95b216813fbd8ca445f3102ce57c63c8ed300a0be.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:33:20.191 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rKUZfXBRa3E --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4b/c8/4bc81af573e8ace0b231cbf95b216813fbd8ca445f3102ce57c63c8ed300a0be.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:33:20.191 [debug] Running yt-dlp command for action: download 12:33:20.192 [debug] QUERY OK source="settings" db=0.6ms idle=1820.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 [] 12:33:20.193 [debug] QUERY OK source="settings" db=0.2ms idle=1821.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 [] 12:33:20.193 [debug] QUERY OK source="settings" db=0.2ms idle=1821.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 [] 12:33:20.194 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rKUZfXBRa3E --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/56/36/5636fb4beeb70e988d81e754f3700b801b97b9d9515f2e35cca0152159c9be25.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:33:20.869 [info] {"source":"oban","duration":3401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:45.078 [info] {"args":{"id":6},"id":1667,"meta":{},"system_time":1774661625077527623,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:33:45.080 [debug] QUERY OK source="sources" db=1.4ms queue=0.2ms idle=1707.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] 12:33:45.082 [debug] QUERY OK source="settings" db=0.9ms idle=1018.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 [] 12:33:45.083 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=712.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] 12:33:45.084 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=15.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 [] 12:33:45.085 [debug] Fetching recent media IDs from YouTube API for playlist: UUOzMAa6IhV6uwYQATYG_2kg 12:33:45.086 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 12:33:45.086 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:33:46.595 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=517.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6, "dnia-38h1GA", "iZaN9NRWc28", "CJrLdBStrzc", "u-eoT-Foth8", "XHineC0YKjs", "VdlejwGkNoI", "ikIigkz2pMg", "qUdPPQ9-9Tg", "k9fuSOPjSXM", "hb-oXWK9r7k", "hDfrtCQmNOo", "zRIUM4OhyWU", "W7c0iVM4P2I", "KCFDp_kxT_4", "aZhuGRngq-g", "BgWbezF2M28", "ZJfHw71KKsk", "MisOg5bX0a4", "2UampQ_86ek", "7-iImzOel-s", "O8E47Ib_RoU", "RcVBMZd2_u8", "b-DHev8Uc6I", "0apH8xkS6PE", "I8m3hyPVsxA", "urqkKHRaT-8", "shyrhINSaPk", "Ze3bKcLbPWg", "ydk9KfgHUPo", "sFlgR1oiUXk", "jCieQsNXdBM", "Nz4uVkNMKdI", "tyX3PvjLSC8", "VeDDo4HhNVo", "2RmXPeBn3x0", "1sA4iEo0x1o", "KqAYebG_Bs0", "FelCut8wQ3o", "wY5Xb_t79SM", "-YqD-IWgaz8", "BdV0pSziReE", "u5VKDy7Dgj8", "hn89XxHJLQ0", "wE60s-NuU6c", "LBwtYK3W-vw", "FGpCwqNklsw", "79hW_qeneEY", "aNpJxLXZATY", "9JhGit6JRw0", ...] 12:33:46.600 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=228.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 [] 12:33:46.601 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=229.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 [] 12:33:46.601 [debug] Running yt-dlp command for action: get_media_attributes 12:33:46.604 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=232.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 [] 12:33:46.605 [debug] QUERY OK source="settings" db=0.3ms idle=232.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 [] 12:33:46.605 [debug] QUERY OK source="settings" db=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 [] 12:33:46.606 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/fd/37/fd377c5097b27940316725729d1d10572dddafa74fc1a304ab7fce5f726516ef.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:33:49.402 [info] GET / 12:33:49.402 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:33:49.404 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=1031.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 [] 12:33:49.406 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=1033.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:33:49.407 [debug] QUERY OK source="sources" db=0.5ms idle=1035.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:33:49.468 [debug] QUERY OK source="media_items" db=61.0ms idle=1035.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:33:49.472 [debug] QUERY OK source="media_items" db=3.1ms idle=383.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:33:49.473 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=68.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 [] 12:33:49.473 [debug] QUERY OK source="settings" db=0.3ms idle=67.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 [] 12:33:49.474 [debug] QUERY OK source="settings" db=0.4ms idle=67.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 [] 12:33:49.480 [debug] QUERY OK source="media_items" db=3.3ms queue=0.1ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 12:33:49.482 [debug] QUERY OK source="media_items" db=1.2ms queue=0.2ms idle=9.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:33:49.485 [debug] QUERY OK source="sources" db=1.1ms queue=0.3ms idle=10.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" IN (?,?)) [6, 2] 12:33:49.543 [debug] QUERY OK source="media_items" db=55.4ms idle=14.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 (((((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:33:49.591 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/fd/37/fd377c5097b27940316725729d1d10572dddafa74fc1a304ab7fce5f726516ef.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days. 12:33:49.591 [error] Error creating media item 'u-eoT-Foth8' from URL: {:error, "ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days.\n", 1} 12:33:49.602 [debug] QUERY OK source="media_items" db=10.3ms idle=111.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 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] 12:33:49.622 [debug] QUERY OK source="media_items" db=78.1ms queue=0.1ms idle=69.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:33:49.624 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=79.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] 12:33:49.630 [debug] QUERY OK source="tasks" db=1.8ms queue=0.3ms idle=25.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:33:49.632 [debug] QUERY OK source="media_items" db=1.0ms idle=6.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3537, 3539] 12:33:49.634 [debug] QUERY OK source="sources" db=3.6ms idle=8.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] 12:33:49.636 [info] Sent 200 in 234ms 12:33:49.809 [debug] QUERY OK source="tasks" db=7.3ms queue=0.1ms idle=9.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1673, 6, ~U[2026-03-28 01:33:49Z], ~U[2026-03-28 01:33:49Z]] 12:33:49.816 [info] {"args":{"id":6},"id":1667,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":4732121,"event":"job:stop","queue_time":587082,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:33:50.882 [info] {"source":"oban","duration":12121,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:00.694 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:34:20.886 [info] {"source":"oban","duration":3461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:36.656 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=a9KAjkfk40U --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/46/c2/46c22e6eda6c9884a14e02fdf7c716703adb425c95249c813be8ddf306678d9f.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:34:36.828 [debug] Running yt-dlp command for action: download_thumbnail 12:34:36.831 [debug] QUERY OK source="settings" db=0.3ms idle=1459.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 [] 12:34:36.831 [debug] QUERY OK source="settings" db=0.1ms idle=614.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 [] 12:34:36.831 [debug] QUERY OK source="settings" db=0.3ms idle=460.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 [] 12:34:36.832 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=a9KAjkfk40U --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3537/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/10/1b/101b6543bda5932dde4503174fb1ead7a460921521c612cdc9b71c9764a22fce.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:34:45.145 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=a9KAjkfk40U --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3537/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/10/1b/101b6543bda5932dde4503174fb1ead7a460921521c612cdc9b71c9764a22fce.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:34:45.146 [debug] QUERY OK db=0.1ms queue=0.1ms idle=906.5ms begin [] 12:34:45.152 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:34:36Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e031099 - Everything you should know about Gin & Tonic.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e031099 - Everything you should know about Gin & Tonic.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e031099 - Everything you should know about Gin & Tonic.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e031099 - Everything you should know about Gin & Tonic.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e031099 - Everything you should know about Gin & Tonic.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e031099 - Everything you should know about Gin & Tonic-thumb.jpg", ~U[2026-03-28 01:34:45Z], 3537] 12:34:45.155 [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/3537/metadata.json.gz", "/config/metadata/media_items/3537/thumbnail.jpg", 3537, ~U[2026-03-28 01:34:45Z], ~U[2026-03-28 01:34:45Z]] 12:34:45.157 [debug] QUERY OK db=0.8ms commit [] 12:34:45.162 [debug] QUERY OK source="media_items" db=2.4ms idle=788.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [65047558, ~U[2026-03-28 01:34:45Z], 3537] 12:34:45.162 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:34:45.163 [info] {"args":{"id":3537},"id":620,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":142922068,"event":"job:stop","queue_time":76979237110,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:34:45.171 [info] {"args":{"id":3543},"id":622,"meta":{},"system_time":1774661685171306913,"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"]} 12:34:45.172 [debug] QUERY OK source="media_items" db=0.3ms idle=800.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" = ?) [3543] 12:34:45.172 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:34:45.173 [debug] QUERY OK source="sources" db=0.8ms 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" = ?) [4] 12:34:45.174 [debug] QUERY OK source="media_profiles" db=0.8ms idle=11.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] 12:34:45.175 [debug] QUERY OK source="media_items" db=0.9ms idle=11.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 [3543] 12:34:45.177 [debug] QUERY OK source="media_metadata" db=0.3ms 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" = ?) [3543] 12:34:45.178 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 12:34:45.178 [debug] QUERY OK source="settings" db=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 [] 12:34:45.178 [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 [] 12:34:45.179 [debug] Running yt-dlp command for action: get_downloadable_status 12:34:45.180 [debug] QUERY OK source="settings" db=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 [] 12:34:45.180 [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 [] 12:34:45.181 [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 [] 12:34:45.181 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OYN2slNq8lY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/34/f2/34f269da3b7fed7b69156d0d3440b6b8c51dcf5e3369c19e85b3c5f9a9c79308.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:34:49.850 [info] GET / 12:34:49.850 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:34:49.852 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1479.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 [] 12:34:49.852 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=1480.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:34:49.853 [debug] QUERY OK source="sources" db=0.2ms idle=1481.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:34:49.916 [debug] QUERY OK source="media_items" db=63.1ms idle=1482.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:34:49.921 [debug] QUERY OK source="media_items" db=4.4ms queue=0.2ms idle=661.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:34:49.923 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=70.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 [] 12:34:49.924 [debug] QUERY OK source="settings" db=0.7ms idle=70.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 [] 12:34:49.925 [debug] QUERY OK source="settings" db=0.7ms idle=71.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 [] 12:34:49.936 [debug] QUERY OK source="media_items" db=9.3ms idle=10.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 (NOT (m0."media_filepath" IS NULL)) [] 12:34:49.938 [debug] QUERY OK source="media_items" db=1.5ms queue=0.2ms idle=15.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:34:49.940 [debug] QUERY OK source="sources" db=0.7ms idle=16.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" IN (?,?)) [6, 2] 12:34:50.019 [debug] QUERY OK source="media_items" db=76.6ms idle=18.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 (((((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:34:50.086 [debug] QUERY OK source="media_items" db=67.3ms idle=93.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:34:50.088 [debug] QUERY OK source="sources" db=0.9ms idle=151.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] 12:34:50.091 [debug] QUERY OK source="tasks" db=0.9ms idle=152.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:34:50.092 [debug] QUERY OK source="media_items" db=0.4ms idle=152.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3539, 3543] 12:34:50.094 [info] Sent 200 in 244ms 12:34:50.888 [info] {"source":"oban","duration":1457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:53.207 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OYN2slNq8lY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/34/f2/34f269da3b7fed7b69156d0d3440b6b8c51dcf5e3369c19e85b3c5f9a9c79308.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:34:53.207 [debug] Running yt-dlp command for action: download 12:34:53.208 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1836.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 [] 12:34:53.209 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1837.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 [] 12:34:53.210 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=1838.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 [] 12:34:53.210 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OYN2slNq8lY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c4/39/c439e6ceefef0097fff4b09ba13ac869a55942ddd6141f17d8fbc89858a41120.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:35:00.697 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:35:20.891 [info] {"source":"oban","duration":2535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:50.386 [info] GET / 12:35:50.386 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:35:50.387 [debug] QUERY OK source="settings" db=0.4ms idle=1015.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 [] 12:35:50.388 [debug] QUERY OK source="media_profiles" db=0.4ms idle=920.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:35:50.389 [debug] QUERY OK source="sources" db=0.3ms idle=17.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:35:50.475 [debug] QUERY OK source="media_items" db=86.7ms idle=17.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:35:50.480 [debug] QUERY OK source="media_items" db=4.6ms queue=0.1ms idle=88.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:35:50.481 [debug] QUERY OK source="settings" db=0.1ms idle=92.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 [] 12:35:50.481 [debug] QUERY OK source="settings" db=0.2ms idle=92.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 [] 12:35:50.482 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:35:50.496 [debug] QUERY OK source="media_items" db=11.9ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 12:35:50.497 [debug] QUERY OK source="media_items" db=0.8ms idle=15.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:35:50.498 [debug] QUERY OK source="sources" db=0.3ms idle=16.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" IN (?,?)) [6, 2] 12:35:50.562 [debug] QUERY OK source="media_items" db=60.7ms idle=19.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 (((((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:35:50.677 [debug] QUERY OK source="media_items" db=115.1ms idle=79.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:35:50.678 [debug] QUERY OK source="sources" db=0.4ms idle=181.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] 12:35:50.681 [debug] QUERY OK source="tasks" db=0.7ms idle=183.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:35:50.682 [debug] QUERY OK source="media_items" db=0.4ms idle=183.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3539, 3543] 12:35:50.685 [info] Sent 200 in 298ms 12:35:50.895 [info] {"source":"oban","duration":2332,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:57.570 [info] GET /.well-known/acme-challenge/q0gp36pPEuDYFk-v5DSKzJJkRq7vt2qFFbYF3x4FhLM 12:35:57.571 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1.2e3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:57.572 [debug] QUERY OK source="settings" db=0.5ms idle=1200.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 [] 12:35:57.572 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:35:57.573 [error] #PID<0.3123.0> running PinchflatWeb.Endpoint (connection #PID<0.3122.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/q0gp36pPEuDYFk-v5DSKzJJkRq7vt2qFFbYF3x4FhLM ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/q0gp36pPEuDYFk-v5DSKzJJkRq7vt2qFFbYF3x4FhLM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3122.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/q0gp36pPEuDYFk-v5DSKzJJkRq7vt2qFFbYF3x4FhLM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 38628}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/q0gp36pPEuDYFk-v5DSKzJJkRq7vt2qFFbYF3x4FhLM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3123.0>, params: %{}, path_info: [".well-known", "acme-challenge", "q0gp36pPEuDYFk-v5DSKzJJkRq7vt2qFFbYF3x4FhLM"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/q0gp36pPEuDYFk-v5DSKzJJkRq7vt2qFFbYF3x4FhLM"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/q0gp36pPEuDYFk-v5DSKzJJkRq7vt2qFFbYF3x4FhLM", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdd0h1LxCmMyQAABMD"} ], 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.3122.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/q0gp36pPEuDYFk-v5DSKzJJkRq7vt2qFFbYF3x4FhLM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 38628}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/q0gp36pPEuDYFk-v5DSKzJJkRq7vt2qFFbYF3x4FhLM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/q0gp36pPEuDYFk-v5DSKzJJkRq7vt2qFFbYF3x4FhLM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3122.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/q0gp36pPEuDYFk-v5DSKzJJkRq7vt2qFFbYF3x4FhLM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 38628}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/q0gp36pPEuDYFk-v5DSKzJJkRq7vt2qFFbYF3x4FhLM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3123.0>, params: %{}, path_info: [".well-known", "acme-challenge", "q0gp36pPEuDYFk-v5DSKzJJkRq7vt2qFFbYF3x4FhLM"], 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://pinchflat.f2fv7 (truncated) 12:35:57.590 [info] GET /.well-known/acme-challenge/62UWf2E9tvuB0hk519lB-TmOJI59YNMfeqP2u2UXmpo 12:35:57.591 [debug] QUERY OK source="settings" db=0.2ms idle=1219.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 [] 12:35:57.591 [debug] QUERY OK source="settings" db=0.1ms idle=1100.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 [] 12:35:57.591 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:35:57.591 [error] #PID<0.3124.0> running PinchflatWeb.Endpoint (connection #PID<0.3122.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/62UWf2E9tvuB0hk519lB-TmOJI59YNMfeqP2u2UXmpo ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/62UWf2E9tvuB0hk519lB-TmOJI59YNMfeqP2u2UXmpo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3122.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/62UWf2E9tvuB0hk519lB-TmOJI59YNMfeqP2u2UXmpo", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 38628}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/62UWf2E9tvuB0hk519lB-TmOJI59YNMfeqP2u2UXmpo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3124.0>, params: %{}, path_info: [".well-known", "acme-challenge", "62UWf2E9tvuB0hk519lB-TmOJI59YNMfeqP2u2UXmpo"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/62UWf2E9tvuB0hk519lB-TmOJI59YNMfeqP2u2UXmpo"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/62UWf2E9tvuB0hk519lB-TmOJI59YNMfeqP2u2UXmpo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdd0mkMQWBNZkAABMj"} ], 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.3122.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/62UWf2E9tvuB0hk519lB-TmOJI59YNMfeqP2u2UXmpo", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 38628}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/62UWf2E9tvuB0hk519lB-TmOJI59YNMfeqP2u2UXmpo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/62UWf2E9tvuB0hk519lB-TmOJI59YNMfeqP2u2UXmpo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3122.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/62UWf2E9tvuB0hk519lB-TmOJI59YNMfeqP2u2UXmpo", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 38628}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/62UWf2E9tvuB0hk519lB-TmOJI59YNMfeqP2u2UXmpo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3124.0>, params: %{}, path_info: [".well-known", "acme-challenge", "62UWf2E9tvuB0hk519lB-TmOJI59YNMfeqP2u2UXmpo"], 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://pinchflat.f2fv7 (truncated) 12:35:58.067 [info] GET /.well-known/acme-challenge/WaZc3-mATaXsxwAoZ3jNdUyy-F4QqJ2oNGYWPRaDWpw 12:35:58.069 [debug] QUERY OK source="settings" db=1.0ms idle=573.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 [] 12:35:58.071 [debug] QUERY OK source="settings" db=0.8ms 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 [] 12:35:58.071 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:35:58.073 [error] #PID<0.3126.0> running PinchflatWeb.Endpoint (connection #PID<0.3125.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/WaZc3-mATaXsxwAoZ3jNdUyy-F4QqJ2oNGYWPRaDWpw ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/WaZc3-mATaXsxwAoZ3jNdUyy-F4QqJ2oNGYWPRaDWpw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3125.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/WaZc3-mATaXsxwAoZ3jNdUyy-F4QqJ2oNGYWPRaDWpw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 38630}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/WaZc3-mATaXsxwAoZ3jNdUyy-F4QqJ2oNGYWPRaDWpw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3126.0>, params: %{}, path_info: [".well-known", "acme-challenge", "WaZc3-mATaXsxwAoZ3jNdUyy-F4QqJ2oNGYWPRaDWpw"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/WaZc3-mATaXsxwAoZ3jNdUyy-F4QqJ2oNGYWPRaDWpw"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/WaZc3-mATaXsxwAoZ3jNdUyy-F4QqJ2oNGYWPRaDWpw", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdd2YVFYTFrEQAABND"} ], 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.3125.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/WaZc3-mATaXsxwAoZ3jNdUyy-F4QqJ2oNGYWPRaDWpw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 38630}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/WaZc3-mATaXsxwAoZ3jNdUyy-F4QqJ2oNGYWPRaDWpw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/WaZc3-mATaXsxwAoZ3jNdUyy-F4QqJ2oNGYWPRaDWpw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3125.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/WaZc3-mATaXsxwAoZ3jNdUyy-F4QqJ2oNGYWPRaDWpw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 38630}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/WaZc3-mATaXsxwAoZ3jNdUyy-F4QqJ2oNGYWPRaDWpw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3126.0>, params: %{}, path_info: [".well-known", "acme-challenge", "WaZc3-mATaXsxwAoZ3jNdUyy-F4QqJ2oNGYWPRaDWpw"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:36:00.698 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:36:09.215 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rKUZfXBRa3E --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/56/36/5636fb4beeb70e988d81e754f3700b801b97b9d9515f2e35cca0152159c9be25.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:36:09.277 [debug] Running yt-dlp command for action: download_thumbnail 12:36:09.278 [debug] QUERY OK source="settings" db=0.2ms idle=1906.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 [] 12:36:09.280 [debug] QUERY OK source="settings" db=0.9ms idle=1907.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 [] 12:36:09.280 [debug] QUERY OK source="settings" db=0.4ms idle=1749.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 [] 12:36:09.281 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rKUZfXBRa3E --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3539/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/a1/18/a118d5eee9a6806cc07d25bb5060f19d476ba12eb65bcbe9e7855edb78efad10.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:36:16.571 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rKUZfXBRa3E --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3539/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/a1/18/a118d5eee9a6806cc07d25bb5060f19d476ba12eb65bcbe9e7855edb78efad10.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:36:16.571 [debug] QUERY OK db=0.0ms idle=199.7ms begin [] 12:36:16.577 [debug] QUERY OK source="media_items" db=4.8ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:36:09Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e030399 - Strawberry & Milk - The Best Cocktail Garnish?.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e030399 - Strawberry & Milk - The Best Cocktail Garnish?.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e030399 - Strawberry & Milk - The Best Cocktail Garnish?.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e030399 - Strawberry & Milk - The Best Cocktail Garnish?.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e030399 - Strawberry & Milk - The Best Cocktail Garnish?.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e030399 - Strawberry & Milk - The Best Cocktail Garnish?-thumb.jpg", ~U[2026-03-28 01:36:16Z], 3539] 12:36:16.580 [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/3539/metadata.json.gz", "/config/metadata/media_items/3539/thumbnail.jpg", 3539, ~U[2026-03-28 01:36:16Z], ~U[2026-03-28 01:36:16Z]] 12:36:16.582 [debug] QUERY OK db=2.3ms commit [] 12:36:16.594 [debug] QUERY OK source="media_items" db=8.2ms idle=214.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [84191387, ~U[2026-03-28 01:36:16Z], 3539] 12:36:16.594 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:36:16.609 [info] {"args":{"id":3539},"id":621,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":183271302,"event":"job:stop","queue_time":77026321087,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:36:16.625 [info] {"args":{"id":3545},"id":623,"meta":{},"system_time":1774661776625520763,"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"]} 12:36:16.641 [debug] QUERY OK source="media_items" db=15.2ms queue=0.1ms idle=63.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" = ?) [3545] 12:36:16.641 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:36:16.667 [debug] QUERY OK source="sources" db=25.3ms idle=59.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" = ?) [4] 12:36:16.668 [debug] QUERY OK source="media_profiles" db=0.9ms idle=73.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] 12:36:16.670 [debug] QUERY OK source="media_items" db=1.0ms idle=59.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 [3545] 12:36:16.673 [debug] QUERY OK source="media_metadata" db=0.3ms idle=47.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" = ?) [3545] 12:36:16.674 [debug] QUERY OK source="media_profiles" db=0.5ms idle=32.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] 12:36:16.675 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 12:36:16.676 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms 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 [] 12:36:16.676 [debug] Running yt-dlp command for action: get_downloadable_status 12:36:16.678 [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 [] 12:36:16.678 [debug] QUERY OK source="settings" db=0.1ms idle=5.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 [] 12:36:16.679 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms 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 [] 12:36:16.680 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=eYf9z9Vsve8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a5/02/a502d8894185f952b02329ef63eb6c390d70c1f438041db782fb23c6238cd684.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:36:18.724 [info] GET /.well-known/acme-challenge/DE_lKwn33zCNTsE1IfI8W4tmMYI-9SawHaTNcV6pnvc 12:36:18.726 [debug] QUERY OK source="settings" db=0.9ms idle=353.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 [] 12:36:18.727 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=355.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 [] 12:36:18.727 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:36:18.728 [error] #PID<0.3137.0> running PinchflatWeb.Endpoint (connection #PID<0.3136.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/DE_lKwn33zCNTsE1IfI8W4tmMYI-9SawHaTNcV6pnvc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/DE_lKwn33zCNTsE1IfI8W4tmMYI-9SawHaTNcV6pnvc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3136.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/DE_lKwn33zCNTsE1IfI8W4tmMYI-9SawHaTNcV6pnvc", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 46808}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/DE_lKwn33zCNTsE1IfI8W4tmMYI-9SawHaTNcV6pnvc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3137.0>, params: %{}, path_info: [".well-known", "acme-challenge", "DE_lKwn33zCNTsE1IfI8W4tmMYI-9SawHaTNcV6pnvc"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/DE_lKwn33zCNTsE1IfI8W4tmMYI-9SawHaTNcV6pnvc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/DE_lKwn33zCNTsE1IfI8W4tmMYI-9SawHaTNcV6pnvc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdfDVZ4wadIa0AABOD"} ], 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.3136.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/DE_lKwn33zCNTsE1IfI8W4tmMYI-9SawHaTNcV6pnvc", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 46808}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/DE_lKwn33zCNTsE1IfI8W4tmMYI-9SawHaTNcV6pnvc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/DE_lKwn33zCNTsE1IfI8W4tmMYI-9SawHaTNcV6pnvc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3136.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/DE_lKwn33zCNTsE1IfI8W4tmMYI-9SawHaTNcV6pnvc", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 46808}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/DE_lKwn33zCNTsE1IfI8W4tmMYI-9SawHaTNcV6pnvc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3137.0>, params: %{}, path_info: [".well-known", "acme-challenge", "DE_lKwn33zCNTsE1IfI8W4tmMYI-9SawHaTNcV6pnvc"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:36:20.754 [info] GET /.well-known/acme-challenge/H32jl1C0RZ64lvjrOb9ZQjdKzKxD36iJE0RTWqaUYXU 12:36:20.755 [debug] QUERY OK source="settings" db=0.4ms idle=383.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 [] 12:36:20.755 [debug] QUERY OK source="settings" db=0.5ms idle=384.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 [] 12:36:20.756 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:36:20.756 [error] #PID<0.3139.0> running PinchflatWeb.Endpoint (connection #PID<0.3138.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/H32jl1C0RZ64lvjrOb9ZQjdKzKxD36iJE0RTWqaUYXU ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/H32jl1C0RZ64lvjrOb9ZQjdKzKxD36iJE0RTWqaUYXU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3138.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/H32jl1C0RZ64lvjrOb9ZQjdKzKxD36iJE0RTWqaUYXU", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 46810}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/H32jl1C0RZ64lvjrOb9ZQjdKzKxD36iJE0RTWqaUYXU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3139.0>, params: %{}, path_info: [".well-known", "acme-challenge", "H32jl1C0RZ64lvjrOb9ZQjdKzKxD36iJE0RTWqaUYXU"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/H32jl1C0RZ64lvjrOb9ZQjdKzKxD36iJE0RTWqaUYXU"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/H32jl1C0RZ64lvjrOb9ZQjdKzKxD36iJE0RTWqaUYXU", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdfK5QjACMf4kAAFYi"} ], 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.3138.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/H32jl1C0RZ64lvjrOb9ZQjdKzKxD36iJE0RTWqaUYXU", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 46810}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/H32jl1C0RZ64lvjrOb9ZQjdKzKxD36iJE0RTWqaUYXU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/H32jl1C0RZ64lvjrOb9ZQjdKzKxD36iJE0RTWqaUYXU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3138.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/H32jl1C0RZ64lvjrOb9ZQjdKzKxD36iJE0RTWqaUYXU", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 46810}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/H32jl1C0RZ64lvjrOb9ZQjdKzKxD36iJE0RTWqaUYXU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3139.0>, params: %{}, path_info: [".well-known", "acme-challenge", "H32jl1C0RZ64lvjrOb9ZQjdKzKxD36iJE0RTWqaUYXU"], 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://pinchflat.f2fv7 (truncated) 12:36:20.899 [info] {"source":"oban","duration":3006,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:23.083 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=eYf9z9Vsve8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a5/02/a502d8894185f952b02329ef63eb6c390d70c1f438041db782fb23c6238cd684.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:36:23.084 [debug] Running yt-dlp command for action: download 12:36:23.085 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=713.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 [] 12:36:23.086 [debug] QUERY OK source="settings" db=0.3ms idle=714.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 [] 12:36:23.086 [debug] QUERY OK source="settings" db=0.2ms idle=714.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 [] 12:36:23.087 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=eYf9z9Vsve8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e6/a3/e6a3dfaefa153a500c8ed83665fa092049ca3e0d2938a63ea237ee496dc6e57b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:36:29.944 [info] GET /.well-known/acme-challenge/OjdZKLX-DZZu5ACm7QY6874NcURXI5yeD9YfrXwD7RQ 12:36:29.945 [debug] QUERY OK source="settings" db=0.7ms idle=1573.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 [] 12:36:29.946 [debug] QUERY OK source="settings" db=0.4ms idle=1574.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 [] 12:36:29.946 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:36:29.947 [error] #PID<0.3141.0> running PinchflatWeb.Endpoint (connection #PID<0.3140.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/OjdZKLX-DZZu5ACm7QY6874NcURXI5yeD9YfrXwD7RQ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/OjdZKLX-DZZu5ACm7QY6874NcURXI5yeD9YfrXwD7RQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3140.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/OjdZKLX-DZZu5ACm7QY6874NcURXI5yeD9YfrXwD7RQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 41266}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/OjdZKLX-DZZu5ACm7QY6874NcURXI5yeD9YfrXwD7RQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3141.0>, params: %{}, path_info: [".well-known", "acme-challenge", "OjdZKLX-DZZu5ACm7QY6874NcURXI5yeD9YfrXwD7RQ"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/OjdZKLX-DZZu5ACm7QY6874NcURXI5yeD9YfrXwD7RQ"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/OjdZKLX-DZZu5ACm7QY6874NcURXI5yeD9YfrXwD7RQ", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdftIY0zUzWtgAAFZC"} ], 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.3140.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/OjdZKLX-DZZu5ACm7QY6874NcURXI5yeD9YfrXwD7RQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 41266}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/OjdZKLX-DZZu5ACm7QY6874NcURXI5yeD9YfrXwD7RQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/OjdZKLX-DZZu5ACm7QY6874NcURXI5yeD9YfrXwD7RQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3140.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/OjdZKLX-DZZu5ACm7QY6874NcURXI5yeD9YfrXwD7RQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 41266}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/OjdZKLX-DZZu5ACm7QY6874NcURXI5yeD9YfrXwD7RQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3141.0>, params: %{}, path_info: [".well-known", "acme-challenge", "OjdZKLX-DZZu5ACm7QY6874NcURXI5yeD9YfrXwD7RQ"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:36:30.128 [info] GET /.well-known/acme-challenge/j06SzPb724dkLzIlypBA-db2e1LP_KOlCx1bKtxogbo 12:36:30.129 [debug] QUERY OK source="settings" db=0.2ms idle=1757.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 [] 12:36:30.130 [debug] QUERY OK source="settings" db=0.1ms idle=1529.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 [] 12:36:30.130 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:36:30.130 [error] #PID<0.3142.0> running PinchflatWeb.Endpoint (connection #PID<0.3140.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/j06SzPb724dkLzIlypBA-db2e1LP_KOlCx1bKtxogbo ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/j06SzPb724dkLzIlypBA-db2e1LP_KOlCx1bKtxogbo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3140.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/j06SzPb724dkLzIlypBA-db2e1LP_KOlCx1bKtxogbo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 41266}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/j06SzPb724dkLzIlypBA-db2e1LP_KOlCx1bKtxogbo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3142.0>, params: %{}, path_info: [".well-known", "acme-challenge", "j06SzPb724dkLzIlypBA-db2e1LP_KOlCx1bKtxogbo"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/j06SzPb724dkLzIlypBA-db2e1LP_KOlCx1bKtxogbo"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/j06SzPb724dkLzIlypBA-db2e1LP_KOlCx1bKtxogbo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdft0XDZ7YuAwAAFZi"} ], 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.3140.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/j06SzPb724dkLzIlypBA-db2e1LP_KOlCx1bKtxogbo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 41266}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/j06SzPb724dkLzIlypBA-db2e1LP_KOlCx1bKtxogbo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/j06SzPb724dkLzIlypBA-db2e1LP_KOlCx1bKtxogbo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3140.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/j06SzPb724dkLzIlypBA-db2e1LP_KOlCx1bKtxogbo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 41266}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/j06SzPb724dkLzIlypBA-db2e1LP_KOlCx1bKtxogbo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3142.0>, params: %{}, path_info: [".well-known", "acme-challenge", "j06SzPb724dkLzIlypBA-db2e1LP_KOlCx1bKtxogbo"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:36:30.388 [info] GET /.well-known/acme-challenge/tPz3IDkMRzteDfyXiyL-2Oi9ezciW7KQhDK4AoSRZXQ 12:36:30.390 [debug] QUERY OK source="settings" db=0.8ms idle=785.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 [] 12:36:30.391 [debug] QUERY OK source="settings" db=0.5ms idle=444.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 [] 12:36:30.391 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:36:30.391 [error] #PID<0.3144.0> running PinchflatWeb.Endpoint (connection #PID<0.3143.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/tPz3IDkMRzteDfyXiyL-2Oi9ezciW7KQhDK4AoSRZXQ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/tPz3IDkMRzteDfyXiyL-2Oi9ezciW7KQhDK4AoSRZXQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3143.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/tPz3IDkMRzteDfyXiyL-2Oi9ezciW7KQhDK4AoSRZXQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41268}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/tPz3IDkMRzteDfyXiyL-2Oi9ezciW7KQhDK4AoSRZXQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3144.0>, params: %{}, path_info: [".well-known", "acme-challenge", "tPz3IDkMRzteDfyXiyL-2Oi9ezciW7KQhDK4AoSRZXQ"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/tPz3IDkMRzteDfyXiyL-2Oi9ezciW7KQhDK4AoSRZXQ"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/tPz3IDkMRzteDfyXiyL-2Oi9ezciW7KQhDK4AoSRZXQ", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdfuyTcacgTugAAFaC"} ], 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.3143.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/tPz3IDkMRzteDfyXiyL-2Oi9ezciW7KQhDK4AoSRZXQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41268}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/tPz3IDkMRzteDfyXiyL-2Oi9ezciW7KQhDK4AoSRZXQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/tPz3IDkMRzteDfyXiyL-2Oi9ezciW7KQhDK4AoSRZXQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3143.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/tPz3IDkMRzteDfyXiyL-2Oi9ezciW7KQhDK4AoSRZXQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41268}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/tPz3IDkMRzteDfyXiyL-2Oi9ezciW7KQhDK4AoSRZXQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3144.0>, params: %{}, path_info: [".well-known", "acme-challenge", "tPz3IDkMRzteDfyXiyL-2Oi9ezciW7KQhDK4AoSRZXQ"], 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://pinchflat.f2fv7 (truncated) 12:36:37.355 [info] GET /.well-known/acme-challenge/Y_4P_wsgyAOGJFT76CIpbxo84h1hxEcLRsd8FogbK90 12:36:37.356 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1984.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 [] 12:36:37.357 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1731.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 [] 12:36:37.357 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:36:37.358 [error] #PID<0.3148.0> running PinchflatWeb.Endpoint (connection #PID<0.3147.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/Y_4P_wsgyAOGJFT76CIpbxo84h1hxEcLRsd8FogbK90 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Y_4P_wsgyAOGJFT76CIpbxo84h1hxEcLRsd8FogbK90 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3147.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Y_4P_wsgyAOGJFT76CIpbxo84h1hxEcLRsd8FogbK90", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57914}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Y_4P_wsgyAOGJFT76CIpbxo84h1hxEcLRsd8FogbK90", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3148.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Y_4P_wsgyAOGJFT76CIpbxo84h1hxEcLRsd8FogbK90"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/Y_4P_wsgyAOGJFT76CIpbxo84h1hxEcLRsd8FogbK90"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/Y_4P_wsgyAOGJFT76CIpbxo84h1hxEcLRsd8FogbK90", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdgIvVOgA2sj0AAFai"} ], 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.3147.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Y_4P_wsgyAOGJFT76CIpbxo84h1hxEcLRsd8FogbK90", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57914}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Y_4P_wsgyAOGJFT76CIpbxo84h1hxEcLRsd8FogbK90", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Y_4P_wsgyAOGJFT76CIpbxo84h1hxEcLRsd8FogbK90 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3147.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Y_4P_wsgyAOGJFT76CIpbxo84h1hxEcLRsd8FogbK90", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57914}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Y_4P_wsgyAOGJFT76CIpbxo84h1hxEcLRsd8FogbK90", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3148.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Y_4P_wsgyAOGJFT76CIpbxo84h1hxEcLRsd8FogbK90"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:36:39.742 [info] GET /.well-known/acme-challenge/ajzquLPUbZnIE2-dX7ONhrcKQC0X8yibNdu_uOhJww4 12:36:39.744 [debug] QUERY OK source="settings" db=0.6ms queue=0.3ms idle=1372.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 [] 12:36:39.745 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1373.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 [] 12:36:39.745 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:36:39.746 [error] #PID<0.3150.0> running PinchflatWeb.Endpoint (connection #PID<0.3149.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/ajzquLPUbZnIE2-dX7ONhrcKQC0X8yibNdu_uOhJww4 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ajzquLPUbZnIE2-dX7ONhrcKQC0X8yibNdu_uOhJww4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3149.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ajzquLPUbZnIE2-dX7ONhrcKQC0X8yibNdu_uOhJww4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 57922}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ajzquLPUbZnIE2-dX7ONhrcKQC0X8yibNdu_uOhJww4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3150.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ajzquLPUbZnIE2-dX7ONhrcKQC0X8yibNdu_uOhJww4"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ajzquLPUbZnIE2-dX7ONhrcKQC0X8yibNdu_uOhJww4"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/ajzquLPUbZnIE2-dX7ONhrcKQC0X8yibNdu_uOhJww4", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDdgRoWPButnfYAAFbC"} ], 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.3149.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ajzquLPUbZnIE2-dX7ONhrcKQC0X8yibNdu_uOhJww4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 57922}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ajzquLPUbZnIE2-dX7ONhrcKQC0X8yibNdu_uOhJww4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ajzquLPUbZnIE2-dX7ONhrcKQC0X8yibNdu_uOhJww4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3149.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ajzquLPUbZnIE2-dX7ONhrcKQC0X8yibNdu_uOhJww4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 57922}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ajzquLPUbZnIE2-dX7ONhrcKQC0X8yibNdu_uOhJww4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3150.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ajzquLPUbZnIE2-dX7ONhrcKQC0X8yibNdu_uOhJww4"], 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://pinchflat.f2fv7 (truncated) 12:36:50.891 [info] GET / 12:36:50.891 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:36:50.892 [debug] QUERY OK source="settings" db=0.2ms idle=1520.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 [] 12:36:50.892 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1211.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:36:50.892 [debug] QUERY OK source="sources" db=0.1ms idle=521.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:36:50.903 [info] {"source":"oban","duration":3337,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:50.918 [debug] QUERY OK source="media_items" db=26.0ms idle=521.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:36:50.922 [debug] QUERY OK source="media_items" db=2.9ms idle=27.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:36:50.923 [debug] QUERY OK source="settings" db=0.3ms idle=30.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 [] 12:36:50.924 [debug] QUERY OK source="settings" db=0.4ms idle=30.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 [] 12:36:50.925 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:36:50.930 [debug] QUERY OK source="media_items" db=3.2ms idle=7.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 (NOT (m0."media_filepath" IS NULL)) [] 12:36:50.931 [debug] QUERY OK source="media_items" db=0.8ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:36:50.933 [debug] QUERY OK source="sources" db=0.8ms idle=8.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" IN (?,?)) [6, 2] 12:36:51.019 [debug] QUERY OK source="media_items" db=83.6ms idle=11.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 (((((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:36:51.115 [debug] QUERY OK source="media_items" db=95.7ms idle=94.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:36:51.116 [debug] QUERY OK source="sources" db=0.2ms idle=186.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] 12:36:51.119 [debug] QUERY OK source="tasks" db=0.5ms idle=187.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:36:51.120 [debug] QUERY OK source="media_items" db=0.3ms idle=186.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3543, 3545] 12:36:51.121 [info] Sent 200 in 230ms 12:36:52.718 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OYN2slNq8lY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c4/39/c439e6ceefef0097fff4b09ba13ac869a55942ddd6141f17d8fbc89858a41120.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:36:52.801 [debug] Running yt-dlp command for action: download_thumbnail 12:36:52.804 [debug] QUERY OK source="settings" db=0.3ms idle=432.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 [] 12:36:52.804 [debug] QUERY OK source="settings" db=0.1ms idle=433.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 [] 12:36:52.805 [debug] QUERY OK source="settings" db=0.1ms idle=433.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 [] 12:36:52.805 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OYN2slNq8lY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3543/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/2f/7c/2f7cf57a77cf7949cebf56be295ffae0c47a751297e6e29c44e6c5762b05da68.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:37:00.700 [info] {"source":"oban","duration":969,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:37:01.092 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OYN2slNq8lY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3543/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/2f/7c/2f7cf57a77cf7949cebf56be295ffae0c47a751297e6e29c44e6c5762b05da68.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:37:01.093 [debug] QUERY OK db=0.0ms queue=0.1ms idle=722.2ms begin [] 12:37:01.097 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:36:52Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e022499 - Improved Inverted Cocktail with Rum & Coffee Foam!.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e022499 - Improved Inverted Cocktail with Rum & Coffee Foam!.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e022499 - Improved Inverted Cocktail with Rum & Coffee Foam!.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e022499 - Improved Inverted Cocktail with Rum & Coffee Foam!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e022499 - Improved Inverted Cocktail with Rum & Coffee Foam!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e022499 - Improved Inverted Cocktail with Rum & Coffee Foam!-thumb.jpg", ~U[2026-03-28 01:37:01Z], 3543] 12:37:01.170 [debug] QUERY OK source="media_metadata" db=72.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/3543/metadata.json.gz", "/config/metadata/media_items/3543/thumbnail.jpg", 3543, ~U[2026-03-28 01:37:01Z], ~U[2026-03-28 01:37:01Z]] 12:37:01.173 [debug] QUERY OK db=2.6ms commit [] 12:37:01.185 [debug] QUERY OK source="media_items" db=9.4ms idle=804.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [60241549, ~U[2026-03-28 01:37:01Z], 3543] 12:37:01.186 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:37:01.191 [info] {"args":{"id":3543},"id":622,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":136015197,"event":"job:stop","queue_time":77111170083,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:37:01.204 [info] {"args":{"id":3548},"id":624,"meta":{},"system_time":1774661821204007036,"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"]} 12:37:01.204 [debug] QUERY OK source="media_items" db=0.4ms idle=483.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" = ?) [3548] 12:37:01.205 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:37:01.206 [debug] QUERY OK source="sources" db=0.9ms idle=31.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" = ?) [4] 12:37:01.207 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=21.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] 12:37:01.208 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=17.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 [3548] 12:37:01.210 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [3548] 12:37:01.211 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms 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] 12:37:01.212 [debug] QUERY OK source="settings" db=0.2ms queue=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 [] 12:37:01.213 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:37:01.214 [debug] Running yt-dlp command for action: get_downloadable_status 12:37:01.215 [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 [] 12:37:01.216 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:37:01.216 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:37:01.217 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=v56XS--q1uQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f3/55/f35544f66259efbf38035eddb21f75b129a8d67f3562a0ab2445de9bfe5fd765.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:37:08.076 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=v56XS--q1uQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f3/55/f35544f66259efbf38035eddb21f75b129a8d67f3562a0ab2445de9bfe5fd765.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:37:08.077 [debug] Running yt-dlp command for action: download 12:37:08.079 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=1706.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 [] 12:37:08.080 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=1707.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 [] 12:37:08.080 [debug] QUERY OK source="settings" db=0.2ms idle=1708.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 [] 12:37:08.081 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=v56XS--q1uQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/56/36/5636b5b7f91553dc7f2cadd727d54aed85f3f0da1424b67cb6af3f3999d10225.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:37:20.906 [info] {"source":"oban","duration":2099,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:50.909 [info] {"source":"oban","duration":2584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:51.309 [info] GET / 12:37:51.309 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:37:51.310 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1403.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 [] 12:37:51.310 [debug] QUERY OK source="media_profiles" db=0.1ms idle=937.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:37:51.311 [debug] QUERY OK source="sources" db=0.2ms idle=938.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:37:51.349 [debug] QUERY OK source="media_items" db=38.4ms idle=401.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:37:51.354 [debug] QUERY OK source="media_items" db=4.2ms idle=439.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:37:51.356 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=45.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 [] 12:37:51.356 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:37:51.357 [debug] QUERY OK source="settings" db=0.3ms idle=45.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 [] 12:37:51.364 [debug] QUERY OK source="media_items" db=5.0ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 12:37:51.365 [debug] QUERY OK source="media_items" db=0.8ms idle=10.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:37:51.367 [debug] QUERY OK source="sources" db=0.4ms idle=10.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" IN (?,?)) [6, 2] 12:37:51.425 [debug] QUERY OK source="media_items" db=54.9ms idle=13.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 (((((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:37:51.486 [debug] QUERY OK source="media_items" db=61.2ms idle=68.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:37:51.487 [debug] QUERY OK source="sources" db=0.4ms idle=123.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] 12:37:51.490 [debug] QUERY OK source="tasks" db=0.4ms idle=123.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:37:51.491 [debug] QUERY OK source="media_items" db=0.4ms idle=123.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3545, 3548] 12:37:51.492 [info] Sent 200 in 183ms 12:38:00.701 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:38:15.608 [info] GET /sources/2/media/10117 12:38:15.609 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "10117", "source_id" => "2"} Pipelines: [:browser] 12:38:15.611 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=1237.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" = ?) [10117] 12:38:15.612 [debug] QUERY OK source="sources" db=0.6ms idle=239.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" = ?) [2] 12:38:15.612 [debug] QUERY OK source="tasks" db=0.7ms idle=615.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" [10117] 12:38:15.613 [debug] QUERY OK source="settings" db=0.2ms idle=241.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 [] 12:38:15.614 [debug] QUERY OK source="settings" db=0.2ms idle=241.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 [] 12:38:15.615 [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 [] 12:38:15.617 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 12:38:15.622 [info] Sent 200 in 14ms 12:38:20.914 [info] {"source":"oban","duration":3059,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:35.500 [info] GET /sources/2/media/10117 12:38:35.501 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "10117", "source_id" => "2"} Pipelines: [:browser] 12:38:35.502 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=1129.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" = ?) [10117] 12:38:35.504 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=417.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" [10117] 12:38:35.504 [debug] QUERY OK source="sources" db=0.4ms idle=131.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" = ?) [2] 12:38:35.505 [debug] QUERY OK source="settings" db=0.3ms idle=132.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 [] 12:38:35.506 [debug] QUERY OK source="settings" db=0.2ms idle=133.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 [] 12:38:35.507 [debug] QUERY OK source="settings" db=0.4ms 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 [] 12:38:35.510 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 12:38:35.515 [info] Sent 200 in 15ms 12:38:50.918 [info] {"source":"oban","duration":2905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:51.686 [info] GET / 12:38:51.686 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:38:51.687 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1314.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 [] 12:38:51.687 [debug] QUERY OK source="media_profiles" db=0.2ms idle=769.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:38:51.688 [debug] QUERY OK source="sources" db=0.3ms idle=550.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:38:51.711 [debug] QUERY OK source="media_items" db=23.4ms idle=316.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:38:51.718 [debug] QUERY OK source="media_items" db=5.7ms idle=339.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:38:51.718 [debug] QUERY OK source="settings" db=0.3ms idle=31.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 [] 12:38:51.719 [debug] QUERY OK source="settings" db=0.4ms idle=31.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 [] 12:38:51.720 [debug] QUERY OK source="settings" db=0.2ms idle=31.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 [] 12:38:51.726 [debug] QUERY OK source="media_items" db=5.7ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 12:38:51.728 [debug] QUERY OK source="media_items" db=0.8ms idle=9.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:38:51.729 [debug] QUERY OK source="sources" db=0.3ms idle=9.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" IN (?,?)) [6, 2] 12:38:51.807 [debug] QUERY OK source="media_items" db=75.3ms idle=12.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 (((((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:38:51.828 [debug] QUERY OK source="media_items" db=20.9ms queue=0.1ms idle=87.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:38:51.830 [debug] QUERY OK source="sources" db=0.7ms idle=102.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] 12:38:51.833 [debug] QUERY OK source="tasks" db=0.8ms idle=104.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:38:51.834 [debug] QUERY OK source="media_items" db=0.5ms 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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3545, 3548] 12:38:51.836 [info] Sent 200 in 149ms 12:39:00.703 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:39:20.922 [info] {"source":"oban","duration":3040,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:46.949 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=eYf9z9Vsve8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e6/a3/e6a3dfaefa153a500c8ed83665fa092049ca3e0d2938a63ea237ee496dc6e57b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:39:47.095 [debug] Running yt-dlp command for action: download_thumbnail 12:39:47.097 [debug] QUERY OK source="settings" db=0.2ms idle=1725.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 [] 12:39:47.098 [debug] QUERY OK source="settings" db=0.2ms idle=1725.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 [] 12:39:47.098 [debug] QUERY OK source="settings" db=0.2ms idle=803.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 [] 12:39:47.099 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=eYf9z9Vsve8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3545/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/a9/99/a999e1894b7dda4dcddee52dc4c6815871d89bcd93d3c22c33407340d9c3b95e.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:39:50.926 [info] {"source":"oban","duration":2758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:52.070 [info] GET / 12:39:52.070 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:39:52.071 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1699.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 [] 12:39:52.073 [debug] QUERY OK source="media_profiles" db=0.9ms idle=1699.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:39:52.074 [debug] QUERY OK source="sources" db=0.3ms idle=1701.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:39:52.114 [debug] QUERY OK source="media_items" db=40.1ms idle=1148.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:39:52.119 [debug] QUERY OK source="media_items" db=4.3ms queue=0.2ms idle=806.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:39:52.121 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=48.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 [] 12:39:52.121 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=48.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 [] 12:39:52.124 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=48.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 [] 12:39:52.128 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms 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 (NOT (m0."media_filepath" IS NULL)) [] 12:39:52.130 [debug] QUERY OK source="media_items" db=0.7ms queue=0.2ms idle=9.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:39:52.131 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=10.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" IN (?,?)) [6, 2] 12:39:52.220 [debug] QUERY OK source="media_items" db=81.9ms idle=16.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 (((((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:39:52.235 [debug] QUERY OK source="media_items" db=14.6ms idle=96.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:39:52.236 [debug] QUERY OK source="sources" db=0.2ms idle=107.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] 12:39:52.239 [debug] QUERY OK source="tasks" db=0.4ms idle=108.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:39:52.240 [debug] QUERY OK source="media_items" db=0.4ms idle=107.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3545, 3548] 12:39:52.241 [info] Sent 200 in 170ms 12:39:53.329 [info] {"args":{"id":3},"id":1668,"meta":{},"system_time":1774661993329570091,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:39:53.341 [debug] QUERY OK source="sources" db=10.8ms idle=1091.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] 12:39:53.354 [debug] QUERY OK source="settings" db=12.4ms queue=0.1ms idle=1102.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 [] 12:39:53.369 [debug] QUERY OK source="media_profiles" db=13.6ms queue=0.2ms idle=1043.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] 12:39:53.388 [debug] QUERY OK source="settings" db=17.8ms idle=53.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 [] 12:39:53.388 [debug] Fetching recent media IDs from YouTube API for playlist: UUwnKziETDbHJtx78nIkfYug 12:39:53.390 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=60.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 [] 12:39:53.390 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:39:54.033 [debug] QUERY OK source="media_items" db=2.1ms idle=689.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 m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "QtpFa0LdXEY", "8Rv4wwcQ89Y", "2cRKv1oqyX8", "mQfQwLW6CNw", "y0TZuhNixNk", "GZ7wE3XOwFU", "-aRdX-kZ9g4", "99bldMr1byI", "EzCiEv1IqiA", "mC5NdpSMDks", "ccV3u3D9ONE", "cVCDjEfPzII", "n0X2rqzKTgM", "dcuCvRNqmpY", "GG1qX8jHKGo", "k9wkleHFvo0", "CWoYVlMuUNQ", "xlfeieH4z38", "eZM2Ik-FHEU", "CtcTG8-qzbA", "6Mmj7mf1qlg", "InwVO9qBjqs", "1Hp-W2bpPrw", "VtE5sTpkn7k", "8dOJypt2F70", "Evm4t4prtWo", "taLzgvbrnv0", "rgCrnyf5JEI", "PHhc-48JT3U", "vFKjpNNjNGw", "VJQlOI70ubw", "E5cfNq0DO90", "DNBGSsZatbY", "pna1NyaHTls", "CUHao-vA98g", "cPN9BJe_RQw", "rCBt4XgCX-0", "f4g6KKGMmEI", "P_I5Jsc3xRw", "fPaU2l7RktM", "0PVwt01b6fs", "0qMDM4Y4Hwo", "Ld285PDsHvs", "p1mQC71wplA", "9k5JhKK6WlA", "WPxrifmtlQI", "nVNBmK7a1y8", "QDnMYztaxfI", "gxsaWhXG1Gg", ...] 12:39:54.044 [debug] QUERY OK source="media_items" db=6.7ms queue=0.1ms idle=682.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 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] 12:39:54.048 [debug] QUERY OK source="tasks" db=0.9ms idle=657.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1674, 3, ~U[2026-03-28 01:39:54Z], ~U[2026-03-28 01:39:54Z]] 12:39:54.050 [info] {"args":{"id":3},"id":1668,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":719095,"event":"job:stop","queue_time":265402,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:39:54.067 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=eYf9z9Vsve8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3545/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/a9/99/a999e1894b7dda4dcddee52dc4c6815871d89bcd93d3c22c33407340d9c3b95e.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:39:54.068 [debug] QUERY OK db=0.0ms idle=22.3ms begin [] 12:39:54.071 [debug] QUERY OK source="media_items" db=2.3ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:39:46Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e021799 - What happens when you make an Old Fashioned, Manhattan, Moscow Mule - but different?.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e021799 - What happens when you make an Old Fashioned, Manhattan, Moscow Mule - but different?.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e021799 - What happens when you make an Old Fashioned, Manhattan, Moscow Mule - but different?.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e021799 - What happens when you make an Old Fashioned, Manhattan, Moscow Mule - but different?.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e021799 - What happens when you make an Old Fashioned, Manhattan, Moscow Mule - but different?.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e021799 - What happens when you make an Old Fashioned, Manhattan, Moscow Mule - but different?-thumb.jpg", ~U[2026-03-28 01:39:54Z], 3545] 12:39:54.073 [debug] QUERY OK source="media_metadata" db=1.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/3545/metadata.json.gz", "/config/metadata/media_items/3545/thumbnail.jpg", 3545, ~U[2026-03-28 01:39:54Z], ~U[2026-03-28 01:39:54Z]] 12:39:54.075 [debug] QUERY OK db=1.8ms commit [] 12:39:54.083 [debug] QUERY OK source="media_items" db=4.3ms idle=31.9ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [121842640, ~U[2026-03-28 01:39:54Z], 3545] 12:39:54.084 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:39:54.085 [info] {"args":{"id":3545},"id":623,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":217458710,"event":"job:stop","queue_time":77198615131,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:39:54.094 [info] {"args":{"id":3551},"id":625,"meta":{},"system_time":1774661994093925485,"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"]} 12:39:54.095 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=35.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" = ?) [3551] 12:39:54.096 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:39:54.098 [debug] QUERY OK source="sources" db=1.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" = ?) [4] 12:39:54.099 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=15.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] 12:39:54.100 [debug] QUERY OK source="media_items" db=0.4ms idle=14.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 [3551] 12:39:54.105 [debug] QUERY OK source="media_metadata" db=0.6ms 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" = ?) [3551] 12:39:54.105 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 12:39:54.106 [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 [] 12:39:54.106 [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 [] 12:39:54.107 [debug] Running yt-dlp command for action: get_downloadable_status 12:39:54.109 [debug] QUERY OK source="settings" db=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 [] 12:39:54.109 [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 [] 12:39:54.109 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:39:54.110 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=pAy4AvOJgYI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d8/e5/d8e5a69d69b132c9cd8da05026683a632752aa70ce83a1ea2a61237c6ddeaf2a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:40:00.706 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:40:01.159 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=pAy4AvOJgYI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d8/e5/d8e5a69d69b132c9cd8da05026683a632752aa70ce83a1ea2a61237c6ddeaf2a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:40:01.160 [debug] Running yt-dlp command for action: download 12:40:01.161 [debug] QUERY OK source="settings" db=0.5ms idle=1788.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 [] 12:40:01.161 [debug] QUERY OK source="settings" db=0.3ms idle=1788.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 [] 12:40:01.162 [debug] QUERY OK source="settings" db=0.3ms idle=1789.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 [] 12:40:01.163 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=pAy4AvOJgYI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e8/6a/e86ab021ce884ffb7e3ea9d92e65154cc4290637d5eff5aadbe1b2ab5305c29d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:40:20.929 [info] {"source":"oban","duration":2381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:37.525 [info] {"args":{"id":2},"id":1669,"meta":{},"system_time":1774662037524938108,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:40:37.526 [debug] QUERY OK source="sources" db=0.7ms idle=1079.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] 12:40:37.528 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=154.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 [] 12:40:37.529 [debug] QUERY OK source="media_profiles" db=0.8ms idle=156.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] 12:40:37.530 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=78.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 [] 12:40:37.531 [debug] Fetching recent media IDs from YouTube API for playlist: UUjzi56cxvmEDwjo1Bd2Yxpg 12:40:37.531 [debug] QUERY OK source="settings" db=0.4ms idle=6.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 [] 12:40:37.531 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:40:38.066 [debug] QUERY OK source="media_items" db=2.1ms idle=537.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "CzjE_CAAdm8", "Hw2_s31u_4Q", "b4x9IzQtiA0", "16aM5Bop7Qw", "3hBk9xqT9hs", "xDa45wnAzc8", "Yq41acIvzj8", "Ttn_Q1B2ALc", "-bV0F6OP31U", "qAstyiKRt10", "NF2StvrYme0", "_Q-2UzYr3AA", "FeEEy3jZvlM", "EHaNwda0xto", "KL0u63mAy5M", "fzklfnO42ts", "oZ4kddHCFVY", "spSOp5s_6_A", "C48yl9fSYv8", "654RgtNwXZ8", "4wu_B_XF6wk", "wFLJxWyDJPs", "J5NKnYfn6qw", "fcVRuF6c-bc", "xNAFpSnpqjs", "cavmWZnCeJI", "_J0gQ5GdUSk", "_oISg668F40", "v34wa9QhF0s", "iEen_cClzkg", "CD9wUM2v-0U", "E8k9oqjl5_E", "lQDUMfg_SJc", "pPMD0YPBHQ4", "qq1IN4umTI8", "L63goFhe8KM", "5OXvwQ3CB1I", "doZvHBPoVCw", "9SXMTDO4lIo", "8JmSUN8jp3Q", "7oSgaaUEjZM", "sKSPwnFSRCw", "gdY_Q9ltw8w", "uHbviTslBFY", "gMzXgYFT4Ck", "NdsMuD-_5To", "9JXltNRqLu4", "7ThBvLBMacw", "7BTWa3jFBMw", ...] 12:40:38.069 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=540.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 [] 12:40:38.069 [debug] QUERY OK source="settings" db=0.2ms idle=539.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 [] 12:40:38.069 [debug] Running yt-dlp command for action: get_media_attributes 12:40:38.073 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=541.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 [] 12:40:38.074 [debug] QUERY OK source="settings" db=1.1ms idle=541.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 [] 12:40:38.076 [debug] QUERY OK source="settings" db=0.5ms 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 [] 12:40:38.076 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CzjE_CAAdm8 --simulate --skip-download --output /downloads/shows/The Electric Viking/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/00/8a/008ab61ea23011ace030d65e3984f828ac555acd57b405130175c7068caf7d18.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:40:42.001 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=v56XS--q1uQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/56/36/5636b5b7f91553dc7f2cadd727d54aed85f3f0da1424b67cb6af3f3999d10225.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:40:42.280 [debug] Running yt-dlp command for action: download_thumbnail 12:40:42.283 [debug] QUERY OK source="settings" db=0.5ms idle=909.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 [] 12:40:42.284 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=910.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 [] 12:40:42.284 [debug] QUERY OK source="settings" db=0.3ms idle=911.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 [] 12:40:42.285 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=v56XS--q1uQ --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3548/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/96/7a/967a200bc49432c76ff173e80e43821fd35d429211bf4007130a67f6e800791d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:40:48.910 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CzjE_CAAdm8 --simulate --skip-download --output /downloads/shows/The Electric Viking/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/00/8a/008ab61ea23011ace030d65e3984f828ac555acd57b405130175c7068caf7d18.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:40:48.912 [debug] QUERY OK source="sources" db=0.7ms idle=1539.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] 12:40:48.964 [debug] QUERY OK source="media_items" db=50.2ms queue=0.4ms idle=1540.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-28 01:30:00Z], 2] 12:40:48.974 [debug] QUERY OK source="media_items" db=9.2ms idle=1474.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["BYD’s Self-Driving Disaster: Erratic Steering, Glitches, and Broken Promises\n\nBYD's highly anticipated self-driving technology is facing serious backlash. Alarming reports of erratic steering, dangerous glitches, and major system failures are exposing deep flaws in their \"God's Eye\" autonomous driving suite. In this video, we break down the reality behind BYD's self-driving disaster, what these broken promises mean for driver safety, and how this massive setback impacts their battle against Tesla's FSD and other global EV rivals. Are these vehicles truly safe for the road?\n\n👉Book a 1-Hour Consultation with The Electric Viking via the link at https://theelectricviking.com/consultation/\n\nSign up for my newsletter here ► https://theelectricviking.com/newsletter/\n\n🔔 Subscribe and hit the notification bell! ► https://www.youtube.com/@electricviking?sub_confirmation=1\n\n👉Use Australia's best Solar, Home Battery and EV charger comparison tool - It's 100% free to use: \nhttps://compare.solarchoice.net.au/the-electric-viking/?sca=electric_viking\n\nJoin me on Patreon ► https://www.patreon.com/theelectricviking\n\nJoin as a member in The Electric Viking YouTube►\nhttps://www.youtube.com/channel/UCjzi56cxvmEDwjo1Bd2Yxpg/join\n\nMembers-only videos (see videos before anyone else)►\nhttps://www.youtube.com/playlist?list=UUMOjzi56cxvmEDwjo1Bd2Yxpg\n\nSupport by sending Super Thanks! Here's how to buy a Super Thanks:\nhttps://youtu.be/wvgL1xghIGU\n\nThe best solar company in Australia just installed my new solar system. \nCheck them out here: https://www.resinc.com.au/electricviking\n\nI use Starlink internet to upload all of my videos, use my referral link here: https://www.starlink.com/residential?referral=RC-392400-91086-9\n\n👇👇 Buy something and support The Electric Viking Store 👇👇\nhttps://shop.theelectricviking.com/\n\nSize guide and other help for the store 👇\nhttps://theelectricviking.com/the-electric-viking-products-size-guide/\n\nSee what happened to Shanna (Sam's wife): \nhttps://youtu.be/D6Ah4IC4TLA\n\nThe Electric Viking on other platforms: \nApple Podcasts ► https://podcasts.apple.com/us/podcast/the-electric-viking/id1826841318\nSpotify Podcasts ► https://open.spotify.com/show/7qDxQ2PDFC3KvJq5f7Oxih\nIf it's not available in your country, use this link: https://podcasters.spotify.com/pod/show/theelectricviking\nRumble ► https://rumble.com/c/TheElectricViking\nFacebook page ► https://www.facebook.com/theelectricvikingfb\nFacebook group ► https://www.facebook.com/groups/theevfbgroup/\nX (Formerly known as Twitter) ► https://x.com/theevking\nInstagram ► https://www.instagram.com/theelectricvking/\nPinterest ► https://www.pinterest.com/theelectricviking/\nTelegram ► https://t.me/theelectricviking\nTikTok ► https://tiktok.com/@theelectricviking \nRead my blog ► https://theelectricviking.com/blog/\n\n👇 My Bali trip 👇\nhttps://youtu.be/teGyu5zSaYI\n\n👇My Bangladesh Trip 👇\nhttps://youtu.be/_JUTn2w2r6Q\n\n 👇 Video about My Skateboard 👇\nhttps://youtu.be/N9srJ1D2eGA\n\n👇 Subscribe to my kids channel 👇\nhttps://tinyurl.com/subscribetojackandcal\n\nSee more videos: \nBYD Reveals Denza Electric SuperCar ROBOTAXI With NO STEERING WHEEL!\nhttps://youtu.be/b4x9IzQtiA0\n\nPanic buying sees more than 1000 Service (Gas) stations run out of fuel!\nhttps://youtu.be/-bV0F6OP31U\n\nFossil Fuel Brainwashing is Making Low Income Americans Poorer\nhttps://youtu.be/qAstyiKRt10\n\n1 Terawatt of Power: The Hardware Singularity Has Arrived\nhttps://youtu.be/FeEEy3jZvlM\n\nThe New King of 2kWh? Anker SOLIX C2000 Gen 2 Portable Battery Review\nhttps://youtu.be/YSnBqYW4XrU\n\nToyota, GM and Hyundai Discount US Electric Cars by $10,000!\nhttps://youtu.be/0yKz-O1MzM8\n\nBYD vs. Geely: The Brutal Battle for the World’s Fastest EV Charging\nhttps://youtu.be/XsqJkZamGKA\n\nGerman Media Says Tesla Germany Operating At 40% Capacity As Sales Fall in Europe\nhttps://youtu.be/of1L0weVwbw\n\nXpeng Reveals Specs for NEW G6 EREV - 420km range, 380kw DC Charging!\nhttps://youtu.be/cdVfkB1IvKA\n\n\n#byd #autonomousdriving #electricvehicles #selfdrivingcars #BYDSelfDriving #godseye #BYDDisaster #theelectricviking #chineseevs #adas \n\n 👇Referenc" <> ..., "BYD’s Self-Driving Disaster: Erratic Steering, Glitches, and Broken Promises", "d4e79732-1dd9-496f-a358-c6c318d132eb", "CzjE_CAAdm8", 1213, false, "https://www.youtube.com/watch?v=CzjE_CAAdm8", 0, "/downloads/shows/The Electric Viking/Season 2026/s2026e032800 - BYD’s Self-Driving Disaster: Erratic Steering, Glitches, and Broken Promises.mp4", false, false, false, 2, [], 99, ~U[2026-03-28 01:30:00Z], ~U[2026-03-28 01:40:48Z], ~U[2026-03-28 01:40:48Z], "BYD’s Self-Driving Disaster: Erratic Steering, Glitches, and Broken Promises\n\nBYD's highly anticipated self-driving technology is facing serious backlash. Alarming reports of erratic steering, dangerous glitches, and major system failures are exposing deep flaws in their \"God's Eye\" autonomous driving suite. In this video, we break down the reality behind BYD's self-driving disaster, what these broken promises mean for driver safety, and how this massive setback impacts their battle against Tesla's FSD and other global EV rivals. Are these vehicles truly safe for the road?\n\n👉Book a 1-Hour Consultation with The Electric Viking via the link at https://theelectricviking.com/consultation/\n\nSign up for my newsletter here ► https://theelectricviking.com/newsletter/\n\n🔔 Subscribe and hit the notification bell! ► https://www.youtube.com/@electricviking?sub_confirmation=1\n\n👉Use Australia's best Solar, Home Battery and EV charger comparison tool - It's 100% free to use: \nhttps://compare.solarchoice.net.au/the-electric-viking/?sca=electric_viking\n\nJoin me on Patreon ► https://www.patreon.com/theelectricviking\n\nJoin as a member in The Electric Viking YouTube►\nhttps://www.youtube.com/channel/UCjzi56cxvmEDwjo1Bd2Yxpg/join\n\nMembers-only videos (see videos before anyone else)►\nhttps://www.youtube.com/playlist?list=UUMOjzi56cxvmEDwjo1Bd2Yxpg\n\nSupport by sending Super Thanks! Here's how to buy a Super Thanks:\nhttps://youtu.be/wvgL1xghIGU\n\nThe best solar company in Australia just installed my new solar system. \nCheck them out here: https://www.resinc.com.au/electricviking\n\nI use Starlink internet to upload all of my videos, use my referral link here: https://www.starlink.com/residential?referral=RC-392400-91086-9\n\n👇👇 Buy something and support The Electric Viking Store 👇👇\nhttps://shop.theelectricviking.com/\n\nSize guide and other help for the store 👇\nhttps://theelectricviking.com/the-electric-viking-products-size-guide/\n\nSee what happened to Shanna (Sam's wife): \nhttps://youtu.be/D6Ah4IC4TLA\n\nThe Electric Viking on other platforms: \nApple Podcasts ► https://podcasts.apple.com/us/podcast/the-electric-viking/id1826841318\nSpotify Podcasts ► https://open.spotify.com/show/7qDxQ2PDFC3KvJq5f7Oxih\nIf it's not available in your country, use this link: https://podcasters.spotify.com/pod/show/theelectricviking\nRumble ► https://rumble.com/c/TheElectricViking\nFacebook page ► https://www.facebook.com/theelectricvikingfb\nFacebook group ► https://www.facebook.com/groups/theevfbgroup/\nX (Formerly known as Twitter) ► https://x.co (truncated) 12:40:48.975 [debug] QUERY OK source="sources" db=1.0ms idle=602.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" = ?) [2] 12:40:48.976 [debug] QUERY OK source="media_profiles" db=0.5ms idle=482.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] 12:40:48.978 [debug] QUERY OK source="media_items" db=0.4ms idle=64.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 [34532] 12:40:48.978 [info] Kicking off download for media item #34532 (CzjE_CAAdm8) 12:40:48.990 [debug] QUERY OK source="tasks" db=0.5ms idle=13.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1675, 34532, ~U[2026-03-28 01:40:48Z], ~U[2026-03-28 01:40:48Z]] 12:40:49.070 [debug] QUERY OK source="media_items" db=79.6ms idle=13.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 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] 12:40:49.079 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms idle=88.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" = ?) [2] 12:40:49.081 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.1ms idle=89.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] 12:40:49.083 [debug] QUERY OK source="media_items" db=0.8ms queue=0.2ms idle=11.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 [34532] 12:40:49.084 [info] [command_wrapper]: /usr/local/bin/apprise called with: --verbose --title [Pinchflat] New media found --body Found 1 new media item(s) for The Electric Viking. Downloading them now https://apprise-api.suranyami.com/notify/2dbe57284e04afecdd1a3fb22538fc91072344d08a496e2ca1f46e1ba4e75c77 12:40:49.692 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=v56XS--q1uQ --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3548/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/96/7a/967a200bc49432c76ff173e80e43821fd35d429211bf4007130a67f6e800791d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:40:49.693 [debug] QUERY OK db=0.0ms idle=616.2ms begin [] 12:40:49.695 [debug] QUERY OK source="media_items" db=1.7ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [652, ~U[2026-03-28 01:40:42Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e021099 - Old Fashioned Twist on a Tiki Classic - the Zombie!.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e021099 - Old Fashioned Twist on a Tiki Classic - the Zombie!.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e021099 - Old Fashioned Twist on a Tiki Classic - the Zombie!.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e021099 - Old Fashioned Twist on a Tiki Classic - the Zombie!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e021099 - Old Fashioned Twist on a Tiki Classic - the Zombie!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e021099 - Old Fashioned Twist on a Tiki Classic - the Zombie!-thumb.jpg", ~U[2026-03-28 01:40:49Z], 3548] 12:40:49.697 [debug] QUERY OK source="media_metadata" db=1.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/3548/metadata.json.gz", "/config/metadata/media_items/3548/thumbnail.jpg", 3548, ~U[2026-03-28 01:40:49Z], ~U[2026-03-28 01:40:49Z]] 12:40:49.697 [debug] QUERY OK db=0.3ms commit [] 12:40:49.703 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=621.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [118659474, ~U[2026-03-28 01:40:49Z], 3548] 12:40:49.704 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:40:49.707 [info] {"args":{"id":3548},"id":624,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":228500154,"event":"job:stop","queue_time":77239197136,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:40:49.720 [info] {"args":{"id":34532},"id":1675,"meta":{},"system_time":1774662049720646446,"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"]} 12:40:49.721 [debug] QUERY OK source="media_items" db=0.4ms idle=225.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" = ?) [34532] 12:40:49.722 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:40:49.722 [debug] QUERY OK source="sources" db=0.3ms queue=0.2ms idle=24.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" = ?) [2] 12:40:49.723 [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] 12:40:49.724 [debug] QUERY OK source="media_items" db=0.4ms idle=16.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 [34532] 12:40:49.725 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.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" = ?) [34532] 12:40:49.725 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.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] 12:40:49.726 [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 [] 12:40:49.726 [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 [] 12:40:49.727 [debug] Running yt-dlp command for action: get_downloadable_status 12:40:49.727 [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 [] 12:40:49.728 [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 [] 12:40:49.728 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:40:49.728 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CzjE_CAAdm8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9e/6a/9e6a34154504873042b7067b35d74e49f113e3f3ccbd60b28a78052fc57c64ab.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:40:49.784 [error] [command_wrapper]: /usr/local/bin/apprise called with: --verbose --title [Pinchflat] New media found --body Found 1 new media item(s) for The Electric Viking. Downloading them now https://apprise-api.suranyami.com/notify/2dbe57284e04afecdd1a3fb22538fc91072344d08a496e2ca1f46e1ba4e75c77 exited: 1 with: 2026-03-28 12:40:49,656 - ERROR - Unparseable URL https://a...m/notify/2...7 You must specify at least one server URL or populated configuration file. Try 'apprise --help' for more information. 12:40:49.784 [error] Failed to send new media notification for source 2: 2026-03-28 12:40:49,656 - ERROR - Unparseable URL https://a...m/notify/2...7 You must specify at least one server URL or populated configuration file. Try 'apprise --help' for more information. 12:40:49.789 [debug] QUERY OK source="tasks" db=1.3ms idle=60.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1676, 2, ~U[2026-03-28 01:40:49Z], ~U[2026-03-28 01:40:49Z]] 12:40:49.790 [info] {"args":{"id":2},"id":1669,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":12264864,"event":"job:stop","queue_time":483619,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:40:50.934 [info] {"source":"oban","duration":4604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:52.473 [info] GET / 12:40:52.473 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:40:52.475 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1101.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 [] 12:40:52.475 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1103.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:40:52.476 [debug] QUERY OK source="sources" db=0.3ms idle=1103.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:40:52.515 [debug] QUERY OK source="media_items" db=38.8ms idle=973.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:40:52.520 [debug] QUERY OK source="media_items" db=4.1ms idle=40.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:40:52.520 [debug] QUERY OK source="settings" db=0.1ms idle=44.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 [] 12:40:52.521 [debug] QUERY OK source="settings" db=0.3ms idle=44.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 [] 12:40:52.521 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:40:52.525 [debug] QUERY OK source="media_items" db=2.9ms idle=6.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 (NOT (m0."media_filepath" IS NULL)) [] 12:40:52.526 [debug] QUERY OK source="media_items" db=0.5ms idle=5.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:40:52.527 [debug] QUERY OK source="sources" db=0.2ms idle=5.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" IN (?,?)) [6, 2] 12:40:52.584 [debug] QUERY OK source="media_items" db=54.8ms 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 (((((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:40:52.619 [debug] QUERY OK source="media_items" db=34.5ms queue=0.1ms idle=62.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:40:52.620 [debug] QUERY OK source="sources" db=0.4ms idle=93.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" IN (?,?)) [6, 2] 12:40:52.622 [debug] QUERY OK source="tasks" db=0.5ms idle=95.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:40:52.623 [debug] QUERY OK source="media_items" db=0.6ms idle=95.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3551, 34532] 12:40:52.624 [info] Sent 200 in 151ms 12:40:58.770 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CzjE_CAAdm8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9e/6a/9e6a34154504873042b7067b35d74e49f113e3f3ccbd60b28a78052fc57c64ab.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:40:58.770 [debug] Running yt-dlp command for action: download 12:40:58.771 [debug] QUERY OK source="settings" db=0.3ms idle=1236.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 [] 12:40:58.772 [debug] QUERY OK source="settings" db=0.2ms idle=398.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 [] 12:40:58.772 [debug] QUERY OK source="settings" db=0.2ms idle=399.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 [] 12:40:58.773 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CzjE_CAAdm8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/The Electric Viking/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/The Electric Viking/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f3/f0/f3f0b70b7da4916fa46283ac11452dada247c5861fdaed5edb2c18d50da6f623.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:40:59.548 [info] {"args":{"id":4},"id":1670,"meta":{},"system_time":1774662059548653527,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:40:59.549 [debug] QUERY OK source="sources" db=0.7ms idle=777.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] 12:40:59.557 [debug] QUERY OK source="settings" db=6.7ms idle=778.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 [] 12:40:59.558 [debug] QUERY OK source="media_profiles" db=0.4ms idle=784.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] 12:40:59.565 [debug] QUERY OK source="settings" db=6.9ms idle=16.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 [] 12:40:59.565 [debug] Fetching recent media IDs from YouTube API for playlist: UUEiui9T4ZYx8K8nuZ5YFSTw 12:40:59.566 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=17.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 [] 12:40:59.567 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:41:00.063 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=508.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [4, "gthI7e6zPWo", "psRX1C7auj8", "2ZtSRjGhStw", "Z8KiNkDP9c4", "AZibPvCnG4k", "QXNPI7Ucivo", "WtxCD4567G4", "80bkfWoOHaE", "pYBAEGrhggM", "9M3wLySdGXY", "mcvbD_Ipbf8", "E_Y7kLO3Iaw", "gPdh5lVJYD0", "qrkTK1UcvSM", "45UcuOLjxeY", "gnbhO9hJ198", "fiFzXo1wNno", "TM5mKkwC0Ok", "kS2A72peqmg", "ueDcEpRFW_M", "AN4-pHYBK2M", "TMNa6ocIv8o", "S1Vt1tQJczE", "_BEmUjtwhLw", "1bxoWiQ2AQY", "CZeRfNeKEBE", "2nftRe3tjLQ", "v1biAguVbg8", "cLDsQImoeHQ", "hhH7mchDBXY", "uQj2W5ej104", "vYRV_nprXBA", "1v_qsQL3mo8", "hfHxFTbVaTo", "mfWqziOaR4A", "AmCWMmKgHkI", "ZWgq-s8r2FE", "1dAkTDsD1c4", "ozdDp_eMPZY", "iHogtXxywLQ", "7ysd04ltGag", "5jq8kH9s0V8", "AB6bC9gtfoc", "R7Tm3zvyy9U", "dUHzocz0hLo", "9Oh6oVrf7kM", "LzUhByZ4jtc", "j7evpR_Fbsw", "_iGhJt3ah8E", ...] 12:41:00.073 [debug] QUERY OK source="media_items" db=7.8ms idle=508.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 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] 12:41:00.360 [debug] QUERY OK source="tasks" db=0.3ms idle=3.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1677, 4, ~U[2026-03-28 01:41:00Z], ~U[2026-03-28 01:41:00Z]] 12:41:00.360 [info] {"args":{"id":4},"id":1670,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":811475,"event":"job:stop","queue_time":219805,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:41:00.707 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:41:20.939 [info] {"source":"oban","duration":3237,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:50.943 [info] {"source":"oban","duration":3201,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:52.898 [info] GET / 12:41:52.898 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:41:52.899 [debug] QUERY OK source="settings" db=0.3ms idle=1153.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 [] 12:41:52.899 [debug] QUERY OK source="media_profiles" db=0.1ms idle=526.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:41:52.899 [debug] QUERY OK source="sources" db=0.1ms idle=527.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:41:52.938 [debug] QUERY OK source="media_items" db=37.9ms queue=0.1ms idle=527.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:41:52.942 [debug] QUERY OK source="media_items" db=4.1ms queue=0.1ms idle=189.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:41:52.943 [debug] QUERY OK source="settings" db=0.3ms idle=44.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 [] 12:41:52.944 [debug] QUERY OK source="settings" db=0.3ms idle=44.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 [] 12:41:52.945 [debug] QUERY OK source="settings" db=0.2ms idle=44.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 [] 12:41:52.950 [debug] QUERY OK source="media_items" db=4.4ms 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 (NOT (m0."media_filepath" IS NULL)) [] 12:41:52.951 [debug] QUERY OK source="media_items" db=0.7ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:41:52.952 [debug] QUERY OK source="sources" db=0.5ms idle=8.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" IN (?,?)) [6, 2] 12:41:53.014 [debug] QUERY OK source="media_items" db=58.9ms idle=11.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 (((((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:41:53.073 [debug] QUERY OK source="media_items" db=58.6ms idle=69.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:41:53.074 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=123.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" IN (?,?)) [6, 2] 12:41:53.078 [debug] QUERY OK source="tasks" db=0.6ms idle=125.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:41:53.079 [debug] QUERY OK source="media_items" db=0.5ms idle=126.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3551, 34532] 12:41:53.081 [info] Sent 200 in 183ms 12:41:56.771 [info] {"args":{"id":5},"id":1671,"meta":{},"system_time":1774662116771586048,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:41:56.791 [debug] QUERY OK source="sources" db=18.8ms queue=0.1ms idle=399.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" = ?) [5] 12:41:56.803 [debug] QUERY OK source="settings" db=11.4ms queue=0.1ms idle=419.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 [] 12:41:56.812 [debug] QUERY OK source="media_profiles" db=8.5ms queue=0.1ms idle=431.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] 12:41:56.814 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=48.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 [] 12:41:56.814 [debug] Fetching recent media IDs from YouTube API for playlist: UUVwfqPkv08OTuHzkPU3EaDw 12:41:56.814 [debug] QUERY OK source="settings" db=0.3ms idle=43.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 [] 12:41:56.815 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:41:57.273 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=479.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [5, "k8Yr1jU-0EE", "NFrnhg8hI0c", "20XMhcpSNV0", "YVGFnwJho6E", "xQXiSGDXknA", "uZl0TO8i96g", "Hs5ewNKWUwk", "E5suxhHY0aY", "sCou7ut2L-o", "a0INtLdzUiE", "n0x8sH0M9CE", "W4Af6DIMqnE", "Q-sUbLem5aI", "s-jMj11w68U", "DS9HZG5JRBc", "_wLy-vzLi3E", "iFpZfYwRcns", "nPovqKKSKcE", "j_w4tRYm7Og", "laZpTO7IFtA", "FM5e9Vb1noE", "cK6g53lLgnw", "1X5WYEhzGyI", "QVpu66njzdE", "tfnANe2YUwM", "0-QK6hxLxgM", "TYUeXqSlcDg", "0322Pk-GKto", "1Em1UrRSEXc", "x2RT9Awsyi8", "4Yth52yml8E", "ky9Zo2FmjQ8", "npU2QpX5piA", "XEb_1Sq8jNo", "L3QQDAKxUIk", "l3s8S6bBbOs", "WyWBU1NpDf8", "7wZ0NVuoDWg", "-Ig2-rBZtSI", "5BG06-J1t4Y", "GcQ6vQEeQew", "ap8S88LeiB0", "4LvXP3XR6gw", "I9o65_aIq0Q", "Ut9XjFkGK6s", "PcFkjR5NELA", "Yl67318oP-s", "umbar5BKBus", "FEfCtNhVjJ0", ...] 12:41:57.281 [debug] QUERY OK source="media_items" db=2.8ms queue=0.5ms idle=475.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 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")))) [5] 12:41:57.511 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=8.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1678, 5, ~U[2026-03-28 01:41:57Z], ~U[2026-03-28 01:41:57Z]] 12:41:57.513 [info] {"args":{"id":5},"id":1671,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":740228,"event":"job:stop","queue_time":398591,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:42:00.709 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:42:16.923 [info] GET /sources/2/media/10117 12:42:16.923 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "10117", "prevent_download" => "true", "source_id" => "2"} Pipelines: [:browser] 12:42:16.924 [debug] QUERY OK source="media_items" db=0.8ms idle=1551.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" = ?) [10117] 12:42:16.926 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=1553.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" [10117] 12:42:16.926 [debug] QUERY OK source="sources" db=0.8ms idle=1091.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" = ?) [2] 12:42:16.928 [debug] QUERY OK source="settings" db=0.5ms idle=555.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 [] 12:42:16.928 [debug] QUERY OK source="settings" db=0.2ms idle=91.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 [] 12:42:16.929 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:42:16.931 [debug] QUERY OK source="media_profiles" db=0.4ms idle=3.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] 12:42:16.933 [info] Sent 200 in 9ms 12:42:20.947 [info] {"source":"oban","duration":3153,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:30.648 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=pAy4AvOJgYI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e8/6a/e86ab021ce884ffb7e3ea9d92e65154cc4290637d5eff5aadbe1b2ab5305c29d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:42:30.787 [debug] Running yt-dlp command for action: download_thumbnail 12:42:30.788 [debug] QUERY OK source="settings" db=0.3ms idle=900.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 [] 12:42:30.789 [debug] QUERY OK source="settings" db=0.3ms idle=416.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 [] 12:42:30.789 [debug] QUERY OK source="settings" db=0.3ms idle=416.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 [] 12:42:30.789 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=pAy4AvOJgYI --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3551/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/87/fc/87fcfddcbd48e337bd6c65ba4f74868762c5693f307d11ca0c2d68f9d3d0ffaf.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:42:38.301 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=pAy4AvOJgYI --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3551/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/87/fc/87fcfddcbd48e337bd6c65ba4f74868762c5693f307d11ca0c2d68f9d3d0ffaf.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:42:38.302 [debug] QUERY OK db=0.0ms idle=1929.9ms begin [] 12:42:38.305 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:42:30Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e012799 - Whiskey Sour - Are You Making It The Right Way!?.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e012799 - Whiskey Sour - Are You Making It The Right Way!?.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e012799 - Whiskey Sour - Are You Making It The Right Way!?.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e012799 - Whiskey Sour - Are You Making It The Right Way!?.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e012799 - Whiskey Sour - Are You Making It The Right Way!?.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e012799 - Whiskey Sour - Are You Making It The Right Way!?-thumb.jpg", ~U[2026-03-28 01:42:38Z], 3551] 12:42:38.308 [debug] QUERY OK source="media_metadata" db=2.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/3551/metadata.json.gz", "/config/metadata/media_items/3551/thumbnail.jpg", 3551, ~U[2026-03-28 01:42:38Z], ~U[2026-03-28 01:42:38Z]] 12:42:38.308 [debug] QUERY OK db=0.5ms commit [] 12:42:38.330 [debug] QUERY OK source="media_items" db=5.6ms idle=1952.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [80639625, ~U[2026-03-28 01:42:38Z], 3551] 12:42:38.330 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:42:38.331 [info] {"args":{"id":3551},"id":625,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":164236967,"event":"job:stop","queue_time":77406091160,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:42:38.339 [info] {"args":{"id":3554},"id":626,"meta":{},"system_time":1774662158339478640,"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"]} 12:42:38.340 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=427.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" = ?) [3554] 12:42:38.341 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:42:38.342 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=32.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" = ?) [4] 12:42:38.343 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms 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] 12:42:38.345 [debug] QUERY OK source="media_items" db=0.8ms 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 [3554] 12:42:38.347 [debug] QUERY OK source="media_metadata" db=0.2ms idle=7.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" = ?) [3554] 12:42:38.347 [debug] QUERY OK source="media_profiles" db=0.4ms idle=6.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] 12:42:38.348 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:42:38.349 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:42:38.349 [debug] Running yt-dlp command for action: get_downloadable_status 12:42:38.351 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:42:38.351 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:42:38.352 [debug] QUERY OK source="settings" db=0.4ms 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 [] 12:42:38.353 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LBbOdL78lNA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/14/2e/142e02d17c2b232ed3da9c80b68630bb0d57c5003efa73dfb91d8d271441b53f.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:42:46.676 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LBbOdL78lNA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/14/2e/142e02d17c2b232ed3da9c80b68630bb0d57c5003efa73dfb91d8d271441b53f.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:42:46.676 [debug] Running yt-dlp command for action: download 12:42:46.677 [debug] QUERY OK source="settings" db=0.4ms idle=1304.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 [] 12:42:46.678 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1305.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 [] 12:42:46.679 [debug] QUERY OK source="settings" db=0.4ms idle=1306.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 [] 12:42:46.679 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LBbOdL78lNA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f0/ba/f0ba3c25f579d5ac9bec3b0f19d8f7bfdc08cf831c789f6044766c0bd4133d2d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:42:49.970 [info] {"args":{"id":1},"id":1672,"meta":{},"system_time":1774662169969981934,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:42:49.972 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=1598.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] 12:42:49.973 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1016.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 [] 12:42:49.974 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=601.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] 12:42:49.974 [debug] QUERY OK source="settings" db=0.2ms idle=12.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 [] 12:42:49.975 [debug] Fetching recent media IDs from YouTube API for playlist: UUISrVZmDM4x-Rq9mmNUw7Zw 12:42:49.975 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:42:49.975 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:42:50.486 [debug] QUERY OK source="media_items" db=1.5ms idle=512.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "Q0qmHym16H4", "WcWL0_PlcO8", "dQV1WkSly7k", "Xpohopi2_tA", "fsZdCn4jIUY", "hgk2jMPnG2w", "oDh4gg7xiUs", "3LfUmSMW_qc", "5gN9QvwPLq8", "uSBe19ms3aw", "Eq1BmJikpHA", "OsKelxcQUNo", "zNP6Q_Yk9hU", "ZPPCc15thCc", "UzARiS2CyJ4", "r8X8HVGVV1o", "_JI7oYBFZIo", "niCh-EI1Kfo", "92mSBlpBEJo", "_6OAB_8iwqs", "tJbcC43WELc", "cPz1rUCNI0o", "hFzt_dOdElw", "nC-QKeluT0c", "i8ARsrsVUMM", "X30l-491qck", "rzQeUM-lMUY", "BkUHm95UvCw", "MQ2cHq3-J7A", "CtF5dLHITYA", "SGJkxRdkRGg", "OUCt85aJaAA", "9gARPYZOka4", "-uH-Gi5tjEw", "qwUBBQKYX94", "s8VLDSQJ8nA", "EvPfr0lKkh4", "msXzAxF49gA", "hQCWaSvjkU0", "RcmjVsy3a-g", "xtuNc9vYJG4", "fj2tcg8OzsM", "2FZ4IfPACDM", "2Q9DzW20YJ8", "IVsWFGOE_mw", "vPxpMcv2Z4Y", "Zverj_ldlhY", "pQK8xasPd9Q", "_Yo7nh8u9pk", ...] 12:42:50.489 [debug] QUERY OK source="media_items" db=1.6ms idle=514.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 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] 12:42:50.513 [debug] QUERY OK source="tasks" db=0.3ms idle=7.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1679, 1, ~U[2026-03-28 01:42:50Z], ~U[2026-03-28 01:42:50Z]] 12:42:50.514 [info] {"args":{"id":1},"id":1672,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":543808,"event":"job:stop","queue_time":626342,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:42:50.949 [info] {"source":"oban","duration":1472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:53.320 [info] GET / 12:42:53.320 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:42:53.321 [debug] QUERY OK source="settings" db=0.4ms idle=948.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 [] 12:42:53.321 [debug] QUERY OK source="media_profiles" db=0.1ms idle=949.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:42:53.322 [debug] QUERY OK source="sources" db=0.2ms idle=949.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:42:53.372 [debug] QUERY OK source="media_items" db=49.5ms idle=950.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:42:53.375 [debug] QUERY OK source="media_items" db=2.9ms idle=403.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:42:53.376 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=53.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 [] 12:42:53.376 [debug] QUERY OK source="settings" db=0.2ms idle=54.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 [] 12:42:53.377 [debug] QUERY OK source="settings" db=0.2ms idle=55.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 [] 12:42:53.382 [debug] QUERY OK source="media_items" db=3.2ms idle=7.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 (NOT (m0."media_filepath" IS NULL)) [] 12:42:53.384 [debug] QUERY OK source="media_items" db=0.6ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:42:53.384 [debug] QUERY OK source="sources" db=0.3ms idle=8.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" IN (?,?)) [6, 2] 12:42:53.442 [debug] QUERY OK source="media_items" db=55.5ms idle=10.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 (((((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:42:53.505 [debug] QUERY OK source="media_items" db=61.8ms queue=0.1ms idle=65.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:42:53.506 [debug] QUERY OK source="sources" db=0.4ms idle=123.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" IN (?,?)) [6, 2] 12:42:53.509 [debug] QUERY OK source="tasks" db=0.4ms idle=124.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:42:53.509 [debug] QUERY OK source="media_items" db=0.4ms idle=124.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [34532, 3554] 12:42:53.511 [info] Sent 200 in 190ms 12:43:00.711 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:43:20.953 [info] {"source":"oban","duration":3331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:50.171 [info] {"args":{"id":6},"id":1673,"meta":{},"system_time":1774662230171520144,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:43:50.172 [debug] QUERY OK source="sources" db=0.6ms idle=1010.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" = ?) [6] 12:43:50.177 [debug] QUERY OK source="settings" db=4.0ms idle=800.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 [] 12:43:50.184 [debug] QUERY OK source="media_profiles" db=6.2ms queue=0.2ms idle=804.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] 12:43:50.205 [debug] QUERY OK source="settings" db=19.8ms queue=0.2ms idle=20.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 [] 12:43:50.205 [debug] Fetching recent media IDs from YouTube API for playlist: UUOzMAa6IhV6uwYQATYG_2kg 12:43:50.206 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=34.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 [] 12:43:50.207 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:43:50.959 [info] {"source":"oban","duration":3909,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:51.815 [debug] QUERY OK source="media_items" db=4.1ms queue=0.1ms idle=852.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 m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6, "dnia-38h1GA", "iZaN9NRWc28", "CJrLdBStrzc", "u-eoT-Foth8", "XHineC0YKjs", "VdlejwGkNoI", "ikIigkz2pMg", "qUdPPQ9-9Tg", "k9fuSOPjSXM", "hb-oXWK9r7k", "hDfrtCQmNOo", "zRIUM4OhyWU", "W7c0iVM4P2I", "KCFDp_kxT_4", "aZhuGRngq-g", "BgWbezF2M28", "ZJfHw71KKsk", "MisOg5bX0a4", "2UampQ_86ek", "7-iImzOel-s", "O8E47Ib_RoU", "RcVBMZd2_u8", "b-DHev8Uc6I", "0apH8xkS6PE", "I8m3hyPVsxA", "urqkKHRaT-8", "shyrhINSaPk", "Ze3bKcLbPWg", "ydk9KfgHUPo", "sFlgR1oiUXk", "jCieQsNXdBM", "Nz4uVkNMKdI", "tyX3PvjLSC8", "VeDDo4HhNVo", "2RmXPeBn3x0", "1sA4iEo0x1o", "KqAYebG_Bs0", "FelCut8wQ3o", "wY5Xb_t79SM", "-YqD-IWgaz8", "BdV0pSziReE", "u5VKDy7Dgj8", "hn89XxHJLQ0", "wE60s-NuU6c", "LBwtYK3W-vw", "FGpCwqNklsw", "79hW_qeneEY", "aNpJxLXZATY", "9JhGit6JRw0", ...] 12:43:51.820 [debug] QUERY OK source="settings" db=1.0ms queue=0.2ms idle=652.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 [] 12:43:51.822 [debug] QUERY OK source="settings" db=0.8ms idle=448.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 [] 12:43:51.822 [debug] Running yt-dlp command for action: get_media_attributes 12:43:51.824 [debug] QUERY OK source="settings" db=0.5ms idle=451.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 [] 12:43:51.825 [debug] QUERY OK source="settings" db=0.3ms idle=452.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 [] 12:43:51.825 [debug] QUERY OK source="settings" db=0.2ms idle=10.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 [] 12:43:51.826 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/ec/50/ec50c8e012251fa5cf0261d2f80e6c350435841ff0fb1454438fab4e3238b00d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:43:53.751 [info] GET / 12:43:53.751 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:43:53.752 [debug] QUERY OK source="settings" db=0.4ms idle=579.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 [] 12:43:53.753 [debug] QUERY OK source="media_profiles" db=0.8ms idle=380.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:43:53.754 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=381.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:43:53.817 [debug] QUERY OK source="media_items" db=62.3ms queue=0.1ms idle=382.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:43:53.824 [debug] QUERY OK source="media_items" db=6.2ms queue=0.2ms idle=445.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:43:53.826 [debug] QUERY OK source="settings" db=0.9ms idle=72.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 [] 12:43:53.826 [debug] QUERY OK source="settings" db=0.3ms idle=72.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 [] 12:43:53.828 [debug] QUERY OK source="settings" db=0.2ms idle=73.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 [] 12:43:53.834 [debug] QUERY OK source="media_items" db=4.0ms queue=0.1ms idle=13.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 (NOT (m0."media_filepath" IS NULL)) [] 12:43:53.836 [debug] QUERY OK source="media_items" db=0.6ms idle=10.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:43:53.836 [debug] QUERY OK source="sources" db=0.3ms idle=10.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" IN (?,?)) [6, 2] 12:43:53.893 [debug] QUERY OK source="media_items" db=53.9ms idle=12.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 (((((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:43:53.952 [debug] QUERY OK source="media_items" db=58.4ms queue=0.1ms idle=65.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:43:53.953 [debug] QUERY OK source="sources" db=0.5ms idle=118.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" IN (?,?)) [6, 2] 12:43:53.960 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=123.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:43:53.962 [debug] QUERY OK source="sources" db=1.0ms idle=124.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] 12:43:53.962 [debug] QUERY OK source="media_items" db=1.1ms idle=67.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [34532, 3554] 12:43:53.964 [info] Sent 200 in 212ms 12:43:54.804 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/ec/50/ec50c8e012251fa5cf0261d2f80e6c350435841ff0fb1454438fab4e3238b00d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days. 12:43:54.804 [error] Error creating media item 'u-eoT-Foth8' from URL: {:error, "ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days.\n", 1} 12:43:54.813 [debug] QUERY OK source="media_items" db=7.5ms queue=0.1ms idle=851.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 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] 12:43:55.046 [debug] QUERY OK source="tasks" db=0.8ms idle=9.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1680, 6, ~U[2026-03-28 01:43:55Z], ~U[2026-03-28 01:43:55Z]] 12:43:55.048 [info] {"args":{"id":6},"id":1673,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":4875487,"event":"job:stop","queue_time":370645,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:44:00.714 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:44:20.962 [info] {"source":"oban","duration":2390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:50.967 [info] {"source":"oban","duration":3013,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:54.211 [info] GET / 12:44:54.211 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:44:54.212 [debug] QUERY OK source="settings" db=0.5ms idle=1839.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 [] 12:44:54.212 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1839.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:44:54.213 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1840.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:44:54.239 [debug] QUERY OK source="media_items" db=25.3ms idle=1815.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:44:54.246 [debug] QUERY OK source="media_items" db=7.1ms idle=838.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:44:54.247 [debug] QUERY OK source="settings" db=0.2ms idle=35.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 [] 12:44:54.248 [debug] QUERY OK source="settings" db=0.5ms idle=35.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 [] 12:44:54.250 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=36.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 [] 12:44:54.256 [debug] QUERY OK source="media_items" db=3.5ms queue=0.2ms idle=13.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 (NOT (m0."media_filepath" IS NULL)) [] 12:44:54.258 [debug] QUERY OK source="media_items" db=2.0ms idle=9.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:44:54.261 [debug] QUERY OK source="sources" db=2.2ms queue=0.1ms idle=11.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" IN (?,?)) [6, 2] 12:44:54.327 [debug] QUERY OK source="media_items" db=57.8ms idle=20.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 (((((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:44:54.390 [debug] QUERY OK source="media_items" db=63.2ms idle=77.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:44:54.392 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=135.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" IN (?,?)) [6, 2] 12:44:54.400 [debug] QUERY OK source="tasks" db=2.0ms queue=0.1ms idle=139.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:44:54.402 [debug] QUERY OK source="media_items" db=1.4ms idle=139.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [34532, 3554] 12:44:54.406 [info] Sent 200 in 195ms 12:45:00.716 [info] {"source":"oban","duration":863,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:45:17.776 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LBbOdL78lNA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f0/ba/f0ba3c25f579d5ac9bec3b0f19d8f7bfdc08cf831c789f6044766c0bd4133d2d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:45:17.866 [debug] Running yt-dlp command for action: download_thumbnail 12:45:17.867 [debug] QUERY OK source="settings" db=0.2ms idle=1495.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 [] 12:45:17.867 [debug] QUERY OK source="settings" db=0.1ms idle=1495.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 [] 12:45:17.868 [debug] QUERY OK source="settings" db=0.1ms idle=1400.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 [] 12:45:17.868 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LBbOdL78lNA --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3554/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/56/97/56972a96a79235a18239d5e8718ea50f79b656cece15d4a2661d02c04851ad92.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:45:20.971 [info] {"source":"oban","duration":3003,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:22.564 [info] GET /sources/2/media/10117 12:45:22.564 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "10117", "prevent_download" => "true", "source_id" => "2"} Pipelines: [:browser] 12:45:22.565 [debug] QUERY OK source="media_items" db=0.4ms idle=1192.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" = ?) [10117] 12:45:22.567 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=1194.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" [10117] 12:45:22.567 [debug] QUERY OK source="sources" db=0.6ms idle=1081.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" = ?) [2] 12:45:22.568 [debug] QUERY OK source="settings" db=0.2ms idle=196.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 [] 12:45:22.569 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=81.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 [] 12:45:22.570 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:45:22.573 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms 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] 12:45:22.578 [info] Sent 200 in 14ms 12:45:26.452 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LBbOdL78lNA --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3554/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/56/97/56972a96a79235a18239d5e8718ea50f79b656cece15d4a2661d02c04851ad92.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:45:26.453 [debug] QUERY OK db=0.0ms idle=952.4ms begin [] 12:45:26.455 [debug] QUERY OK source="media_items" db=1.7ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [369, ~U[2026-03-28 01:45:17Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e012099 - Ramos Gin Fizz - but Purple?! + 400 Other Cocktail Recipes.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e012099 - Ramos Gin Fizz - but Purple?! + 400 Other Cocktail Recipes.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e012099 - Ramos Gin Fizz - but Purple?! + 400 Other Cocktail Recipes.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e012099 - Ramos Gin Fizz - but Purple?! + 400 Other Cocktail Recipes.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e012099 - Ramos Gin Fizz - but Purple?! + 400 Other Cocktail Recipes.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e012099 - Ramos Gin Fizz - but Purple?! + 400 Other Cocktail Recipes-thumb.jpg", ~U[2026-03-28 01:45:26Z], 3554] 12:45:26.456 [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/3554/metadata.json.gz", "/config/metadata/media_items/3554/thumbnail.jpg", 3554, ~U[2026-03-28 01:45:26Z], ~U[2026-03-28 01:45:26Z]] 12:45:26.456 [debug] QUERY OK db=0.2ms commit [] 12:45:26.482 [debug] QUERY OK source="media_items" db=9.9ms idle=99.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [63276868, ~U[2026-03-28 01:45:26Z], 3554] 12:45:26.482 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:45:26.483 [info] {"args":{"id":3554},"id":626,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":168142858,"event":"job:stop","queue_time":77563337093,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:45:26.492 [info] {"args":{"id":3558},"id":627,"meta":{},"system_time":1774662326491884183,"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"]} 12:45:26.511 [debug] QUERY OK source="media_items" db=19.3ms queue=0.1ms idle=119.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" = ?) [3558] 12:45:26.512 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:45:26.513 [debug] QUERY OK source="sources" db=1.4ms idle=30.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" = ?) [4] 12:45:26.515 [debug] QUERY OK source="media_profiles" db=1.1ms idle=30.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] 12:45:26.517 [debug] QUERY OK source="media_items" db=1.3ms idle=23.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 [3558] 12:45:26.519 [debug] QUERY OK source="media_metadata" db=0.2ms idle=7.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" = ?) [3558] 12:45:26.519 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 12:45:26.520 [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 [] 12:45:26.520 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:45:26.521 [debug] Running yt-dlp command for action: get_downloadable_status 12:45:26.522 [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 [] 12:45:26.523 [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 [] 12:45:26.523 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:45:26.523 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=PNs50K1L_ac --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ce/ed/ceed8e1703706edc8ad946a93191c5f14f4a996389e6d1432b16223285d170f5.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:45:34.409 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=PNs50K1L_ac --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ce/ed/ceed8e1703706edc8ad946a93191c5f14f4a996389e6d1432b16223285d170f5.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:45:34.409 [debug] Running yt-dlp command for action: download 12:45:34.410 [debug] QUERY OK source="settings" db=0.5ms idle=1037.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 [] 12:45:34.411 [debug] QUERY OK source="settings" db=0.4ms idle=864.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 [] 12:45:34.411 [debug] QUERY OK source="settings" db=0.4ms idle=38.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 [] 12:45:34.412 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=PNs50K1L_ac --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ed/91/ed913ba434c2f141d287370198ceffdee0eac83cec940beca636ed9423e596ce.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:45:50.975 [info] {"source":"oban","duration":2986,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:54.824 [info] GET / 12:45:54.824 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:45:54.825 [debug] QUERY OK source="settings" db=0.4ms idle=452.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 [] 12:45:54.826 [debug] QUERY OK source="media_profiles" db=0.4ms idle=453.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:45:54.827 [debug] QUERY OK source="sources" db=0.3ms idle=454.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:45:54.867 [debug] QUERY OK source="media_items" db=40.1ms queue=0.1ms idle=454.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:45:54.873 [debug] QUERY OK source="media_items" db=4.5ms queue=0.1ms idle=243.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:45:54.874 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=48.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 [] 12:45:54.875 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=48.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 [] 12:45:54.876 [debug] QUERY OK source="settings" db=0.2ms idle=49.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 [] 12:45:54.883 [debug] QUERY OK source="media_items" db=4.5ms queue=0.1ms idle=10.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 (NOT (m0."media_filepath" IS NULL)) [] 12:45:54.884 [debug] QUERY OK source="media_items" db=0.8ms idle=10.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:45:54.886 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=11.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" IN (?,?)) [6, 2] 12:45:54.945 [debug] QUERY OK source="media_items" db=53.0ms idle=16.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 (((((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:45:55.011 [debug] QUERY OK source="media_items" db=64.7ms queue=0.2ms idle=69.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:45:55.012 [debug] QUERY OK source="sources" db=0.3ms idle=128.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" IN (?,?)) [6, 2] 12:45:55.014 [debug] QUERY OK source="tasks" db=0.4ms idle=129.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:45:55.015 [debug] QUERY OK source="media_items" db=0.4ms idle=128.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [34532, 3558] 12:45:55.016 [info] Sent 200 in 192ms 12:46:00.717 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:46:01.638 [info] GET /.well-known/acme-challenge/5yEbj-5ZIStHuPAEtbdvNwOSghVhK8rtUHe3vC6QCNc 12:46:01.639 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1266.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 [] 12:46:01.640 [debug] QUERY OK source="settings" db=0.2ms idle=1267.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 [] 12:46:01.640 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:46:01.641 [error] #PID<0.3284.0> running PinchflatWeb.Endpoint (connection #PID<0.3283.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/5yEbj-5ZIStHuPAEtbdvNwOSghVhK8rtUHe3vC6QCNc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/5yEbj-5ZIStHuPAEtbdvNwOSghVhK8rtUHe3vC6QCNc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3283.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/5yEbj-5ZIStHuPAEtbdvNwOSghVhK8rtUHe3vC6QCNc", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52734}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/5yEbj-5ZIStHuPAEtbdvNwOSghVhK8rtUHe3vC6QCNc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3284.0>, params: %{}, path_info: [".well-known", "acme-challenge", "5yEbj-5ZIStHuPAEtbdvNwOSghVhK8rtUHe3vC6QCNc"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/5yEbj-5ZIStHuPAEtbdvNwOSghVhK8rtUHe3vC6QCNc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/5yEbj-5ZIStHuPAEtbdvNwOSghVhK8rtUHe3vC6QCNc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDeA-20YC8-kBIAACqD"} ], 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.3283.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/5yEbj-5ZIStHuPAEtbdvNwOSghVhK8rtUHe3vC6QCNc", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52734}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/5yEbj-5ZIStHuPAEtbdvNwOSghVhK8rtUHe3vC6QCNc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/5yEbj-5ZIStHuPAEtbdvNwOSghVhK8rtUHe3vC6QCNc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3283.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/5yEbj-5ZIStHuPAEtbdvNwOSghVhK8rtUHe3vC6QCNc", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52734}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/5yEbj-5ZIStHuPAEtbdvNwOSghVhK8rtUHe3vC6QCNc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3284.0>, params: %{}, path_info: [".well-known", "acme-challenge", "5yEbj-5ZIStHuPAEtbdvNwOSghVhK8rtUHe3vC6QCNc"], 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://pinchflat.f2fv7 (truncated) 12:46:02.378 [info] GET /.well-known/acme-challenge/Q6rTayAW9jgQ-j0XmZxX66dqwYeqfbsKZB8xTm8u__I 12:46:02.380 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=740.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 [] 12:46:02.381 [debug] QUERY OK source="settings" db=0.5ms idle=740.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 [] 12:46:02.381 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:46:02.382 [error] #PID<0.3285.0> running PinchflatWeb.Endpoint (connection #PID<0.3283.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/Q6rTayAW9jgQ-j0XmZxX66dqwYeqfbsKZB8xTm8u__I ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Q6rTayAW9jgQ-j0XmZxX66dqwYeqfbsKZB8xTm8u__I (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3283.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Q6rTayAW9jgQ-j0XmZxX66dqwYeqfbsKZB8xTm8u__I", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52734}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Q6rTayAW9jgQ-j0XmZxX66dqwYeqfbsKZB8xTm8u__I", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3285.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Q6rTayAW9jgQ-j0XmZxX66dqwYeqfbsKZB8xTm8u__I"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Q6rTayAW9jgQ-j0XmZxX66dqwYeqfbsKZB8xTm8u__I"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/Q6rTayAW9jgQ-j0XmZxX66dqwYeqfbsKZB8xTm8u__I", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDeBBnUdPIsVYsAACqj"} ], 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.3283.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Q6rTayAW9jgQ-j0XmZxX66dqwYeqfbsKZB8xTm8u__I", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52734}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Q6rTayAW9jgQ-j0XmZxX66dqwYeqfbsKZB8xTm8u__I", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Q6rTayAW9jgQ-j0XmZxX66dqwYeqfbsKZB8xTm8u__I (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3283.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Q6rTayAW9jgQ-j0XmZxX66dqwYeqfbsKZB8xTm8u__I", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52734}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Q6rTayAW9jgQ-j0XmZxX66dqwYeqfbsKZB8xTm8u__I", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3285.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Q6rTayAW9jgQ-j0XmZxX66dqwYeqfbsKZB8xTm8u__I"], 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://pinchflat.f2fv7 (truncated) 12:46:02.440 [info] GET /.well-known/acme-challenge/bQpxEAEAStwsAedwkbx4ZUnpSad_aL8jWb5alrl7ToA 12:46:02.442 [debug] QUERY OK source="settings" db=0.6ms idle=795.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 [] 12:46:02.443 [debug] QUERY OK source="settings" db=0.7ms idle=69.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 [] 12:46:02.443 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:46:02.443 [error] #PID<0.3287.0> running PinchflatWeb.Endpoint (connection #PID<0.3286.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/bQpxEAEAStwsAedwkbx4ZUnpSad_aL8jWb5alrl7ToA ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/bQpxEAEAStwsAedwkbx4ZUnpSad_aL8jWb5alrl7ToA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3286.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/bQpxEAEAStwsAedwkbx4ZUnpSad_aL8jWb5alrl7ToA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52738}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/bQpxEAEAStwsAedwkbx4ZUnpSad_aL8jWb5alrl7ToA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3287.0>, params: %{}, path_info: [".well-known", "acme-challenge", "bQpxEAEAStwsAedwkbx4ZUnpSad_aL8jWb5alrl7ToA"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/bQpxEAEAStwsAedwkbx4ZUnpSad_aL8jWb5alrl7ToA"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/bQpxEAEAStwsAedwkbx4ZUnpSad_aL8jWb5alrl7ToA", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDeBB2JPmtmV-QAACrD"} ], 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.3286.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/bQpxEAEAStwsAedwkbx4ZUnpSad_aL8jWb5alrl7ToA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52738}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/bQpxEAEAStwsAedwkbx4ZUnpSad_aL8jWb5alrl7ToA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/bQpxEAEAStwsAedwkbx4ZUnpSad_aL8jWb5alrl7ToA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3286.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/bQpxEAEAStwsAedwkbx4ZUnpSad_aL8jWb5alrl7ToA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52738}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/bQpxEAEAStwsAedwkbx4ZUnpSad_aL8jWb5alrl7ToA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3287.0>, params: %{}, path_info: [".well-known", "acme-challenge", "bQpxEAEAStwsAedwkbx4ZUnpSad_aL8jWb5alrl7ToA"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:46:17.171 [info] GET /sources/2/media/10117/edit 12:46:17.171 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "10117", "source_id" => "2"} Pipelines: [:browser] 12:46:17.172 [debug] QUERY OK source="media_items" db=0.3ms idle=799.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" = ?) [10117] 12:46:17.172 [debug] QUERY OK source="settings" db=0.4ms idle=799.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 [] 12:46:17.173 [debug] QUERY OK source="settings" db=0.3ms idle=800.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 [] 12:46:17.174 [debug] QUERY OK source="settings" db=0.3ms idle=801.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 [] 12:46:17.175 [info] Sent 200 in 4ms 12:46:20.978 [info] {"source":"oban","duration":2361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:22.933 [info] GET /.well-known/acme-challenge/wmBZu4jvGNegqR8tV2pwkbM3aZ-c8BfUYDjtPYYMl8Q 12:46:22.934 [debug] QUERY OK source="settings" db=0.7ms idle=561.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 [] 12:46:22.935 [debug] QUERY OK source="settings" db=0.5ms idle=562.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 [] 12:46:22.935 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:46:22.936 [error] #PID<0.3293.0> running PinchflatWeb.Endpoint (connection #PID<0.3292.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/wmBZu4jvGNegqR8tV2pwkbM3aZ-c8BfUYDjtPYYMl8Q ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/wmBZu4jvGNegqR8tV2pwkbM3aZ-c8BfUYDjtPYYMl8Q (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3292.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/wmBZu4jvGNegqR8tV2pwkbM3aZ-c8BfUYDjtPYYMl8Q", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 43396}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/wmBZu4jvGNegqR8tV2pwkbM3aZ-c8BfUYDjtPYYMl8Q", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3293.0>, params: %{}, path_info: [".well-known", "acme-challenge", "wmBZu4jvGNegqR8tV2pwkbM3aZ-c8BfUYDjtPYYMl8Q"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/wmBZu4jvGNegqR8tV2pwkbM3aZ-c8BfUYDjtPYYMl8Q"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/wmBZu4jvGNegqR8tV2pwkbM3aZ-c8BfUYDjtPYYMl8Q", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDeCOL_CVLTeaMAACtD"} ], 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.3292.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/wmBZu4jvGNegqR8tV2pwkbM3aZ-c8BfUYDjtPYYMl8Q", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 43396}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/wmBZu4jvGNegqR8tV2pwkbM3aZ-c8BfUYDjtPYYMl8Q", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/wmBZu4jvGNegqR8tV2pwkbM3aZ-c8BfUYDjtPYYMl8Q (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3292.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/wmBZu4jvGNegqR8tV2pwkbM3aZ-c8BfUYDjtPYYMl8Q", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 43396}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/wmBZu4jvGNegqR8tV2pwkbM3aZ-c8BfUYDjtPYYMl8Q", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3293.0>, params: %{}, path_info: [".well-known", "acme-challenge", "wmBZu4jvGNegqR8tV2pwkbM3aZ-c8BfUYDjtPYYMl8Q"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:46:25.028 [info] GET /.well-known/acme-challenge/_ZGPtGXZouzGXQD9xkUpUJZesGBm4g5UvYOVZB3Ensk 12:46:25.030 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=657.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 [] 12:46:25.032 [debug] QUERY OK source="settings" db=0.7ms queue=0.5ms idle=658.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 [] 12:46:25.032 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:46:25.034 [error] #PID<0.3295.0> running PinchflatWeb.Endpoint (connection #PID<0.3294.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/_ZGPtGXZouzGXQD9xkUpUJZesGBm4g5UvYOVZB3Ensk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/_ZGPtGXZouzGXQD9xkUpUJZesGBm4g5UvYOVZB3Ensk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3294.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/_ZGPtGXZouzGXQD9xkUpUJZesGBm4g5UvYOVZB3Ensk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 44756}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/_ZGPtGXZouzGXQD9xkUpUJZesGBm4g5UvYOVZB3Ensk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3295.0>, params: %{}, path_info: [".well-known", "acme-challenge", "_ZGPtGXZouzGXQD9xkUpUJZesGBm4g5UvYOVZB3Ensk"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/_ZGPtGXZouzGXQD9xkUpUJZesGBm4g5UvYOVZB3Ensk"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/_ZGPtGXZouzGXQD9xkUpUJZesGBm4g5UvYOVZB3Ensk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDeCV_h8Ncw7mwAACtj"} ], 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.3294.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/_ZGPtGXZouzGXQD9xkUpUJZesGBm4g5UvYOVZB3Ensk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 44756}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/_ZGPtGXZouzGXQD9xkUpUJZesGBm4g5UvYOVZB3Ensk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/_ZGPtGXZouzGXQD9xkUpUJZesGBm4g5UvYOVZB3Ensk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3294.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/_ZGPtGXZouzGXQD9xkUpUJZesGBm4g5UvYOVZB3Ensk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 44756}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/_ZGPtGXZouzGXQD9xkUpUJZesGBm4g5UvYOVZB3Ensk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3295.0>, params: %{}, path_info: [".well-known", "acme-challenge", "_ZGPtGXZouzGXQD9xkUpUJZesGBm4g5UvYOVZB3Ensk"], 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://pinchflat.f2fv7 (truncated) 12:46:33.973 [info] GET /.well-known/acme-challenge/Xy9fzpXbZuHmOy9CP53WOP9RCus4Lu1tDQhJWZf9I8E 12:46:33.975 [debug] QUERY OK source="settings" db=0.7ms idle=1601.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 [] 12:46:33.976 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1602.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 [] 12:46:33.976 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:46:33.976 [error] #PID<0.3299.0> running PinchflatWeb.Endpoint (connection #PID<0.3298.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/Xy9fzpXbZuHmOy9CP53WOP9RCus4Lu1tDQhJWZf9I8E ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Xy9fzpXbZuHmOy9CP53WOP9RCus4Lu1tDQhJWZf9I8E (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3298.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Xy9fzpXbZuHmOy9CP53WOP9RCus4Lu1tDQhJWZf9I8E", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44758}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Xy9fzpXbZuHmOy9CP53WOP9RCus4Lu1tDQhJWZf9I8E", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3299.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Xy9fzpXbZuHmOy9CP53WOP9RCus4Lu1tDQhJWZf9I8E"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/Xy9fzpXbZuHmOy9CP53WOP9RCus4Lu1tDQhJWZf9I8E"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/Xy9fzpXbZuHmOy9CP53WOP9RCus4Lu1tDQhJWZf9I8E", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDeC3UOAmKAjXgAACuj"} ], 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.3298.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Xy9fzpXbZuHmOy9CP53WOP9RCus4Lu1tDQhJWZf9I8E", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44758}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Xy9fzpXbZuHmOy9CP53WOP9RCus4Lu1tDQhJWZf9I8E", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Xy9fzpXbZuHmOy9CP53WOP9RCus4Lu1tDQhJWZf9I8E (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3298.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Xy9fzpXbZuHmOy9CP53WOP9RCus4Lu1tDQhJWZf9I8E", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44758}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Xy9fzpXbZuHmOy9CP53WOP9RCus4Lu1tDQhJWZf9I8E", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3299.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Xy9fzpXbZuHmOy9CP53WOP9RCus4Lu1tDQhJWZf9I8E"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:46:34.145 [info] GET /.well-known/acme-challenge/k24Eh2wFDvAKI06LqKwTpiAmnDHqse1Umj3WNhdyK4c 12:46:34.146 [debug] QUERY OK source="settings" db=0.3ms idle=1773.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 [] 12:46:34.147 [debug] QUERY OK source="settings" db=0.2ms idle=1373.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 [] 12:46:34.147 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:46:34.148 [error] #PID<0.3301.0> running PinchflatWeb.Endpoint (connection #PID<0.3300.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/k24Eh2wFDvAKI06LqKwTpiAmnDHqse1Umj3WNhdyK4c ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/k24Eh2wFDvAKI06LqKwTpiAmnDHqse1Umj3WNhdyK4c (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3300.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/k24Eh2wFDvAKI06LqKwTpiAmnDHqse1Umj3WNhdyK4c", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 44766}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/k24Eh2wFDvAKI06LqKwTpiAmnDHqse1Umj3WNhdyK4c", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3301.0>, params: %{}, path_info: [".well-known", "acme-challenge", "k24Eh2wFDvAKI06LqKwTpiAmnDHqse1Umj3WNhdyK4c"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/k24Eh2wFDvAKI06LqKwTpiAmnDHqse1Umj3WNhdyK4c"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/k24Eh2wFDvAKI06LqKwTpiAmnDHqse1Umj3WNhdyK4c", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDeC39NGYpS6WsAACvD"} ], 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.3300.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/k24Eh2wFDvAKI06LqKwTpiAmnDHqse1Umj3WNhdyK4c", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 44766}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/k24Eh2wFDvAKI06LqKwTpiAmnDHqse1Umj3WNhdyK4c", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/k24Eh2wFDvAKI06LqKwTpiAmnDHqse1Umj3WNhdyK4c (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3300.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/k24Eh2wFDvAKI06LqKwTpiAmnDHqse1Umj3WNhdyK4c", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 44766}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/k24Eh2wFDvAKI06LqKwTpiAmnDHqse1Umj3WNhdyK4c", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3301.0>, params: %{}, path_info: [".well-known", "acme-challenge", "k24Eh2wFDvAKI06LqKwTpiAmnDHqse1Umj3WNhdyK4c"], 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://pinchflat.f2fv7 (truncated) 12:46:34.394 [info] GET /.well-known/acme-challenge/amdEs0Cy24hKWi5J8RmTtZ3IHVkd97iX41yJDPoaQKY 12:46:34.395 [debug] QUERY OK source="settings" db=0.5ms idle=617.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 [] 12:46:34.396 [debug] QUERY OK source="settings" db=0.3ms idle=420.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 [] 12:46:34.396 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:46:34.396 [error] #PID<0.3302.0> running PinchflatWeb.Endpoint (connection #PID<0.3298.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/amdEs0Cy24hKWi5J8RmTtZ3IHVkd97iX41yJDPoaQKY ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/amdEs0Cy24hKWi5J8RmTtZ3IHVkd97iX41yJDPoaQKY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3298.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/amdEs0Cy24hKWi5J8RmTtZ3IHVkd97iX41yJDPoaQKY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44758}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/amdEs0Cy24hKWi5J8RmTtZ3IHVkd97iX41yJDPoaQKY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3302.0>, params: %{}, path_info: [".well-known", "acme-challenge", "amdEs0Cy24hKWi5J8RmTtZ3IHVkd97iX41yJDPoaQKY"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/amdEs0Cy24hKWi5J8RmTtZ3IHVkd97iX41yJDPoaQKY"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/amdEs0Cy24hKWi5J8RmTtZ3IHVkd97iX41yJDPoaQKY", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDeC44ewnjSy80AAGgi"} ], 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.3298.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/amdEs0Cy24hKWi5J8RmTtZ3IHVkd97iX41yJDPoaQKY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44758}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/amdEs0Cy24hKWi5J8RmTtZ3IHVkd97iX41yJDPoaQKY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/amdEs0Cy24hKWi5J8RmTtZ3IHVkd97iX41yJDPoaQKY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3298.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/amdEs0Cy24hKWi5J8RmTtZ3IHVkd97iX41yJDPoaQKY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44758}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/amdEs0Cy24hKWi5J8RmTtZ3IHVkd97iX41yJDPoaQKY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3302.0>, params: %{}, path_info: [".well-known", "acme-challenge", "amdEs0Cy24hKWi5J8RmTtZ3IHVkd97iX41yJDPoaQKY"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:46:42.077 [info] GET /.well-known/acme-challenge/VMUl44r6D8nDFhJjfWzadLA7K7MCcdfQVfInQCfRd0I 12:46:42.079 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=1705.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 [] 12:46:42.081 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1278.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 [] 12:46:42.082 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:46:42.083 [error] #PID<0.3304.0> running PinchflatWeb.Endpoint (connection #PID<0.3303.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/VMUl44r6D8nDFhJjfWzadLA7K7MCcdfQVfInQCfRd0I ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/VMUl44r6D8nDFhJjfWzadLA7K7MCcdfQVfInQCfRd0I (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3303.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/VMUl44r6D8nDFhJjfWzadLA7K7MCcdfQVfInQCfRd0I", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 55532}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/VMUl44r6D8nDFhJjfWzadLA7K7MCcdfQVfInQCfRd0I", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3304.0>, params: %{}, path_info: [".well-known", "acme-challenge", "VMUl44r6D8nDFhJjfWzadLA7K7MCcdfQVfInQCfRd0I"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/VMUl44r6D8nDFhJjfWzadLA7K7MCcdfQVfInQCfRd0I"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/VMUl44r6D8nDFhJjfWzadLA7K7MCcdfQVfInQCfRd0I", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDeDVgTw8J_1vYAACvj"} ], 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.3303.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/VMUl44r6D8nDFhJjfWzadLA7K7MCcdfQVfInQCfRd0I", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 55532}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/VMUl44r6D8nDFhJjfWzadLA7K7MCcdfQVfInQCfRd0I", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/VMUl44r6D8nDFhJjfWzadLA7K7MCcdfQVfInQCfRd0I (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3303.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/VMUl44r6D8nDFhJjfWzadLA7K7MCcdfQVfInQCfRd0I", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 55532}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/VMUl44r6D8nDFhJjfWzadLA7K7MCcdfQVfInQCfRd0I", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3304.0>, params: %{}, path_info: [".well-known", "acme-challenge", "VMUl44r6D8nDFhJjfWzadLA7K7MCcdfQVfInQCfRd0I"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:46:44.809 [info] GET /.well-known/acme-challenge/8Nl-yNvvvwjWI8t48eTZdx4dc1dge_apkDFWBSJVY20 12:46:44.811 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=1437.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 [] 12:46:44.812 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1439.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 [] 12:46:44.812 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:46:44.813 [error] #PID<0.3306.0> running PinchflatWeb.Endpoint (connection #PID<0.3305.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/8Nl-yNvvvwjWI8t48eTZdx4dc1dge_apkDFWBSJVY20 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/8Nl-yNvvvwjWI8t48eTZdx4dc1dge_apkDFWBSJVY20 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3305.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/8Nl-yNvvvwjWI8t48eTZdx4dc1dge_apkDFWBSJVY20", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 34466}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/8Nl-yNvvvwjWI8t48eTZdx4dc1dge_apkDFWBSJVY20", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3306.0>, params: %{}, path_info: [".well-known", "acme-challenge", "8Nl-yNvvvwjWI8t48eTZdx4dc1dge_apkDFWBSJVY20"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/8Nl-yNvvvwjWI8t48eTZdx4dc1dge_apkDFWBSJVY20"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/8Nl-yNvvvwjWI8t48eTZdx4dc1dge_apkDFWBSJVY20", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDeDfrhAGaFnC4AACwD"} ], 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.3305.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/8Nl-yNvvvwjWI8t48eTZdx4dc1dge_apkDFWBSJVY20", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 34466}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/8Nl-yNvvvwjWI8t48eTZdx4dc1dge_apkDFWBSJVY20", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/8Nl-yNvvvwjWI8t48eTZdx4dc1dge_apkDFWBSJVY20 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3305.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/8Nl-yNvvvwjWI8t48eTZdx4dc1dge_apkDFWBSJVY20", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 34466}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/8Nl-yNvvvwjWI8t48eTZdx4dc1dge_apkDFWBSJVY20", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3306.0>, params: %{}, path_info: [".well-known", "acme-challenge", "8Nl-yNvvvwjWI8t48eTZdx4dc1dge_apkDFWBSJVY20"], 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://pinchflat.f2fv7 (truncated) 12:46:50.981 [info] {"source":"oban","duration":2635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:55.235 [info] GET / 12:46:55.235 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:46:55.236 [debug] QUERY OK source="settings" db=0.5ms idle=1381.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 [] 12:46:55.237 [debug] QUERY OK source="media_profiles" db=0.3ms idle=864.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:46:55.238 [debug] QUERY OK source="sources" db=0.2ms idle=865.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:46:55.251 [debug] QUERY OK source="media_items" db=13.2ms idle=865.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:46:55.253 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=391.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:46:55.254 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=17.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 [] 12:46:55.255 [debug] QUERY OK source="settings" db=0.4ms 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 [] 12:46:55.255 [debug] QUERY OK source="settings" db=0.1ms idle=17.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 [] 12:46:55.258 [debug] QUERY OK source="media_items" db=1.5ms 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 (NOT (m0."media_filepath" IS NULL)) [] 12:46:55.259 [debug] QUERY OK source="media_items" db=0.5ms idle=4.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:46:55.260 [debug] QUERY OK source="sources" db=0.7ms idle=5.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" IN (?,?)) [6, 2] 12:46:55.285 [debug] QUERY OK source="media_items" db=22.1ms idle=8.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 (((((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:46:55.302 [debug] QUERY OK source="media_items" db=16.2ms queue=0.1ms idle=30.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:46:55.304 [debug] QUERY OK source="sources" db=0.4ms idle=45.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" IN (?,?)) [6, 2] 12:46:55.309 [debug] QUERY OK source="tasks" db=0.6ms idle=49.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:46:55.310 [debug] QUERY OK source="media_items" db=0.3ms idle=49.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [34532, 3558] 12:46:55.311 [info] Sent 200 in 76ms 12:47:00.719 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:47:20.984 [info] {"source":"oban","duration":1887,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:50.988 [info] {"source":"oban","duration":2705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:55.614 [info] GET / 12:47:55.614 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:47:55.618 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms idle=1242.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 [] 12:47:55.621 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.4ms idle=1247.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:47:55.623 [debug] QUERY OK source="sources" db=0.7ms queue=0.7ms idle=1249.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:47:55.670 [debug] QUERY OK source="media_items" db=46.1ms queue=0.2ms idle=1251.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:47:55.672 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=563.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:47:55.673 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=55.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 [] 12:47:55.675 [debug] QUERY OK source="settings" db=0.6ms idle=53.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 [] 12:47:55.677 [debug] QUERY OK source="settings" db=0.5ms idle=53.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 [] 12:47:55.683 [debug] QUERY OK source="media_items" db=4.3ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 12:47:55.685 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=11.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:47:55.687 [debug] QUERY OK source="sources" db=0.3ms 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" IN (?,?)) [6, 2] 12:47:55.804 [debug] QUERY OK source="media_items" db=113.6ms idle=16.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 (((((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:47:55.820 [debug] QUERY OK source="media_items" db=15.3ms idle=128.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:47:55.821 [debug] QUERY OK source="sources" db=0.4ms idle=137.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" IN (?,?)) [6, 2] 12:47:55.824 [debug] QUERY OK source="tasks" db=0.4ms idle=137.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:47:55.825 [debug] QUERY OK source="media_items" db=0.6ms idle=137.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [34532, 3558] 12:47:55.829 [info] Sent 200 in 214ms 12:48:00.720 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:48:20.993 [info] {"source":"oban","duration":4135,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:27.471 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=PNs50K1L_ac --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ed/91/ed913ba434c2f141d287370198ceffdee0eac83cec940beca636ed9423e596ce.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies ERROR: Did not get any data blocks 12:48:27.471 [error] yt-dlp download error for media item #3558: "WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies\n\n\nERROR: Did not get any data blocks\n" 12:48:27.478 [debug] QUERY OK source="media_items" db=5.8ms idle=1.1e3ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies\n\n\nERROR: Did not get any data blocks\n", ~U[2026-03-28 01:48:27Z], 3558] 12:48:27.487 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3558},"id":627,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":180986549,"event":"job:exception","queue_time":77725489070,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:48:27.498 [info] {"args":{"id":3561},"id":628,"meta":{},"system_time":1774662507498055756,"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"]} 12:48:27.499 [debug] QUERY OK source="media_items" db=0.7ms idle=126.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" = ?) [3561] 12:48:27.499 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:48:27.508 [debug] QUERY OK source="sources" db=7.9ms idle=127.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" = ?) [4] 12:48:27.525 [debug] QUERY OK source="media_profiles" db=16.8ms idle=30.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] 12:48:27.526 [debug] QUERY OK source="media_items" db=0.5ms idle=38.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 [3561] 12:48:27.528 [debug] QUERY OK source="media_metadata" db=0.1ms idle=29.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" = ?) [3561] 12:48:27.528 [debug] QUERY OK source="media_profiles" db=0.1ms idle=29.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] 12:48:27.529 [debug] QUERY OK source="settings" db=0.1ms idle=21.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 [] 12:48:27.529 [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 [] 12:48:27.530 [debug] Running yt-dlp command for action: get_downloadable_status 12:48:27.532 [debug] QUERY OK source="settings" db=0.8ms idle=5.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 [] 12:48:27.533 [debug] QUERY OK source="settings" db=0.5ms 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 [] 12:48:27.534 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms 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 [] 12:48:27.535 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_cftg-WyA2A --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/30/34/3034c8f03d6d4ec0eda1ad163305a5fb8905a4418e48a133349a846a2ee55d22.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:48:35.307 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_cftg-WyA2A --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/30/34/3034c8f03d6d4ec0eda1ad163305a5fb8905a4418e48a133349a846a2ee55d22.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:48:35.307 [debug] Running yt-dlp command for action: download 12:48:35.308 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1935.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 [] 12:48:35.308 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1935.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 [] 12:48:35.309 [debug] QUERY OK source="settings" db=0.4ms idle=1936.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 [] 12:48:35.309 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_cftg-WyA2A --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c2/e7/c2e7df71a66352618ca0626e1be8fa326c3203fcb93881702fb63a22644b72dd.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:48:50.996 [info] {"source":"oban","duration":2189,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:56.096 [info] GET / 12:48:56.096 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:48:56.097 [debug] QUERY OK source="settings" db=0.5ms idle=1724.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 [] 12:48:56.098 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1725.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:48:56.100 [debug] QUERY OK source="sources" db=1.5ms queue=0.2ms idle=1726.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:48:56.161 [debug] QUERY OK source="media_items" db=59.9ms queue=0.2ms idle=808.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:48:56.165 [debug] QUERY OK source="media_items" db=3.6ms queue=0.2ms idle=789.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:48:56.166 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=68.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 [] 12:48:56.167 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=68.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 [] 12:48:56.168 [debug] QUERY OK source="settings" db=0.4ms idle=67.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 [] 12:48:56.173 [debug] QUERY OK source="media_items" db=3.2ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 12:48:56.174 [debug] QUERY OK source="media_items" db=0.7ms queue=0.2ms idle=7.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:48:56.176 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=9.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" IN (?,?)) [6, 2] 12:48:56.239 [debug] QUERY OK source="media_items" db=55.1ms idle=16.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 (((((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:48:56.305 [debug] QUERY OK source="media_items" db=65.6ms idle=70.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:48:56.306 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=131.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" IN (?,?)) [6, 2] 12:48:56.312 [debug] QUERY OK source="tasks" db=0.6ms idle=134.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:48:56.313 [debug] QUERY OK source="media_items" db=0.4ms idle=73.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [34532, 3561] 12:48:56.317 [info] Sent 200 in 220ms 12:49:00.723 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:49:04.629 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CzjE_CAAdm8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/The Electric Viking/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/The Electric Viking/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f3/f0/f3f0b70b7da4916fa46283ac11452dada247c5861fdaed5edb2c18d50da6f623.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:49:04.734 [debug] Running yt-dlp command for action: download_thumbnail 12:49:04.736 [debug] QUERY OK source="settings" db=0.5ms idle=1363.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 [] 12:49:04.737 [debug] QUERY OK source="settings" db=0.1ms idle=1364.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 [] 12:49:04.737 [debug] QUERY OK source="settings" db=0.2ms idle=1364.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 [] 12:49:04.737 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CzjE_CAAdm8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/34532/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/b5/3b/b53bfb8abaa24430026a73ea2de987b5161d0971c2ac85d9cee53c28088a6ed4.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:49:14.057 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CzjE_CAAdm8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/34532/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/b5/3b/b53bfb8abaa24430026a73ea2de987b5161d0971c2ac85d9cee53c28088a6ed4.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:49:14.058 [debug] QUERY OK db=0.0ms idle=1685.9ms begin [] 12:49:14.062 [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[2026-03-28 01:49:04Z], "/downloads/shows/The Electric Viking/Season 2026/s2026e032899 - BYD’s Self-Driving Disaster: Erratic Steering, Glitches, and Broken Promises.mp4", "/downloads/shows/The Electric Viking/Season 2026/s2026e032899 - BYD’s Self-Driving Disaster: Erratic Steering, Glitches, and Broken Promises.info.json", "/downloads/shows/The Electric Viking/Season 2026/s2026e032899 - BYD’s Self-Driving Disaster: Erratic Steering, Glitches, and Broken Promises.nfo", "/downloads/shows/The Electric Viking/Season 2026/s2026e032899 - BYD’s Self-Driving Disaster: Erratic Steering, Glitches, and Broken Promises.mp4", "/downloads/shows/The Electric Viking/Season 2026/s2026e032899 - BYD’s Self-Driving Disaster: Erratic Steering, Glitches, and Broken Promises-thumb.jpg", ~U[2026-03-28 01:49:14Z], 34532] 12:49:14.067 [debug] QUERY OK source="media_metadata" db=5.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/34532/metadata.json.gz", "/config/metadata/media_items/34532/thumbnail.jpg", 34532, ~U[2026-03-28 01:49:14Z], ~U[2026-03-28 01:49:14Z]] 12:49:14.071 [debug] QUERY OK db=3.2ms commit [] 12:49:14.118 [debug] QUERY OK source="media_items" db=9.4ms idle=1736.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [322490904, ~U[2026-03-28 01:49:14Z], 34532] 12:49:14.118 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:49:14.119 [info] {"args":{"id":34532},"id":1675,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":504398333,"event":"job:stop","queue_time":1713069,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:49:14.127 [info] {"args":{"id":3564},"id":630,"meta":{},"system_time":1774662554127579020,"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"]} 12:49:14.132 [debug] QUERY OK source="media_items" db=4.0ms idle=788.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" = ?) [3564] 12:49:14.132 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:49:14.138 [debug] QUERY OK source="sources" db=5.6ms idle=61.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" = ?) [4] 12:49:14.139 [debug] QUERY OK source="media_profiles" db=0.4ms idle=20.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] 12:49:14.140 [debug] QUERY OK source="media_items" db=0.9ms idle=19.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 [3564] 12:49:14.142 [debug] QUERY OK source="media_metadata" db=0.3ms idle=14.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" = ?) [3564] 12:49:14.143 [debug] QUERY OK source="media_profiles" db=0.2ms idle=10.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] 12:49:14.144 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:49:14.144 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:49:14.145 [debug] Running yt-dlp command for action: get_downloadable_status 12:49:14.146 [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 [] 12:49:14.146 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:49:14.146 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:49:14.147 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=NaN0JBpQC_Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/92/67/9267a76a3b5a8bc7b1884066d1275ba88c68942d0e37a45f3c5e7f1d81a2829a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:49:21.001 [info] {"source":"oban","duration":3826,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:22.582 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=NaN0JBpQC_Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/92/67/9267a76a3b5a8bc7b1884066d1275ba88c68942d0e37a45f3c5e7f1d81a2829a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:49:22.583 [debug] Running yt-dlp command for action: download 12:49:22.584 [debug] QUERY OK source="settings" db=0.4ms 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 [] 12:49:22.584 [debug] QUERY OK source="settings" db=0.3ms idle=1211.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 [] 12:49:22.584 [debug] QUERY OK source="settings" db=0.2ms idle=1212.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 [] 12:49:22.585 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=NaN0JBpQC_Q --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/51/71/517188a80d5b8c5336a980236c43c562cc58aab88a0e4fe02b991ad54beb7d2c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:49:23.116 [info] GET /sources/2/media/10117/edit 12:49:23.116 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "10117", "source_id" => "2"} Pipelines: [:browser] 12:49:23.117 [debug] QUERY OK source="media_items" db=0.7ms idle=748.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" = ?) [10117] 12:49:23.118 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=745.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 [] 12:49:23.119 [debug] QUERY OK source="settings" db=0.4ms idle=534.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 [] 12:49:23.120 [debug] QUERY OK source="settings" db=0.6ms idle=535.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 [] 12:49:23.122 [info] Sent 200 in 6ms 12:49:51.004 [info] {"source":"oban","duration":2600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:54.484 [info] {"args":{"id":3},"id":1674,"meta":{},"system_time":1774662594484433613,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:49:54.485 [debug] QUERY OK source="sources" db=0.4ms idle=112.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] 12:49:54.486 [debug] QUERY OK source="settings" db=0.3ms idle=113.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 [] 12:49:54.487 [debug] QUERY OK source="media_profiles" db=0.4ms idle=114.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] 12:49:54.487 [debug] QUERY OK source="settings" db=0.3ms idle=9.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 [] 12:49:54.487 [debug] Fetching recent media IDs from YouTube API for playlist: UUwnKziETDbHJtx78nIkfYug 12:49:54.488 [debug] QUERY OK source="settings" db=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 [] 12:49:54.488 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:49:55.158 [debug] QUERY OK source="media_items" db=4.1ms idle=668.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 m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "QtpFa0LdXEY", "8Rv4wwcQ89Y", "2cRKv1oqyX8", "mQfQwLW6CNw", "y0TZuhNixNk", "GZ7wE3XOwFU", "-aRdX-kZ9g4", "99bldMr1byI", "EzCiEv1IqiA", "mC5NdpSMDks", "ccV3u3D9ONE", "cVCDjEfPzII", "n0X2rqzKTgM", "dcuCvRNqmpY", "GG1qX8jHKGo", "k9wkleHFvo0", "CWoYVlMuUNQ", "xlfeieH4z38", "eZM2Ik-FHEU", "CtcTG8-qzbA", "6Mmj7mf1qlg", "InwVO9qBjqs", "1Hp-W2bpPrw", "VtE5sTpkn7k", "8dOJypt2F70", "Evm4t4prtWo", "taLzgvbrnv0", "rgCrnyf5JEI", "PHhc-48JT3U", "vFKjpNNjNGw", "VJQlOI70ubw", "E5cfNq0DO90", "DNBGSsZatbY", "pna1NyaHTls", "CUHao-vA98g", "cPN9BJe_RQw", "rCBt4XgCX-0", "f4g6KKGMmEI", "P_I5Jsc3xRw", "fPaU2l7RktM", "0PVwt01b6fs", "0qMDM4Y4Hwo", "Ld285PDsHvs", "p1mQC71wplA", "9k5JhKK6WlA", "WPxrifmtlQI", "nVNBmK7a1y8", "QDnMYztaxfI", "gxsaWhXG1Gg", ...] 12:49:55.167 [debug] QUERY OK source="media_items" db=5.9ms idle=674.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 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] 12:49:55.170 [debug] QUERY OK source="tasks" db=0.6ms idle=681.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1681, 3, ~U[2026-03-28 01:49:55Z], ~U[2026-03-28 01:49:55Z]] 12:49:55.171 [info] {"args":{"id":3},"id":1674,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":686374,"event":"job:stop","queue_time":438532,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:49:56.523 [info] GET / 12:49:56.524 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:49:56.525 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=152.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 [] 12:49:56.526 [debug] QUERY OK source="media_profiles" db=0.6ms idle=153.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:49:56.527 [debug] QUERY OK source="sources" db=0.5ms idle=154.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:49:56.567 [debug] QUERY OK source="media_items" db=39.1ms idle=155.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:49:56.572 [debug] QUERY OK source="media_items" db=4.3ms queue=0.1ms idle=82.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:49:56.573 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=47.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 [] 12:49:56.574 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=46.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 [] 12:49:56.575 [debug] QUERY OK source="settings" db=0.2ms idle=47.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 [] 12:49:56.581 [debug] QUERY OK source="media_items" db=4.4ms idle=10.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 (NOT (m0."media_filepath" IS NULL)) [] 12:49:56.583 [debug] QUERY OK source="media_items" db=0.9ms idle=10.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:49:56.584 [debug] QUERY OK source="sources" db=0.4ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [2, 6] 12:49:56.650 [debug] QUERY OK source="media_items" db=63.6ms 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 (((((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:49:56.714 [debug] QUERY OK source="media_items" db=63.2ms idle=75.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:49:56.716 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=133.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] 12:49:56.722 [debug] QUERY OK source="tasks" db=0.6ms idle=137.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:49:56.723 [debug] QUERY OK source="media_items" db=0.8ms idle=138.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3561, 3564] 12:49:56.726 [info] Sent 200 in 202ms 12:50:00.725 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:50:17.608 [info] GET /sources/2/media/10117/force_download 12:50:17.610 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1236.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 [] 12:50:17.610 [debug] QUERY OK source="settings" db=0.3ms idle=1237.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 [] 12:50:17.611 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:50:17.612 [error] #PID<0.3350.0> running PinchflatWeb.Endpoint (connection #PID<0.3349.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /sources/2/media/10117/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/2/media/10117/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3349.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/10117/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 40030}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "47.128.19.204", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3350.0>, params: %{}, path_info: ["sources", "2", "media", "10117", "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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"host", "pinchflat.suranyami.com"}, {"priority", "u=0, i"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "47.128.19.204"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/2/media/10117/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDeP4a3M5RFYJAAAC2j"} ], 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.3349.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/10117/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 40030}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "47.128.19.204", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/10117/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3349.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/10117/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 40030}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; B (truncated) 12:50:21.009 [info] {"source":"oban","duration":3251,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:50.693 [info] {"args":{"id":2},"id":1676,"meta":{},"system_time":1774662650693303154,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:50:50.694 [debug] QUERY OK source="sources" db=0.7ms idle=1015.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" = ?) [2] 12:50:50.710 [debug] QUERY OK source="settings" db=15.7ms idle=322.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 [] 12:50:50.730 [debug] QUERY OK source="media_profiles" db=18.9ms queue=0.1ms idle=338.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] 12:50:50.742 [debug] QUERY OK source="settings" db=11.3ms queue=0.1ms idle=47.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 [] 12:50:50.742 [debug] Fetching recent media IDs from YouTube API for playlist: UUjzi56cxvmEDwjo1Bd2Yxpg 12:50:50.743 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=49.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 [] 12:50:50.743 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:50:51.013 [info] {"source":"oban","duration":2995,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:53.415 [debug] QUERY OK source="media_items" db=3.3ms idle=1039.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 m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "CzjE_CAAdm8", "Hw2_s31u_4Q", "b4x9IzQtiA0", "16aM5Bop7Qw", "3hBk9xqT9hs", "xDa45wnAzc8", "Yq41acIvzj8", "Ttn_Q1B2ALc", "-bV0F6OP31U", "qAstyiKRt10", "NF2StvrYme0", "_Q-2UzYr3AA", "FeEEy3jZvlM", "EHaNwda0xto", "KL0u63mAy5M", "fzklfnO42ts", "oZ4kddHCFVY", "spSOp5s_6_A", "C48yl9fSYv8", "654RgtNwXZ8", "4wu_B_XF6wk", "wFLJxWyDJPs", "J5NKnYfn6qw", "fcVRuF6c-bc", "xNAFpSnpqjs", "cavmWZnCeJI", "_J0gQ5GdUSk", "_oISg668F40", "v34wa9QhF0s", "iEen_cClzkg", "CD9wUM2v-0U", "E8k9oqjl5_E", "lQDUMfg_SJc", "pPMD0YPBHQ4", "qq1IN4umTI8", "L63goFhe8KM", "5OXvwQ3CB1I", "doZvHBPoVCw", "9SXMTDO4lIo", "8JmSUN8jp3Q", "7oSgaaUEjZM", "sKSPwnFSRCw", "gdY_Q9ltw8w", "uHbviTslBFY", "gMzXgYFT4Ck", "NdsMuD-_5To", "9JXltNRqLu4", "7ThBvLBMacw", "7BTWa3jFBMw", ...] 12:50:53.493 [debug] QUERY OK source="media_items" db=75.3ms idle=1044.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 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] 12:50:53.499 [debug] QUERY OK source="tasks" db=0.5ms idle=83.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1682, 2, ~U[2026-03-28 01:50:53Z], ~U[2026-03-28 01:50:53Z]] 12:50:53.514 [info] {"args":{"id":2},"id":1676,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":2806676,"event":"job:stop","queue_time":904592,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:50:56.950 [info] GET / 12:50:56.951 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:50:56.952 [debug] QUERY OK source="settings" db=0.6ms idle=1578.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 [] 12:50:56.952 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1579.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:50:56.953 [debug] QUERY OK source="sources" db=0.1ms idle=1580.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:50:57.014 [debug] QUERY OK source="media_items" db=60.6ms idle=1249.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:50:57.019 [debug] QUERY OK source="media_items" db=4.7ms queue=0.1ms idle=305.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:50:57.020 [debug] QUERY OK source="settings" db=0.3ms idle=68.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 [] 12:50:57.021 [debug] QUERY OK source="settings" db=0.4ms idle=68.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 [] 12:50:57.022 [debug] QUERY OK source="settings" db=0.3ms idle=68.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 [] 12:50:57.041 [debug] QUERY OK source="media_items" db=11.4ms queue=1.5ms idle=14.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 (NOT (m0."media_filepath" IS NULL)) [] 12:50:57.045 [debug] QUERY OK source="media_items" db=2.4ms queue=0.8ms idle=22.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:50:57.051 [debug] QUERY OK source="sources" db=2.2ms queue=0.7ms idle=27.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" IN (?,?)) [2, 6] 12:50:57.130 [debug] QUERY OK source="media_items" db=70.1ms idle=38.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 (((((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:50:57.188 [debug] QUERY OK source="media_items" db=57.4ms idle=108.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:50:57.189 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=148.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" = ?) [6] 12:50:57.195 [debug] QUERY OK source="tasks" db=1.0ms queue=0.2ms idle=149.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:50:57.197 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=146.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3561, 3564] 12:50:57.201 [info] Sent 200 in 250ms 12:51:00.726 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:51:00.742 [info] {"args":{"id":4},"id":1677,"meta":{},"system_time":1774662660741900912,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:51:00.752 [debug] QUERY OK source="sources" db=10.1ms queue=0.1ms idle=370.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] 12:51:00.754 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=380.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 [] 12:51:00.761 [debug] QUERY OK source="media_profiles" db=6.1ms queue=0.1ms idle=28.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] 12:51:00.762 [debug] QUERY OK source="settings" db=0.8ms idle=34.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 [] 12:51:00.762 [debug] Fetching recent media IDs from YouTube API for playlist: UUEiui9T4ZYx8K8nuZ5YFSTw 12:51:00.763 [debug] QUERY OK source="settings" db=0.2ms idle=21.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 [] 12:51:00.763 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:51:01.308 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=552.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [4, "gthI7e6zPWo", "psRX1C7auj8", "2ZtSRjGhStw", "Z8KiNkDP9c4", "AZibPvCnG4k", "QXNPI7Ucivo", "WtxCD4567G4", "80bkfWoOHaE", "pYBAEGrhggM", "9M3wLySdGXY", "mcvbD_Ipbf8", "E_Y7kLO3Iaw", "gPdh5lVJYD0", "qrkTK1UcvSM", "45UcuOLjxeY", "gnbhO9hJ198", "fiFzXo1wNno", "TM5mKkwC0Ok", "kS2A72peqmg", "ueDcEpRFW_M", "AN4-pHYBK2M", "TMNa6ocIv8o", "S1Vt1tQJczE", "_BEmUjtwhLw", "1bxoWiQ2AQY", "CZeRfNeKEBE", "2nftRe3tjLQ", "v1biAguVbg8", "cLDsQImoeHQ", "hhH7mchDBXY", "uQj2W5ej104", "vYRV_nprXBA", "1v_qsQL3mo8", "hfHxFTbVaTo", "mfWqziOaR4A", "AmCWMmKgHkI", "ZWgq-s8r2FE", "1dAkTDsD1c4", "ozdDp_eMPZY", "iHogtXxywLQ", "7ysd04ltGag", "5jq8kH9s0V8", "AB6bC9gtfoc", "R7Tm3zvyy9U", "dUHzocz0hLo", "9Oh6oVrf7kM", "LzUhByZ4jtc", "j7evpR_Fbsw", "_iGhJt3ah8E", ...] 12:51:01.317 [debug] QUERY OK source="media_items" db=5.0ms idle=557.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 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] 12:51:01.539 [debug] QUERY OK source="tasks" db=0.5ms idle=5.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1683, 4, ~U[2026-03-28 01:51:01Z], ~U[2026-03-28 01:51:01Z]] 12:51:01.540 [info] {"args":{"id":4},"id":1677,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":797451,"event":"job:stop","queue_time":373390,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:51:21.016 [info] {"source":"oban","duration":2021,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:51.020 [info] {"source":"oban","duration":2943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:57.399 [info] GET / 12:51:57.399 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:51:57.400 [debug] QUERY OK source="settings" db=0.5ms idle=1027.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 [] 12:51:57.401 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1028.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:51:57.401 [debug] QUERY OK source="sources" db=0.4ms idle=463.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:51:57.449 [debug] QUERY OK source="media_items" db=46.9ms idle=29.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:51:57.455 [debug] QUERY OK source="media_items" db=5.1ms queue=0.1ms idle=77.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:51:57.456 [debug] QUERY OK source="settings" db=0.6ms idle=55.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 [] 12:51:57.456 [debug] QUERY OK source="settings" db=0.3ms idle=55.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 [] 12:51:57.458 [debug] QUERY OK source="settings" db=0.4ms idle=55.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 [] 12:51:57.463 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=11.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 (NOT (m0."media_filepath" IS NULL)) [] 12:51:57.465 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=9.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:51:57.467 [debug] QUERY OK source="sources" db=0.6ms 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" IN (?,?)) [2, 6] 12:51:57.531 [debug] QUERY OK source="media_items" db=57.4ms queue=0.1ms idle=16.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 (((((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:51:57.596 [debug] QUERY OK source="media_items" db=63.8ms queue=0.1ms idle=73.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:51:57.597 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=133.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] 12:51:57.602 [debug] QUERY OK source="tasks" db=0.4ms idle=137.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:51:57.603 [debug] QUERY OK source="media_items" db=0.3ms idle=135.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3561, 3564] 12:51:57.604 [info] Sent 200 in 205ms 12:51:57.961 [info] {"args":{"id":5},"id":1678,"meta":{},"system_time":1774662717960775577,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:51:57.969 [debug] QUERY OK source="sources" db=7.0ms idle=364.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" = ?) [5] 12:51:57.971 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=367.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 [] 12:51:57.972 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=368.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] 12:51:57.982 [debug] QUERY OK source="settings" db=8.2ms queue=0.4ms idle=29.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 [] 12:51:57.982 [debug] Fetching recent media IDs from YouTube API for playlist: UUVwfqPkv08OTuHzkPU3EaDw 12:51:57.983 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=22.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 [] 12:51:57.984 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:51:58.487 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=515.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [5, "k8Yr1jU-0EE", "NFrnhg8hI0c", "20XMhcpSNV0", "YVGFnwJho6E", "xQXiSGDXknA", "uZl0TO8i96g", "Hs5ewNKWUwk", "E5suxhHY0aY", "sCou7ut2L-o", "a0INtLdzUiE", "n0x8sH0M9CE", "W4Af6DIMqnE", "Q-sUbLem5aI", "s-jMj11w68U", "DS9HZG5JRBc", "_wLy-vzLi3E", "iFpZfYwRcns", "nPovqKKSKcE", "j_w4tRYm7Og", "laZpTO7IFtA", "FM5e9Vb1noE", "cK6g53lLgnw", "1X5WYEhzGyI", "QVpu66njzdE", "tfnANe2YUwM", "0-QK6hxLxgM", "TYUeXqSlcDg", "0322Pk-GKto", "1Em1UrRSEXc", "x2RT9Awsyi8", "4Yth52yml8E", "ky9Zo2FmjQ8", "npU2QpX5piA", "XEb_1Sq8jNo", "L3QQDAKxUIk", "l3s8S6bBbOs", "WyWBU1NpDf8", "7wZ0NVuoDWg", "-Ig2-rBZtSI", "5BG06-J1t4Y", "GcQ6vQEeQew", "ap8S88LeiB0", "4LvXP3XR6gw", "I9o65_aIq0Q", "Ut9XjFkGK6s", "PcFkjR5NELA", "Yl67318oP-s", "umbar5BKBus", "FEfCtNhVjJ0", ...] 12:51:58.492 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=519.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 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")))) [5] 12:51:58.741 [debug] QUERY OK source="tasks" db=0.3ms idle=6.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1684, 5, ~U[2026-03-28 01:51:58Z], ~U[2026-03-28 01:51:58Z]] 12:51:58.741 [info] {"args":{"id":5},"id":1678,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":780449,"event":"job:stop","queue_time":441468,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:52:00.728 [info] {"source":"oban","duration":314,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:52:19.368 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=NaN0JBpQC_Q --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/51/71/517188a80d5b8c5336a980236c43c562cc58aab88a0e4fe02b991ad54beb7d2c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:52:19.443 [debug] Running yt-dlp command for action: download_thumbnail 12:52:19.445 [debug] QUERY OK source="settings" db=0.4ms idle=1072.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 [] 12:52:19.445 [debug] QUERY OK source="settings" db=0.4ms idle=1072.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 [] 12:52:19.446 [debug] QUERY OK source="settings" db=0.1ms idle=1073.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 [] 12:52:19.446 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=NaN0JBpQC_Q --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3564/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/45/a9/45a922a40f031b82f54a85a3fbd2c56c5c42ec5bbf897d352f617dad844f793d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:52:21.024 [info] {"source":"oban","duration":3520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:22.177 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_cftg-WyA2A --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c2/e7/c2e7df71a66352618ca0626e1be8fa326c3203fcb93881702fb63a22644b72dd.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:52:22.253 [debug] Running yt-dlp command for action: download_thumbnail 12:52:22.256 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1231.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 [] 12:52:22.257 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=884.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 [] 12:52:22.258 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=885.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 [] 12:52:22.259 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_cftg-WyA2A --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3561/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ca/7d/ca7dda300d3798d8f618b157e3c848cbb65ca660d958898651f3138821cac5c4.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:52:27.488 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=NaN0JBpQC_Q --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3564/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/45/a9/45a922a40f031b82f54a85a3fbd2c56c5c42ec5bbf897d352f617dad844f793d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:52:27.490 [debug] QUERY OK db=0.6ms idle=438.8ms begin [] 12:52:27.494 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:52:19Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e123099 - Rum & Champagne - Can this even work!?.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e123099 - Rum & Champagne - Can this even work!?.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e123099 - Rum & Champagne - Can this even work!?.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e123099 - Rum & Champagne - Can this even work!?.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e123099 - Rum & Champagne - Can this even work!?.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e123099 - Rum & Champagne - Can this even work!?-thumb.jpg", ~U[2026-03-28 01:52:27Z], 3564] 12:52:27.497 [debug] QUERY OK source="media_metadata" db=2.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/3564/metadata.json.gz", "/config/metadata/media_items/3564/thumbnail.jpg", 3564, ~U[2026-03-28 01:52:27Z], ~U[2026-03-28 01:52:27Z]] 12:52:27.497 [debug] QUERY OK db=0.5ms commit [] 12:52:27.516 [debug] QUERY OK source="media_items" db=2.4ms idle=141.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [96112966, ~U[2026-03-28 01:52:27Z], 3564] 12:52:27.516 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:52:27.517 [info] {"args":{"id":3564},"id":630,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":193389131,"event":"job:stop","queue_time":77940126086,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:52:27.524 [info] {"args":{"id":3567},"id":631,"meta":{},"system_time":1774662747524438150,"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"]} 12:52:27.525 [debug] QUERY OK source="media_items" db=0.4ms idle=152.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" = ?) [3567] 12:52:27.525 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:52:27.526 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=28.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" = ?) [4] 12:52:27.527 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 12:52:27.528 [debug] QUERY OK source="media_items" db=0.5ms 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 [3567] 12:52:27.530 [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" = ?) [3567] 12:52:27.531 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 12:52:27.532 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:52:27.532 [debug] QUERY OK source="settings" db=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 [] 12:52:27.533 [debug] Running yt-dlp command for action: get_downloadable_status 12:52:27.535 [debug] QUERY OK source="settings" db=0.3ms idle=6.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 [] 12:52:27.535 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:52:27.536 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:52:27.537 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=P_vv7m1sbW0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7e/18/7e18adab4026ace6adfff8dc4ca7b11e184c4bc415b67909534c0a407534deee.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:52:30.375 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_cftg-WyA2A --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3561/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ca/7d/ca7dda300d3798d8f618b157e3c848cbb65ca660d958898651f3138821cac5c4.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:52:30.376 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1003.6ms begin [] 12:52:30.381 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:52:22Z], "/downloads/shows/Kevin Kos/Season 2023/s2023e010699 - Non-Alcoholic Bitters! Aromatic or Orange?.mp4", "/downloads/shows/Kevin Kos/Season 2023/s2023e010699 - Non-Alcoholic Bitters! Aromatic or Orange?.info.json", "/downloads/shows/Kevin Kos/Season 2023/s2023e010699 - Non-Alcoholic Bitters! Aromatic or Orange?.nfo", "/downloads/shows/Kevin Kos/Season 2023/s2023e010699 - Non-Alcoholic Bitters! Aromatic or Orange?.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2023/s2023e010699 - Non-Alcoholic Bitters! Aromatic or Orange?.en.srt"]], "/downloads/shows/Kevin Kos/Season 2023/s2023e010699 - Non-Alcoholic Bitters! Aromatic or Orange?-thumb.jpg", ~U[2026-03-28 01:52:30Z], 3561] 12:52:30.385 [debug] QUERY OK source="media_metadata" db=2.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/3561/metadata.json.gz", "/config/metadata/media_items/3561/thumbnail.jpg", 3561, ~U[2026-03-28 01:52:30Z], ~U[2026-03-28 01:52:30Z]] 12:52:30.386 [debug] QUERY OK db=0.7ms commit [] 12:52:30.403 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=1027.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [117824779, ~U[2026-03-28 01:52:30Z], 3561] 12:52:30.403 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:52:30.404 [info] {"args":{"id":3561},"id":628,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":242905715,"event":"job:stop","queue_time":77899493091,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:52:30.411 [info] {"args":{"id":3570},"id":632,"meta":{},"system_time":1774662750411589476,"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"]} 12:52:30.412 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=351.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" = ?) [3570] 12:52:30.413 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:52:30.414 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [4] 12:52:30.415 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=11.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] 12:52:30.416 [debug] QUERY OK source="media_items" db=0.4ms idle=11.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 [3570] 12:52:30.418 [debug] QUERY OK source="media_metadata" db=0.1ms idle=7.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" = ?) [3570] 12:52:30.419 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.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] 12:52:30.420 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:52:30.420 [debug] QUERY OK source="settings" db=0.1ms idle=5.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 [] 12:52:30.421 [debug] Running yt-dlp command for action: get_downloadable_status 12:52:30.422 [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 [] 12:52:30.422 [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 [] 12:52:30.423 [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 [] 12:52:30.423 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7LruwMcT80w --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/02/4c/024c28382769381a4f83ace9d1e85ceb4aced9df486be2bc18fc1d7c72a437ef.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:52:34.828 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=P_vv7m1sbW0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7e/18/7e18adab4026ace6adfff8dc4ca7b11e184c4bc415b67909534c0a407534deee.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:52:34.828 [debug] Running yt-dlp command for action: download 12:52:34.829 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=751.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 [] 12:52:34.830 [debug] QUERY OK source="settings" db=0.2ms idle=457.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 [] 12:52:34.830 [debug] QUERY OK source="settings" db=0.2ms idle=458.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 [] 12:52:34.831 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=P_vv7m1sbW0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/93/b9/93b9902eef424487e7c7c3045e62bf05f0f68ebb0bdf44c790a778519b6a3551.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:52:38.468 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7LruwMcT80w --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/02/4c/024c28382769381a4f83ace9d1e85ceb4aced9df486be2bc18fc1d7c72a437ef.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:52:38.469 [debug] Running yt-dlp command for action: download 12:52:38.469 [debug] QUERY OK source="settings" db=0.2ms idle=369.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 [] 12:52:38.470 [debug] QUERY OK source="settings" db=0.3ms idle=97.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 [] 12:52:38.470 [debug] QUERY OK source="settings" db=0.2ms idle=97.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 [] 12:52:38.471 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7LruwMcT80w --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/27/fa/27fa224d055011758fdc6693b198afea542e1aa24b4b286aba4c516a9ff272ea.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:52:51.027 [info] {"source":"oban","duration":2455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:51.157 [info] {"args":{"id":1},"id":1679,"meta":{},"system_time":1774662771157439202,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:52:51.158 [debug] QUERY OK source="sources" db=0.7ms idle=785.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] 12:52:51.159 [debug] QUERY OK source="settings" db=0.6ms idle=786.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 [] 12:52:51.160 [debug] QUERY OK source="media_profiles" db=0.6ms idle=132.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] 12:52:51.161 [debug] QUERY OK source="settings" db=0.2ms idle=11.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 [] 12:52:51.161 [debug] Fetching recent media IDs from YouTube API for playlist: UUISrVZmDM4x-Rq9mmNUw7Zw 12:52:51.161 [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 [] 12:52:51.161 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:52:51.536 [debug] QUERY OK source="media_items" db=2.1ms idle=375.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "Q0qmHym16H4", "WcWL0_PlcO8", "dQV1WkSly7k", "Xpohopi2_tA", "fsZdCn4jIUY", "hgk2jMPnG2w", "oDh4gg7xiUs", "3LfUmSMW_qc", "5gN9QvwPLq8", "uSBe19ms3aw", "Eq1BmJikpHA", "OsKelxcQUNo", "zNP6Q_Yk9hU", "ZPPCc15thCc", "UzARiS2CyJ4", "r8X8HVGVV1o", "_JI7oYBFZIo", "niCh-EI1Kfo", "92mSBlpBEJo", "_6OAB_8iwqs", "tJbcC43WELc", "cPz1rUCNI0o", "hFzt_dOdElw", "nC-QKeluT0c", "i8ARsrsVUMM", "X30l-491qck", "rzQeUM-lMUY", "BkUHm95UvCw", "MQ2cHq3-J7A", "CtF5dLHITYA", "SGJkxRdkRGg", "OUCt85aJaAA", "9gARPYZOka4", "-uH-Gi5tjEw", "qwUBBQKYX94", "s8VLDSQJ8nA", "EvPfr0lKkh4", "msXzAxF49gA", "hQCWaSvjkU0", "RcmjVsy3a-g", "xtuNc9vYJG4", "fj2tcg8OzsM", "2FZ4IfPACDM", "2Q9DzW20YJ8", "IVsWFGOE_mw", "vPxpMcv2Z4Y", "Zverj_ldlhY", "pQK8xasPd9Q", "_Yo7nh8u9pk", ...] 12:52:51.539 [debug] QUERY OK source="media_items" db=2.2ms idle=377.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 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] 12:52:51.565 [debug] QUERY OK source="tasks" db=0.4ms idle=7.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1685, 1, ~U[2026-03-28 01:52:51Z], ~U[2026-03-28 01:52:51Z]] 12:52:51.566 [info] {"args":{"id":1},"id":1679,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":408330,"event":"job:stop","queue_time":643107,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:52:57.794 [info] GET / 12:52:57.794 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:52:57.795 [debug] QUERY OK source="settings" db=0.3ms idle=631.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 [] 12:52:57.796 [debug] QUERY OK source="media_profiles" db=0.3ms idle=423.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:52:57.797 [debug] QUERY OK source="sources" db=0.6ms idle=423.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:52:57.855 [debug] QUERY OK source="media_items" db=57.9ms queue=0.1ms idle=424.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:52:57.859 [debug] QUERY OK source="media_items" db=2.8ms idle=483.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:52:57.859 [debug] QUERY OK source="settings" db=0.2ms idle=64.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 [] 12:52:57.860 [debug] QUERY OK source="settings" db=0.1ms idle=63.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 [] 12:52:57.860 [debug] QUERY OK source="settings" db=0.1ms idle=63.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 [] 12:52:57.864 [debug] QUERY OK source="media_items" db=2.9ms idle=6.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 (NOT (m0."media_filepath" IS NULL)) [] 12:52:57.865 [debug] QUERY OK source="media_items" db=0.6ms idle=6.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:52:57.867 [debug] QUERY OK source="sources" db=0.4ms idle=6.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" IN (?,?)) [2, 6] 12:52:57.922 [debug] QUERY OK source="media_items" db=52.8ms idle=9.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 (((((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:52:57.988 [debug] QUERY OK source="media_items" db=65.1ms queue=0.1ms idle=62.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:52:57.989 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=124.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] 12:52:57.992 [debug] QUERY OK source="tasks" db=0.4ms idle=125.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:52:57.993 [debug] QUERY OK source="media_items" db=0.5ms idle=125.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3567, 3570] 12:52:57.994 [info] Sent 200 in 200ms 12:53:00.730 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:53:21.034 [info] {"source":"oban","duration":5018,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:51.040 [info] {"source":"oban","duration":3964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:55.371 [info] {"args":{"id":6},"id":1680,"meta":{},"system_time":1774662835371199215,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:53:55.388 [debug] QUERY OK source="sources" db=15.9ms queue=0.1ms idle=999.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" = ?) [6] 12:53:55.408 [debug] QUERY OK source="settings" db=19.3ms queue=0.2ms idle=1016.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 [] 12:53:55.416 [debug] QUERY OK source="media_profiles" db=6.7ms queue=0.2ms idle=1037.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] 12:53:55.418 [debug] QUERY OK source="settings" db=0.9ms idle=55.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 [] 12:53:55.419 [debug] Fetching recent media IDs from YouTube API for playlist: UUOzMAa6IhV6uwYQATYG_2kg 12:53:55.420 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=48.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 [] 12:53:55.420 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:53:57.129 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=1718.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6, "dnia-38h1GA", "iZaN9NRWc28", "CJrLdBStrzc", "u-eoT-Foth8", "XHineC0YKjs", "VdlejwGkNoI", "ikIigkz2pMg", "qUdPPQ9-9Tg", "k9fuSOPjSXM", "hb-oXWK9r7k", "hDfrtCQmNOo", "zRIUM4OhyWU", "W7c0iVM4P2I", "KCFDp_kxT_4", "aZhuGRngq-g", "BgWbezF2M28", "ZJfHw71KKsk", "MisOg5bX0a4", "2UampQ_86ek", "7-iImzOel-s", "O8E47Ib_RoU", "RcVBMZd2_u8", "b-DHev8Uc6I", "0apH8xkS6PE", "I8m3hyPVsxA", "urqkKHRaT-8", "shyrhINSaPk", "Ze3bKcLbPWg", "ydk9KfgHUPo", "sFlgR1oiUXk", "jCieQsNXdBM", "Nz4uVkNMKdI", "tyX3PvjLSC8", "VeDDo4HhNVo", "2RmXPeBn3x0", "1sA4iEo0x1o", "KqAYebG_Bs0", "FelCut8wQ3o", "wY5Xb_t79SM", "-YqD-IWgaz8", "BdV0pSziReE", "u5VKDy7Dgj8", "hn89XxHJLQ0", "wE60s-NuU6c", "LBwtYK3W-vw", "FGpCwqNklsw", "79hW_qeneEY", "aNpJxLXZATY", "9JhGit6JRw0", ...] 12:53:57.130 [debug] QUERY OK source="settings" db=0.2ms idle=1714.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 [] 12:53:57.131 [debug] QUERY OK source="settings" db=0.1ms idle=1712.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 [] 12:53:57.131 [debug] Running yt-dlp command for action: get_media_attributes 12:53:57.132 [debug] QUERY OK source="settings" db=0.1ms idle=1712.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 [] 12:53:57.132 [debug] QUERY OK source="settings" db=0.1ms idle=767.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 [] 12:53:57.133 [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 [] 12:53:57.133 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/9f/17/9f1727308b4ec2264afd294d37ba5e3e01dfadad932f1dfc3b920eb598634fbd.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:53:58.196 [info] GET / 12:53:58.196 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:53:58.197 [debug] QUERY OK source="settings" db=0.4ms idle=1065.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 [] 12:53:58.197 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1064.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:53:58.198 [debug] QUERY OK source="sources" db=0.2ms idle=1064.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:53:58.250 [debug] QUERY OK source="media_items" db=51.9ms idle=1065.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:53:58.254 [debug] QUERY OK source="media_items" db=3.5ms idle=881.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:53:58.255 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=57.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 [] 12:53:58.256 [debug] QUERY OK source="settings" db=0.4ms idle=58.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 [] 12:53:58.257 [debug] QUERY OK source="settings" db=0.2ms idle=58.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 [] 12:53:58.262 [debug] QUERY OK source="media_items" db=4.5ms idle=7.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 (NOT (m0."media_filepath" IS NULL)) [] 12:53:58.265 [debug] QUERY OK source="media_items" db=1.8ms queue=0.2ms idle=9.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:53:58.267 [debug] QUERY OK source="sources" db=0.7ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [2, 6] 12:53:58.347 [debug] QUERY OK source="media_items" db=77.6ms idle=13.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 (((((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:53:58.406 [debug] QUERY OK source="media_items" db=58.1ms idle=90.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:53:58.407 [debug] QUERY OK source="sources" db=0.6ms idle=141.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" = ?) [6] 12:53:58.413 [debug] QUERY OK source="tasks" db=0.6ms idle=145.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:53:58.415 [debug] QUERY OK source="sources" db=0.4ms idle=66.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] 12:53:58.415 [debug] QUERY OK source="media_items" db=0.9ms idle=37.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3567, 3570] 12:53:58.419 [info] Sent 200 in 223ms 12:54:00.211 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/9f/17/9f1727308b4ec2264afd294d37ba5e3e01dfadad932f1dfc3b920eb598634fbd.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days. 12:54:00.211 [error] Error creating media item 'u-eoT-Foth8' from URL: {:error, "ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days.\n", 1} 12:54:00.270 [debug] QUERY OK source="media_items" db=58.0ms idle=1804.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 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] 12:54:00.463 [debug] QUERY OK source="tasks" db=10.6ms queue=0.1ms idle=7.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1686, 6, ~U[2026-03-28 01:54:00Z], ~U[2026-03-28 01:54:00Z]] 12:54:00.470 [info] {"args":{"id":6},"id":1680,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":5092306,"event":"job:stop","queue_time":324388,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:54:00.732 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:54:17.953 [info] GET /sources/6/media/9844/force_download 12:54:17.955 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1582.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 [] 12:54:17.956 [debug] QUERY OK source="settings" db=0.3ms idle=1583.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 [] 12:54:17.956 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:54:17.957 [error] #PID<0.3401.0> running PinchflatWeb.Endpoint (connection #PID<0.3400.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /sources/6/media/9844/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/6/media/9844/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3400.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/9844/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 58422}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "47.128.19.191", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3401.0>, params: %{}, path_info: ["sources", "6", "media", "9844", "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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"host", "pinchflat.suranyami.com"}, {"priority", "u=0, i"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "47.128.19.191"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/6/media/9844/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDed3xndZqzqisAAD3j"} ], 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.3400.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/9844/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 58422}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "47.128.19.191", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/9844/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3400.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/9844/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 58422}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespide (truncated) 12:54:21.046 [info] {"source":"oban","duration":5019,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:27.578 [info] GET / 12:54:27.578 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:54:27.579 [debug] QUERY OK source="settings" db=0.8ms idle=1206.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 [] 12:54:27.580 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1207.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:54:27.580 [debug] QUERY OK source="sources" db=0.2ms idle=1086.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:54:27.638 [debug] QUERY OK source="media_items" db=57.8ms idle=208.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:54:27.643 [debug] QUERY OK source="media_items" db=4.6ms idle=139.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:54:27.644 [debug] QUERY OK source="settings" db=0.2ms idle=64.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 [] 12:54:27.645 [debug] QUERY OK source="settings" db=0.3ms idle=64.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 [] 12:54:27.647 [debug] QUERY OK source="settings" db=0.4ms idle=65.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 [] 12:54:27.652 [debug] QUERY OK source="media_items" db=4.4ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 12:54:27.654 [debug] QUERY OK source="media_items" db=1.0ms idle=9.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:54:27.655 [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" IN (?,?)) [2, 6] 12:54:27.738 [debug] QUERY OK source="media_items" db=80.2ms idle=12.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 (((((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:54:27.820 [debug] QUERY OK source="media_items" db=81.3ms queue=0.1ms idle=91.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:54:27.821 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=168.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] 12:54:27.827 [debug] QUERY OK source="tasks" db=0.6ms idle=172.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:54:27.828 [debug] QUERY OK source="media_items" db=0.4ms idle=172.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3567, 3570] 12:54:27.829 [info] Sent 200 in 251ms 12:54:29.922 [info] GET /assets/js/message.js 12:54:29.924 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=551.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 [] 12:54:29.924 [debug] QUERY OK source="settings" db=0.1ms idle=552.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 [] 12:54:29.925 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:54:29.925 [error] #PID<0.3404.0> running PinchflatWeb.Endpoint (connection #PID<0.3402.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /assets/js/message.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/message (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/message.js", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60680}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.f2fv7u.uncld.dev", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3404.0>, params: %{}, path_info: ["assets", "js", "message"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/assets/js/message.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDeekXQpB-eIrkAAD4j"} ], 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.3402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/message.js", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60680}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.f2fv7u.uncld.dev", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/message (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/message.js", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60680}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.f2fv7u.uncld.dev", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3404.0>, params: %{}, path_info: ["assets", "js", "message"], 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, (truncated) 12:54:32.650 [info] GET /static/style/sys_files/index.js 12:54:32.652 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1279.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 [] 12:54:32.653 [debug] QUERY OK source="settings" db=0.5ms idle=1280.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 [] 12:54:32.654 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:54:32.655 [error] #PID<0.3405.0> running PinchflatWeb.Endpoint (connection #PID<0.3402.0>, stream id 3) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /static/style/sys_files/index.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /static/style/sys_files/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/sys_files/index.js", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60680}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.f2fv7u.uncld.dev", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3405.0>, params: %{}, path_info: ["static", "style", "sys_files", "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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/static/style/sys_files/index.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDeeuhmj53uD2UAAD5D"} ], 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.3402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/sys_files/index.js", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60680}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.f2fv7u.uncld.dev", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /static/style/sys_files/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/sys_files/index.js", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60680}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.f2fv7u.uncld.dev", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3405.0>, params: %{}, path_info: ["static", "style", "sys_files", "index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Funct (truncated) 12:54:37.930 [info] GET /js/lkk_ch.js 12:54:37.932 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=1559.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 [] 12:54:37.933 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1405.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 [] 12:54:37.934 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:54:37.936 [error] #PID<0.3409.0> running PinchflatWeb.Endpoint (connection #PID<0.3402.0>, stream id 5) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /js/lkk_ch.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/lkk_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/lkk_ch.js", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60680}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.f2fv7u.uncld.dev", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3409.0>, params: %{}, path_info: ["js", "lkk_ch"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/js/lkk_ch.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDefCMbLcId8lQAAD6D"} ], 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.3402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/lkk_ch.js", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60680}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.f2fv7u.uncld.dev", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/lkk_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/lkk_ch.js", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60680}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.f2fv7u.uncld.dev", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3409.0>, params: %{}, path_info: ["js", "lkk_ch"], 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://pinchflat.f2fv7u.uncld.dev", (truncated) 12:54:40.462 [info] GET /js/twint_ch.js 12:54:40.464 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1091.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 [] 12:54:40.465 [debug] QUERY OK source="settings" db=0.5ms idle=1092.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 [] 12:54:40.466 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:54:40.467 [error] #PID<0.3410.0> running PinchflatWeb.Endpoint (connection #PID<0.3402.0>, stream id 6) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /js/twint_ch.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/twint_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/twint_ch.js", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60680}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.f2fv7u.uncld.dev", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3410.0>, params: %{}, path_info: ["js", "twint_ch"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/js/twint_ch.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDefLoJS-Lx12QAAD6j"} ], 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.3402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/twint_ch.js", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60680}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.f2fv7u.uncld.dev", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/twint_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/twint_ch.js", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60680}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.f2fv7u.uncld.dev", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3410.0>, params: %{}, path_info: ["js", "twint_ch"], 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://pinchflat.f2fv7u.un (truncated) 12:54:42.363 [info] GET /css/support_parent.css 12:54:42.365 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1898.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 [] 12:54:42.365 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1820.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 [] 12:54:42.366 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:54:42.366 [error] #PID<0.3411.0> running PinchflatWeb.Endpoint (connection #PID<0.3402.0>, stream id 7) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /css/support_parent.css ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /css/support_parent (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/css/support_parent.css", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60680}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.f2fv7u.uncld.dev", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 7, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3411.0>, params: %{}, path_info: ["css", "support_parent"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/css/support_parent.css", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDefStV2mW30xoAAD7D"} ], 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.3402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/css/support_parent.css", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60680}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.f2fv7u.uncld.dev", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 7, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /css/support_parent (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/css/support_parent.css", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60680}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.f2fv7u.uncld.dev", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 7, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3411.0>, params: %{}, path_info: ["css", "support_parent"], 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.Endpo (truncated) 12:54:44.574 [info] GET /assets/js/auth.js 12:54:44.576 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1202.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 [] 12:54:44.576 [debug] QUERY OK source="settings" db=0.3ms idle=1204.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 [] 12:54:44.577 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:54:44.578 [error] #PID<0.3412.0> running PinchflatWeb.Endpoint (connection #PID<0.3402.0>, stream id 8) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /assets/js/auth.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/auth (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/auth.js", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60680}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.f2fv7u.uncld.dev", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 8, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3412.0>, params: %{}, path_info: ["assets", "js", "auth"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/assets/js/auth.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDefa8gXe9PqhMAAD7j"} ], 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.3402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/auth.js", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60680}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.f2fv7u.uncld.dev", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 8, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/js/auth (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/js/auth.js", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60680}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.f2fv7u.uncld.dev", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 8, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3412.0>, params: %{}, path_info: ["assets", "js", "auth"], 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_ur (truncated) 12:54:46.602 [info] GET /static/style/protect/index.js 12:54:46.604 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1231.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 [] 12:54:46.605 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1042.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 [] 12:54:46.605 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:54:46.606 [error] #PID<0.3413.0> running PinchflatWeb.Endpoint (connection #PID<0.3402.0>, stream id 9) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /static/style/protect/index.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /static/style/protect/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/protect/index.js", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60680}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.f2fv7u.uncld.dev", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 9, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3413.0>, params: %{}, path_info: ["static", "style", "protect", "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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/static/style/protect/index.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDefigDmLsw86MAAD8D"} ], 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.3402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/protect/index.js", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60680}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.f2fv7u.uncld.dev", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 9, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /static/style/protect/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/style/protect/index.js", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60680}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.f2fv7u.uncld.dev", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 9, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3413.0>, params: %{}, path_info: ["static", "style", "protect", "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 (truncated) 12:54:48.640 [info] GET /bot-connect.js 12:54:48.641 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=268.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 [] 12:54:48.643 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=269.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 [] 12:54:48.643 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:54:48.644 [error] #PID<0.3414.0> running PinchflatWeb.Endpoint (connection #PID<0.3402.0>, stream id 10) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /bot-connect.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /bot-connect (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bot-connect.js", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60680}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.f2fv7u.uncld.dev", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 10, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3414.0>, params: %{}, path_info: ["bot-connect"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "178.22.106.230"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/bot-connect.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDefqFz1H1JfvsAAD8j"} ], 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.3402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bot-connect.js", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60680}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.f2fv7u.uncld.dev", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 10, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /bot-connect (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3402.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bot-connect.js", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60680}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9,de-CH;q=0.8,de;q=0.7,ca;q=0.6", "host" => "pinchflat.f2fv7u.uncld.dev", "user-agent" => "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36", "via" => "2.0 Caddy", "x-forwarded-for" => "178.22.106.230", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 10, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3414.0>, params: %{}, path_info: ["bot-connect"], 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://pinchflat.f2fv7u.uncl (truncated) 12:54:51.050 [info] {"source":"oban","duration":3390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:58.707 [info] GET / 12:54:58.707 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:54:58.709 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=335.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 [] 12:54:58.710 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=337.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:54:58.711 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=338.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:54:58.739 [debug] QUERY OK source="media_items" db=27.5ms idle=338.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:54:58.752 [debug] QUERY OK source="media_items" db=12.9ms queue=0.1ms idle=125.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:54:58.755 [debug] QUERY OK source="settings" db=0.7ms queue=0.3ms idle=44.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 [] 12:54:58.756 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=45.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 [] 12:54:58.758 [debug] QUERY OK source="settings" db=0.3ms idle=46.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 [] 12:54:58.773 [debug] QUERY OK source="media_items" db=13.0ms idle=21.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 (NOT (m0."media_filepath" IS NULL)) [] 12:54:58.777 [debug] QUERY OK source="media_items" db=2.0ms queue=0.3ms idle=21.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:54:58.779 [debug] QUERY OK source="sources" db=0.9ms idle=23.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" IN (?,?)) [2, 6] 12:54:58.895 [debug] QUERY OK source="media_items" db=113.0ms idle=26.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 (((((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:54:58.941 [debug] QUERY OK source="media_items" db=45.5ms idle=137.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:54:58.942 [debug] QUERY OK source="sources" db=0.4ms idle=168.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] 12:54:58.947 [debug] QUERY OK source="tasks" db=0.5ms idle=170.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:54:58.949 [debug] QUERY OK source="media_items" db=0.5ms idle=169.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3567, 3570] 12:54:58.951 [info] Sent 200 in 244ms 12:55:00.734 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:55:21.053 [info] {"source":"oban","duration":1687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:47.798 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=P_vv7m1sbW0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/93/b9/93b9902eef424487e7c7c3045e62bf05f0f68ebb0bdf44c790a778519b6a3551.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:55:48.059 [debug] Running yt-dlp command for action: download_thumbnail 12:55:48.061 [debug] QUERY OK source="settings" db=0.2ms idle=1688.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 [] 12:55:48.062 [debug] QUERY OK source="settings" db=0.2ms idle=1688.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 [] 12:55:48.062 [debug] QUERY OK source="settings" db=0.2ms idle=1276.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 [] 12:55:48.063 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=P_vv7m1sbW0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3567/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/e3/5e/e35eb6558c66042274d4954200c8891d7b935d8e24eedf66ecfa595646f2ee6b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:55:51.057 [info] {"source":"oban","duration":2076,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:52.792 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7LruwMcT80w --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/27/fa/27fa224d055011758fdc6693b198afea542e1aa24b4b286aba4c516a9ff272ea.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:55:52.881 [debug] Running yt-dlp command for action: download_thumbnail 12:55:52.883 [debug] QUERY OK source="settings" db=0.4ms idle=1509.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 [] 12:55:52.883 [debug] QUERY OK source="settings" db=0.3ms idle=1510.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 [] 12:55:52.884 [debug] QUERY OK source="settings" db=0.2ms idle=1080.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 [] 12:55:52.884 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7LruwMcT80w --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3570/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/f6/21/f621ef953a290d7b1c8213443decb3ef5ffb0d9f5857aad1dfc3d8ca03e327b6.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:55:56.498 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=P_vv7m1sbW0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3567/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/e3/5e/e35eb6558c66042274d4954200c8891d7b935d8e24eedf66ecfa595646f2ee6b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:55:56.499 [debug] QUERY OK db=0.1ms idle=682.8ms begin [] 12:55:56.505 [debug] QUERY OK source="media_items" db=4.9ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:55:47Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e122399 - 2 Cocktails from Drinks Masters | How Did They Do It?.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e122399 - 2 Cocktails from Drinks Masters | How Did They Do It?.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e122399 - 2 Cocktails from Drinks Masters | How Did They Do It?.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e122399 - 2 Cocktails from Drinks Masters | How Did They Do It?.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e122399 - 2 Cocktails from Drinks Masters | How Did They Do It?.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e122399 - 2 Cocktails from Drinks Masters | How Did They Do It?-thumb.jpg", ~U[2026-03-28 01:55:56Z], 3567] 12:55:56.508 [debug] QUERY OK source="media_metadata" db=2.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/3567/metadata.json.gz", "/config/metadata/media_items/3567/thumbnail.jpg", 3567, ~U[2026-03-28 01:55:56Z], ~U[2026-03-28 01:55:56Z]] 12:55:56.512 [debug] QUERY OK db=3.5ms commit [] 12:55:56.541 [debug] QUERY OK source="media_items" db=6.7ms queue=0.1ms idle=158.9ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [102682984, ~U[2026-03-28 01:55:56Z], 3567] 12:55:56.542 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:55:56.549 [info] {"args":{"id":3567},"id":631,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":209018000,"event":"job:stop","queue_time":78127523091,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:55:56.565 [info] {"args":{"id":3572},"id":633,"meta":{},"system_time":1774662956565001771,"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"]} 12:55:56.573 [debug] QUERY OK source="media_items" db=7.6ms queue=0.1ms idle=189.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" = ?) [3572] 12:55:56.574 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:55:56.589 [debug] QUERY OK source="sources" db=13.9ms queue=0.2ms idle=62.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" = ?) [4] 12:55:56.590 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.2ms idle=47.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] 12:55:56.592 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=42.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 [3572] 12:55:56.593 [debug] QUERY OK source="media_metadata" db=0.2ms idle=28.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" = ?) [3572] 12:55:56.594 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=20.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] 12:55:56.595 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms 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 [] 12:55:56.596 [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 [] 12:55:56.597 [debug] Running yt-dlp command for action: get_downloadable_status 12:55:56.598 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:55:56.599 [debug] QUERY OK source="settings" db=0.2ms idle=5.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 [] 12:55:56.599 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:55:56.600 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=wP49JbMsh24 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fa/16/fa16fdc19a36ce4520e79035d082b99334cef2f97187399fef20fec95837041d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:55:59.149 [info] GET / 12:55:59.149 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:55:59.150 [debug] QUERY OK source="settings" db=0.2ms idle=774.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 [] 12:55:59.150 [debug] QUERY OK source="media_profiles" db=0.2ms idle=775.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:55:59.151 [debug] QUERY OK source="sources" db=0.1ms idle=775.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:55:59.176 [debug] QUERY OK source="media_items" db=24.8ms idle=775.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:55:59.179 [debug] QUERY OK source="media_items" db=3.1ms idle=348.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:55:59.180 [debug] QUERY OK source="settings" db=0.5ms idle=29.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 [] 12:55:59.181 [debug] QUERY OK source="settings" db=0.3ms idle=30.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 [] 12:55:59.182 [debug] QUERY OK source="settings" db=0.2ms idle=30.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 [] 12:55:59.186 [debug] QUERY OK source="media_items" db=3.2ms 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 (NOT (m0."media_filepath" IS NULL)) [] 12:55:59.187 [debug] QUERY OK source="media_items" db=0.8ms idle=7.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:55:59.189 [debug] QUERY OK source="sources" db=0.4ms idle=7.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" IN (?,?)) [2, 6] 12:55:59.251 [debug] QUERY OK source="media_items" db=55.6ms idle=14.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 (((((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:55:59.328 [debug] QUERY OK source="media_items" db=76.7ms idle=69.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:55:59.331 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=143.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] 12:55:59.337 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=149.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:55:59.339 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=149.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3570, 3572] 12:55:59.342 [info] Sent 200 in 193ms 12:56:00.736 [info] {"source":"oban","duration":824,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:56:01.289 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7LruwMcT80w --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3570/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/f6/21/f621ef953a290d7b1c8213443decb3ef5ffb0d9f5857aad1dfc3d8ca03e327b6.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:56:01.289 [debug] QUERY OK db=0.0ms idle=914.2ms begin [] 12:56:01.294 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:55:52Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e121699 - How to Make Butterbeer: A Delicious Harry Potter-Inspired Drink.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e121699 - How to Make Butterbeer: A Delicious Harry Potter-Inspired Drink.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e121699 - How to Make Butterbeer: A Delicious Harry Potter-Inspired Drink.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e121699 - How to Make Butterbeer: A Delicious Harry Potter-Inspired Drink.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e121699 - How to Make Butterbeer: A Delicious Harry Potter-Inspired Drink.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e121699 - How to Make Butterbeer: A Delicious Harry Potter-Inspired Drink-thumb.jpg", ~U[2026-03-28 01:56:01Z], 3570] 12:56:01.300 [debug] QUERY OK source="media_metadata" db=6.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/3570/metadata.json.gz", "/config/metadata/media_items/3570/thumbnail.jpg", 3570, ~U[2026-03-28 01:56:01Z], ~U[2026-03-28 01:56:01Z]] 12:56:01.304 [debug] QUERY OK db=3.0ms commit [] 12:56:01.323 [debug] QUERY OK source="media_items" db=3.0ms idle=944.9ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [92546270, ~U[2026-03-28 01:56:01Z], 3570] 12:56:01.323 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:56:01.325 [info] {"args":{"id":3570},"id":632,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":210912469,"event":"job:stop","queue_time":78124410077,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:56:01.340 [info] {"args":{"id":3575},"id":634,"meta":{},"system_time":1774662961340123797,"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"]} 12:56:01.346 [debug] QUERY OK source="media_items" db=5.8ms queue=0.1ms idle=505.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" = ?) [3575] 12:56:01.347 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:56:01.357 [debug] QUERY OK source="sources" db=9.6ms queue=0.3ms idle=43.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" = ?) [4] 12:56:01.358 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=34.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] 12:56:01.360 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=34.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 [3575] 12:56:01.362 [debug] QUERY OK source="media_metadata" db=0.3ms idle=22.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" = ?) [3575] 12:56:01.364 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=16.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] 12:56:01.365 [debug] QUERY OK source="settings" db=0.6ms queue=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 [] 12:56:01.366 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 12:56:01.367 [debug] Running yt-dlp command for action: get_downloadable_status 12:56:01.369 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:56:01.370 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=6.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 [] 12:56:01.370 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms 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 [] 12:56:01.371 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=lZZY79ims5M --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9e/28/9e289d4b97fd950c0eda509cdb14e6879d6f15bed901e320da92f9641d5c1d97.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:56:03.111 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=wP49JbMsh24 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fa/16/fa16fdc19a36ce4520e79035d082b99334cef2f97187399fef20fec95837041d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:56:03.112 [debug] Running yt-dlp command for action: download 12:56:03.113 [debug] QUERY OK source="settings" db=0.5ms idle=737.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 [] 12:56:03.114 [debug] QUERY OK source="settings" db=0.2ms idle=738.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 [] 12:56:03.115 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=739.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 [] 12:56:03.116 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=wP49JbMsh24 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d8/29/d829524401caa2d2967722e3e17b9ee80023a1c4eb8051affda9ca6113bdeb92.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:56:06.514 [info] GET /.well-known/acme-challenge/Iz4DwgKg2KysyXcK4npMwhcwRyU2N2xq6XOfqsHcjCg 12:56:06.515 [debug] QUERY OK source="settings" db=0.3ms idle=664.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 [] 12:56:06.516 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=140.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 [] 12:56:06.516 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:56:06.517 [error] #PID<0.3441.0> running PinchflatWeb.Endpoint (connection #PID<0.3440.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/Iz4DwgKg2KysyXcK4npMwhcwRyU2N2xq6XOfqsHcjCg ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Iz4DwgKg2KysyXcK4npMwhcwRyU2N2xq6XOfqsHcjCg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3440.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Iz4DwgKg2KysyXcK4npMwhcwRyU2N2xq6XOfqsHcjCg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 54000}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Iz4DwgKg2KysyXcK4npMwhcwRyU2N2xq6XOfqsHcjCg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3441.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Iz4DwgKg2KysyXcK4npMwhcwRyU2N2xq6XOfqsHcjCg"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Iz4DwgKg2KysyXcK4npMwhcwRyU2N2xq6XOfqsHcjCg"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/Iz4DwgKg2KysyXcK4npMwhcwRyU2N2xq6XOfqsHcjCg", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDekMMjxappHpsAAEAD"} ], 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.3440.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Iz4DwgKg2KysyXcK4npMwhcwRyU2N2xq6XOfqsHcjCg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 54000}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Iz4DwgKg2KysyXcK4npMwhcwRyU2N2xq6XOfqsHcjCg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Iz4DwgKg2KysyXcK4npMwhcwRyU2N2xq6XOfqsHcjCg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3440.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Iz4DwgKg2KysyXcK4npMwhcwRyU2N2xq6XOfqsHcjCg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 54000}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Iz4DwgKg2KysyXcK4npMwhcwRyU2N2xq6XOfqsHcjCg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3441.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Iz4DwgKg2KysyXcK4npMwhcwRyU2N2xq6XOfqsHcjCg"], 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://pinchflat.f2fv7 (truncated) 12:56:06.948 [info] GET /.well-known/acme-challenge/QZaG0HfKOvb5RGL2mKWUjNgKSfvybnXAZFN-kgTnFUc 12:56:06.949 [debug] QUERY OK source="settings" db=0.3ms idle=573.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 [] 12:56:06.949 [debug] QUERY OK source="settings" db=0.2ms idle=574.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 [] 12:56:06.950 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:56:06.950 [error] #PID<0.3442.0> running PinchflatWeb.Endpoint (connection #PID<0.3440.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/QZaG0HfKOvb5RGL2mKWUjNgKSfvybnXAZFN-kgTnFUc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/QZaG0HfKOvb5RGL2mKWUjNgKSfvybnXAZFN-kgTnFUc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3440.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/QZaG0HfKOvb5RGL2mKWUjNgKSfvybnXAZFN-kgTnFUc", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 54000}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/QZaG0HfKOvb5RGL2mKWUjNgKSfvybnXAZFN-kgTnFUc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3442.0>, params: %{}, path_info: [".well-known", "acme-challenge", "QZaG0HfKOvb5RGL2mKWUjNgKSfvybnXAZFN-kgTnFUc"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/QZaG0HfKOvb5RGL2mKWUjNgKSfvybnXAZFN-kgTnFUc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/QZaG0HfKOvb5RGL2mKWUjNgKSfvybnXAZFN-kgTnFUc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDekN0C_ybe2S0AAEAj"} ], 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.3440.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/QZaG0HfKOvb5RGL2mKWUjNgKSfvybnXAZFN-kgTnFUc", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 54000}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/QZaG0HfKOvb5RGL2mKWUjNgKSfvybnXAZFN-kgTnFUc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/QZaG0HfKOvb5RGL2mKWUjNgKSfvybnXAZFN-kgTnFUc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3440.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/QZaG0HfKOvb5RGL2mKWUjNgKSfvybnXAZFN-kgTnFUc", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 54000}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/QZaG0HfKOvb5RGL2mKWUjNgKSfvybnXAZFN-kgTnFUc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3442.0>, params: %{}, path_info: [".well-known", "acme-challenge", "QZaG0HfKOvb5RGL2mKWUjNgKSfvybnXAZFN-kgTnFUc"], 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://pinchflat.f2fv7 (truncated) 12:56:07.009 [info] GET /.well-known/acme-challenge/w0pigJ-C7MeOWMaC4fdk0c38EgZ2q1rdtdkrVWgXPy0 12:56:07.010 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=494.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 [] 12:56:07.010 [debug] QUERY OK source="settings" db=0.2ms idle=494.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 [] 12:56:07.011 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:56:07.011 [error] #PID<0.3444.0> running PinchflatWeb.Endpoint (connection #PID<0.3443.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/w0pigJ-C7MeOWMaC4fdk0c38EgZ2q1rdtdkrVWgXPy0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/w0pigJ-C7MeOWMaC4fdk0c38EgZ2q1rdtdkrVWgXPy0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3443.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/w0pigJ-C7MeOWMaC4fdk0c38EgZ2q1rdtdkrVWgXPy0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54014}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/w0pigJ-C7MeOWMaC4fdk0c38EgZ2q1rdtdkrVWgXPy0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3444.0>, params: %{}, path_info: [".well-known", "acme-challenge", "w0pigJ-C7MeOWMaC4fdk0c38EgZ2q1rdtdkrVWgXPy0"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/w0pigJ-C7MeOWMaC4fdk0c38EgZ2q1rdtdkrVWgXPy0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/w0pigJ-C7MeOWMaC4fdk0c38EgZ2q1rdtdkrVWgXPy0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDekOChz-Rc4OQAAEBD"} ], 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.3443.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/w0pigJ-C7MeOWMaC4fdk0c38EgZ2q1rdtdkrVWgXPy0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54014}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/w0pigJ-C7MeOWMaC4fdk0c38EgZ2q1rdtdkrVWgXPy0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/w0pigJ-C7MeOWMaC4fdk0c38EgZ2q1rdtdkrVWgXPy0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3443.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/w0pigJ-C7MeOWMaC4fdk0c38EgZ2q1rdtdkrVWgXPy0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54014}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/w0pigJ-C7MeOWMaC4fdk0c38EgZ2q1rdtdkrVWgXPy0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3444.0>, params: %{}, path_info: [".well-known", "acme-challenge", "w0pigJ-C7MeOWMaC4fdk0c38EgZ2q1rdtdkrVWgXPy0"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:56:07.671 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=lZZY79ims5M --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9e/28/9e289d4b97fd950c0eda509cdb14e6879d6f15bed901e320da92f9641d5c1d97.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:56:07.671 [debug] Running yt-dlp command for action: download 12:56:07.672 [debug] QUERY OK source="settings" db=0.5ms idle=817.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 [] 12:56:07.672 [debug] QUERY OK source="settings" db=0.2ms idle=723.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 [] 12:56:07.672 [debug] QUERY OK source="settings" db=0.1ms idle=722.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 [] 12:56:07.673 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=lZZY79ims5M --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b0/83/b083343e623c942e72bf3ab85e0522d962ffcceaad5df94d6a76df062b8c404f.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:56:21.060 [info] {"source":"oban","duration":2193,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:27.273 [info] GET /.well-known/acme-challenge/HA4t8u6CFeNUNGaQMLxkV89Q9MqjhgXXJDnMXT8ZwBo 12:56:27.275 [debug] QUERY OK source="settings" db=0.6ms queue=0.3ms idle=1898.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 [] 12:56:27.276 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=1348.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 [] 12:56:27.277 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:56:27.279 [error] #PID<0.3446.0> running PinchflatWeb.Endpoint (connection #PID<0.3445.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/HA4t8u6CFeNUNGaQMLxkV89Q9MqjhgXXJDnMXT8ZwBo ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/HA4t8u6CFeNUNGaQMLxkV89Q9MqjhgXXJDnMXT8ZwBo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3445.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/HA4t8u6CFeNUNGaQMLxkV89Q9MqjhgXXJDnMXT8ZwBo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 43662}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/HA4t8u6CFeNUNGaQMLxkV89Q9MqjhgXXJDnMXT8ZwBo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3446.0>, params: %{}, path_info: [".well-known", "acme-challenge", "HA4t8u6CFeNUNGaQMLxkV89Q9MqjhgXXJDnMXT8ZwBo"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/HA4t8u6CFeNUNGaQMLxkV89Q9MqjhgXXJDnMXT8ZwBo"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/HA4t8u6CFeNUNGaQMLxkV89Q9MqjhgXXJDnMXT8ZwBo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDelZhyvLQMshQAAEBj"} ], 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.3445.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/HA4t8u6CFeNUNGaQMLxkV89Q9MqjhgXXJDnMXT8ZwBo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 43662}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/HA4t8u6CFeNUNGaQMLxkV89Q9MqjhgXXJDnMXT8ZwBo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/HA4t8u6CFeNUNGaQMLxkV89Q9MqjhgXXJDnMXT8ZwBo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3445.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/HA4t8u6CFeNUNGaQMLxkV89Q9MqjhgXXJDnMXT8ZwBo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 43662}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/HA4t8u6CFeNUNGaQMLxkV89Q9MqjhgXXJDnMXT8ZwBo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3446.0>, params: %{}, path_info: [".well-known", "acme-challenge", "HA4t8u6CFeNUNGaQMLxkV89Q9MqjhgXXJDnMXT8ZwBo"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:56:28.834 [info] GET /.well-known/acme-challenge/MI632x1zSqwG-fT-CNDzzsZCHVuyBm7JZ5gzRF1Ih0s 12:56:28.835 [debug] QUERY OK source="settings" db=0.3ms idle=899.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 [] 12:56:28.836 [debug] QUERY OK source="settings" db=0.3ms idle=460.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 [] 12:56:28.836 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:56:28.837 [error] #PID<0.3448.0> running PinchflatWeb.Endpoint (connection #PID<0.3447.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/MI632x1zSqwG-fT-CNDzzsZCHVuyBm7JZ5gzRF1Ih0s ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/MI632x1zSqwG-fT-CNDzzsZCHVuyBm7JZ5gzRF1Ih0s (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3447.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/MI632x1zSqwG-fT-CNDzzsZCHVuyBm7JZ5gzRF1Ih0s", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 43670}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/MI632x1zSqwG-fT-CNDzzsZCHVuyBm7JZ5gzRF1Ih0s", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3448.0>, params: %{}, path_info: [".well-known", "acme-challenge", "MI632x1zSqwG-fT-CNDzzsZCHVuyBm7JZ5gzRF1Ih0s"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/MI632x1zSqwG-fT-CNDzzsZCHVuyBm7JZ5gzRF1Ih0s"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/MI632x1zSqwG-fT-CNDzzsZCHVuyBm7JZ5gzRF1Ih0s", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDelfWBEwn0qoQAAIci"} ], 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.3447.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/MI632x1zSqwG-fT-CNDzzsZCHVuyBm7JZ5gzRF1Ih0s", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 43670}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/MI632x1zSqwG-fT-CNDzzsZCHVuyBm7JZ5gzRF1Ih0s", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/MI632x1zSqwG-fT-CNDzzsZCHVuyBm7JZ5gzRF1Ih0s (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3447.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/MI632x1zSqwG-fT-CNDzzsZCHVuyBm7JZ5gzRF1Ih0s", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 43670}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/MI632x1zSqwG-fT-CNDzzsZCHVuyBm7JZ5gzRF1Ih0s", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3448.0>, params: %{}, path_info: [".well-known", "acme-challenge", "MI632x1zSqwG-fT-CNDzzsZCHVuyBm7JZ5gzRF1Ih0s"], 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://pinchflat.f2fv7 (truncated) 12:56:37.955 [info] GET /.well-known/acme-challenge/jiXEUk-ifkwEYdjLzo5vWqxIBchF5ErHYVAU45TN61g 12:56:37.956 [debug] QUERY OK source="settings" db=0.4ms idle=1580.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 [] 12:56:37.957 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1581.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 [] 12:56:37.957 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:56:37.957 [error] #PID<0.3452.0> running PinchflatWeb.Endpoint (connection #PID<0.3451.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/jiXEUk-ifkwEYdjLzo5vWqxIBchF5ErHYVAU45TN61g ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/jiXEUk-ifkwEYdjLzo5vWqxIBchF5ErHYVAU45TN61g (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3451.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/jiXEUk-ifkwEYdjLzo5vWqxIBchF5ErHYVAU45TN61g", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60066}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/jiXEUk-ifkwEYdjLzo5vWqxIBchF5ErHYVAU45TN61g", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3452.0>, params: %{}, path_info: [".well-known", "acme-challenge", "jiXEUk-ifkwEYdjLzo5vWqxIBchF5ErHYVAU45TN61g"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/jiXEUk-ifkwEYdjLzo5vWqxIBchF5ErHYVAU45TN61g"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/jiXEUk-ifkwEYdjLzo5vWqxIBchF5ErHYVAU45TN61g", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDemBUnFEfBOssAAIdC"} ], 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.3451.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/jiXEUk-ifkwEYdjLzo5vWqxIBchF5ErHYVAU45TN61g", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60066}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/jiXEUk-ifkwEYdjLzo5vWqxIBchF5ErHYVAU45TN61g", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/jiXEUk-ifkwEYdjLzo5vWqxIBchF5ErHYVAU45TN61g (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3451.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/jiXEUk-ifkwEYdjLzo5vWqxIBchF5ErHYVAU45TN61g", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60066}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/jiXEUk-ifkwEYdjLzo5vWqxIBchF5ErHYVAU45TN61g", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3452.0>, params: %{}, path_info: [".well-known", "acme-challenge", "jiXEUk-ifkwEYdjLzo5vWqxIBchF5ErHYVAU45TN61g"], 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://pinchflat.f2fv7 (truncated) 12:56:38.230 [info] GET /.well-known/acme-challenge/pOfPVGZdXheRnrinEz7QGzFpe0I32VytsVZaRdEsNMo 12:56:38.232 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=1258.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 [] 12:56:38.235 [debug] QUERY OK source="settings" db=2.2ms queue=0.2ms idle=857.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 [] 12:56:38.235 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:56:38.236 [error] #PID<0.3454.0> running PinchflatWeb.Endpoint (connection #PID<0.3453.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/pOfPVGZdXheRnrinEz7QGzFpe0I32VytsVZaRdEsNMo ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/pOfPVGZdXheRnrinEz7QGzFpe0I32VytsVZaRdEsNMo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3453.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/pOfPVGZdXheRnrinEz7QGzFpe0I32VytsVZaRdEsNMo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 60080}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/pOfPVGZdXheRnrinEz7QGzFpe0I32VytsVZaRdEsNMo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3454.0>, params: %{}, path_info: [".well-known", "acme-challenge", "pOfPVGZdXheRnrinEz7QGzFpe0I32VytsVZaRdEsNMo"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/pOfPVGZdXheRnrinEz7QGzFpe0I32VytsVZaRdEsNMo"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/pOfPVGZdXheRnrinEz7QGzFpe0I32VytsVZaRdEsNMo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDemCWGBgrow08AAECj"} ], 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.3453.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/pOfPVGZdXheRnrinEz7QGzFpe0I32VytsVZaRdEsNMo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 60080}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/pOfPVGZdXheRnrinEz7QGzFpe0I32VytsVZaRdEsNMo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/pOfPVGZdXheRnrinEz7QGzFpe0I32VytsVZaRdEsNMo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3453.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/pOfPVGZdXheRnrinEz7QGzFpe0I32VytsVZaRdEsNMo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 60080}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/pOfPVGZdXheRnrinEz7QGzFpe0I32VytsVZaRdEsNMo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3454.0>, params: %{}, path_info: [".well-known", "acme-challenge", "pOfPVGZdXheRnrinEz7QGzFpe0I32VytsVZaRdEsNMo"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:56:39.004 [info] GET /.well-known/acme-challenge/lv0JdnPYbSxN_BLvxG8UkzRrZSWzs6Isksef6ZO7CA8 12:56:39.007 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=1047.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 [] 12:56:39.008 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=1030.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 [] 12:56:39.009 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:56:39.011 [error] #PID<0.3455.0> running PinchflatWeb.Endpoint (connection #PID<0.3453.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/lv0JdnPYbSxN_BLvxG8UkzRrZSWzs6Isksef6ZO7CA8 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/lv0JdnPYbSxN_BLvxG8UkzRrZSWzs6Isksef6ZO7CA8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3453.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/lv0JdnPYbSxN_BLvxG8UkzRrZSWzs6Isksef6ZO7CA8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 60080}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/lv0JdnPYbSxN_BLvxG8UkzRrZSWzs6Isksef6ZO7CA8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3455.0>, params: %{}, path_info: [".well-known", "acme-challenge", "lv0JdnPYbSxN_BLvxG8UkzRrZSWzs6Isksef6ZO7CA8"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/lv0JdnPYbSxN_BLvxG8UkzRrZSWzs6Isksef6ZO7CA8"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/lv0JdnPYbSxN_BLvxG8UkzRrZSWzs6Isksef6ZO7CA8", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDemFOt1_EnkyYAAEDD"} ], 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.3453.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/lv0JdnPYbSxN_BLvxG8UkzRrZSWzs6Isksef6ZO7CA8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 60080}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/lv0JdnPYbSxN_BLvxG8UkzRrZSWzs6Isksef6ZO7CA8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/lv0JdnPYbSxN_BLvxG8UkzRrZSWzs6Isksef6ZO7CA8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3453.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/lv0JdnPYbSxN_BLvxG8UkzRrZSWzs6Isksef6ZO7CA8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 60080}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/lv0JdnPYbSxN_BLvxG8UkzRrZSWzs6Isksef6ZO7CA8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3455.0>, params: %{}, path_info: [".well-known", "acme-challenge", "lv0JdnPYbSxN_BLvxG8UkzRrZSWzs6Isksef6ZO7CA8"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:56:45.871 [info] GET /.well-known/acme-challenge/tgrPSmIgpz6nj6NnVXWzXRnzEduZuOKzMEHtRwYds4s 12:56:45.873 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1497.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 [] 12:56:45.874 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1498.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 [] 12:56:45.874 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:56:45.875 [error] #PID<0.3457.0> running PinchflatWeb.Endpoint (connection #PID<0.3456.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/tgrPSmIgpz6nj6NnVXWzXRnzEduZuOKzMEHtRwYds4s ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/tgrPSmIgpz6nj6NnVXWzXRnzEduZuOKzMEHtRwYds4s (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3456.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/tgrPSmIgpz6nj6NnVXWzXRnzEduZuOKzMEHtRwYds4s", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37762}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/tgrPSmIgpz6nj6NnVXWzXRnzEduZuOKzMEHtRwYds4s", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3457.0>, params: %{}, path_info: [".well-known", "acme-challenge", "tgrPSmIgpz6nj6NnVXWzXRnzEduZuOKzMEHtRwYds4s"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/tgrPSmIgpz6nj6NnVXWzXRnzEduZuOKzMEHtRwYds4s"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/tgrPSmIgpz6nj6NnVXWzXRnzEduZuOKzMEHtRwYds4s", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDeme0AdtC9bFgAAIdi"} ], 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.3456.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/tgrPSmIgpz6nj6NnVXWzXRnzEduZuOKzMEHtRwYds4s", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37762}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/tgrPSmIgpz6nj6NnVXWzXRnzEduZuOKzMEHtRwYds4s", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/tgrPSmIgpz6nj6NnVXWzXRnzEduZuOKzMEHtRwYds4s (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3456.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/tgrPSmIgpz6nj6NnVXWzXRnzEduZuOKzMEHtRwYds4s", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37762}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/tgrPSmIgpz6nj6NnVXWzXRnzEduZuOKzMEHtRwYds4s", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3457.0>, params: %{}, path_info: [".well-known", "acme-challenge", "tgrPSmIgpz6nj6NnVXWzXRnzEduZuOKzMEHtRwYds4s"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 12:56:48.867 [info] GET /.well-known/acme-challenge/5JmzgrxyTS9I365wtFiDkmHFtLYNaA6zUaG2lJhYUFo 12:56:48.868 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1492.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 [] 12:56:48.869 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1493.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 [] 12:56:48.869 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:56:48.870 [error] #PID<0.3459.0> running PinchflatWeb.Endpoint (connection #PID<0.3458.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/5JmzgrxyTS9I365wtFiDkmHFtLYNaA6zUaG2lJhYUFo ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/5JmzgrxyTS9I365wtFiDkmHFtLYNaA6zUaG2lJhYUFo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3458.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/5JmzgrxyTS9I365wtFiDkmHFtLYNaA6zUaG2lJhYUFo", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 37768}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/5JmzgrxyTS9I365wtFiDkmHFtLYNaA6zUaG2lJhYUFo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3459.0>, params: %{}, path_info: [".well-known", "acme-challenge", "5JmzgrxyTS9I365wtFiDkmHFtLYNaA6zUaG2lJhYUFo"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/5JmzgrxyTS9I365wtFiDkmHFtLYNaA6zUaG2lJhYUFo"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/5JmzgrxyTS9I365wtFiDkmHFtLYNaA6zUaG2lJhYUFo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDemp-NkKAZ4hEAAIeC"} ], 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.3458.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/5JmzgrxyTS9I365wtFiDkmHFtLYNaA6zUaG2lJhYUFo", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 37768}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/5JmzgrxyTS9I365wtFiDkmHFtLYNaA6zUaG2lJhYUFo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/5JmzgrxyTS9I365wtFiDkmHFtLYNaA6zUaG2lJhYUFo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3458.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/5JmzgrxyTS9I365wtFiDkmHFtLYNaA6zUaG2lJhYUFo", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 37768}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/5JmzgrxyTS9I365wtFiDkmHFtLYNaA6zUaG2lJhYUFo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3459.0>, params: %{}, path_info: [".well-known", "acme-challenge", "5JmzgrxyTS9I365wtFiDkmHFtLYNaA6zUaG2lJhYUFo"], 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://pinchflat.f2fv7 (truncated) 12:56:51.063 [info] {"source":"oban","duration":1213,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:59.509 [info] GET / 12:56:59.509 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:56:59.510 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1134.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 [] 12:56:59.511 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1135.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:56:59.512 [debug] QUERY OK source="sources" db=0.4ms idle=1136.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:56:59.572 [debug] QUERY OK source="media_items" db=59.8ms idle=443.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:56:59.577 [debug] QUERY OK source="media_items" db=4.4ms idle=197.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:56:59.579 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=67.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 [] 12:56:59.579 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=67.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 [] 12:56:59.581 [debug] QUERY OK source="settings" db=0.8ms idle=68.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 [] 12:56:59.588 [debug] QUERY OK source="media_items" db=5.0ms queue=0.1ms idle=10.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 (NOT (m0."media_filepath" IS NULL)) [] 12:56:59.592 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=11.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:56:59.595 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=14.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" IN (?,?)) [2, 6] 12:56:59.660 [debug] QUERY OK source="media_items" db=58.6ms queue=0.1ms idle=22.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 (((((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:56:59.725 [debug] QUERY OK source="media_items" db=64.0ms idle=79.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:56:59.727 [debug] QUERY OK source="sources" db=0.3ms idle=137.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] 12:56:59.731 [debug] QUERY OK source="tasks" db=0.4ms idle=139.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:56:59.732 [debug] QUERY OK source="media_items" db=0.3ms idle=137.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3572, 3575] 12:56:59.735 [info] Sent 200 in 226ms 12:57:00.738 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:57:21.066 [info] {"source":"oban","duration":2255,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:51.070 [info] {"source":"oban","duration":2881,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:59.957 [info] GET / 12:57:59.957 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:57:59.958 [debug] QUERY OK source="settings" db=0.3ms idle=1582.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 [] 12:57:59.959 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1583.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:57:59.960 [debug] QUERY OK source="sources" db=0.3ms idle=1584.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:57:59.976 [debug] QUERY OK source="media_items" db=15.6ms idle=710.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:57:59.978 [debug] QUERY OK source="media_items" db=2.0ms idle=600.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:57:59.979 [debug] QUERY OK source="settings" db=0.2ms idle=20.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 [] 12:57:59.979 [debug] QUERY OK source="settings" db=0.1ms idle=20.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 [] 12:57:59.980 [debug] QUERY OK source="settings" db=0.1ms idle=19.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 [] 12:57:59.987 [debug] QUERY OK source="media_items" db=6.0ms 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 (NOT (m0."media_filepath" IS NULL)) [] 12:57:59.988 [debug] QUERY OK source="media_items" db=0.7ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:57:59.989 [debug] QUERY OK source="sources" db=0.5ms idle=9.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" IN (?,?)) [2, 6] 12:58:00.036 [debug] QUERY OK source="media_items" db=44.7ms idle=12.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 (((((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:58:00.126 [debug] QUERY OK source="media_items" db=88.8ms queue=0.2ms idle=57.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:58:00.127 [debug] QUERY OK source="sources" db=0.2ms idle=139.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] 12:58:00.130 [debug] QUERY OK source="tasks" db=0.9ms idle=141.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:58:00.132 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=142.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3572, 3575] 12:58:00.136 [info] Sent 200 in 178ms 12:58:00.740 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:58:02.763 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=lZZY79ims5M --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b0/83/b083343e623c942e72bf3ab85e0522d962ffcceaad5df94d6a76df062b8c404f.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:58:02.808 [debug] Running yt-dlp command for action: download_thumbnail 12:58:02.811 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1435.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 [] 12:58:02.811 [debug] QUERY OK source="settings" db=0.1ms idle=1436.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 [] 12:58:02.814 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=1436.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 [] 12:58:02.815 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=lZZY79ims5M --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3575/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/b6/8e/b68e7cacf89fec8163b18ca2bcbd0e3eb3309dabfae026d0db6f87c741488e91.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:58:09.234 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=lZZY79ims5M --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3575/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/b6/8e/b68e7cacf89fec8163b18ca2bcbd0e3eb3309dabfae026d0db6f87c741488e91.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:58:09.235 [debug] QUERY OK db=0.0ms idle=1860.1ms begin [] 12:58:09.240 [debug] QUERY OK source="media_items" db=4.8ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:58:02Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e120299 - Boozy Hot Chocolates - Make It Your Own Way!.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e120299 - Boozy Hot Chocolates - Make It Your Own Way!.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e120299 - Boozy Hot Chocolates - Make It Your Own Way!.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e120299 - Boozy Hot Chocolates - Make It Your Own Way!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e120299 - Boozy Hot Chocolates - Make It Your Own Way!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e120299 - Boozy Hot Chocolates - Make It Your Own Way!-thumb.jpg", ~U[2026-03-28 01:58:09Z], 3575] 12:58:09.242 [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/3575/metadata.json.gz", "/config/metadata/media_items/3575/thumbnail.jpg", 3575, ~U[2026-03-28 01:58:09Z], ~U[2026-03-28 01:58:09Z]] 12:58:09.242 [debug] QUERY OK db=0.4ms commit [] 12:58:09.270 [debug] QUERY OK source="media_items" db=8.9ms queue=0.1ms idle=982.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [64200911, ~U[2026-03-28 01:58:09Z], 3575] 12:58:09.270 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:58:09.277 [info] {"args":{"id":3575},"id":634,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":127930943,"event":"job:stop","queue_time":78325331100,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:58:09.295 [info] {"args":{"id":3576},"id":635,"meta":{},"system_time":1774663089295644028,"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"]} 12:58:09.297 [debug] QUERY OK source="media_items" db=1.4ms idle=53.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" = ?) [3576] 12:58:09.298 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:58:09.300 [debug] QUERY OK source="sources" db=1.4ms idle=28.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" = ?) [4] 12:58:09.301 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.1ms idle=22.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] 12:58:09.303 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=8.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 [3576] 12:58:09.305 [debug] QUERY OK source="media_metadata" db=0.3ms 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" = ?) [3576] 12:58:09.305 [debug] QUERY OK source="media_profiles" db=0.2ms idle=7.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] 12:58:09.306 [debug] QUERY OK source="settings" db=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 [] 12:58:09.306 [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 [] 12:58:09.307 [debug] Running yt-dlp command for action: get_downloadable_status 12:58:09.308 [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 [] 12:58:09.309 [debug] QUERY OK source="settings" db=0.2ms queue=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 [] 12:58:09.309 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:58:09.310 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OcV71Hz8ePE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/45/15/45159c25c6599efde47fec533b1742c4f073b7ee6dbb5ee6876028f77e8b1a2b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:58:15.701 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OcV71Hz8ePE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/45/15/45159c25c6599efde47fec533b1742c4f073b7ee6dbb5ee6876028f77e8b1a2b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:58:15.701 [debug] Running yt-dlp command for action: download 12:58:15.702 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1326.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 [] 12:58:15.703 [debug] QUERY OK source="settings" db=0.3ms idle=1327.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 [] 12:58:15.703 [debug] QUERY OK source="settings" db=0.2ms idle=1328.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 [] 12:58:15.704 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OcV71Hz8ePE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/87/bd/87bd5aa2c789c6707cb41211a50fffd40b123705bdaa8314d33e3ff0d9223f06.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:58:19.271 [info] GET /sources/6/media/9844 12:58:19.271 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "9844", "prevent_download" => "true", "source_id" => "6"} Pipelines: [:browser] 12:58:19.272 [debug] QUERY OK source="media_items" db=0.6ms idle=1896.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" = ?) [9844] 12:58:19.274 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=1898.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" [9844] 12:58:19.275 [debug] QUERY OK source="sources" db=1.7ms idle=1898.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] 12:58:19.276 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=953.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 [] 12:58:19.277 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=901.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 [] 12:58:19.279 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=6.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 [] 12:58:19.281 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 12:58:19.286 [info] Sent 200 in 15ms 12:58:21.073 [info] {"source":"oban","duration":2514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:51.076 [info] {"source":"oban","duration":2498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:00.323 [info] GET / 12:59:00.323 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:59:00.324 [debug] QUERY OK source="settings" db=0.5ms idle=1948.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 [] 12:59:00.325 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1949.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:59:00.325 [debug] QUERY OK source="sources" db=0.2ms idle=1861.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:59:00.366 [debug] QUERY OK source="media_items" db=40.3ms idle=950.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:59:00.370 [debug] QUERY OK source="media_items" db=3.6ms idle=899.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:59:00.370 [debug] QUERY OK source="settings" db=0.3ms idle=46.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 [] 12:59:00.371 [debug] QUERY OK source="settings" db=0.2ms idle=46.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 [] 12:59:00.372 [debug] QUERY OK source="settings" db=0.2ms idle=46.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 [] 12:59:00.377 [debug] QUERY OK source="media_items" db=3.3ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 12:59:00.378 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:59:00.380 [debug] QUERY OK source="sources" db=0.3ms idle=8.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" IN (?,?)) [2, 6] 12:59:00.438 [debug] QUERY OK source="media_items" db=53.0ms idle=14.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 (((((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:59:00.504 [debug] QUERY OK source="media_items" db=64.5ms idle=66.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 12:59:00.505 [debug] QUERY OK source="sources" db=0.5ms idle=125.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] 12:59:00.510 [debug] QUERY OK source="tasks" db=0.4ms idle=129.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:59:00.511 [debug] QUERY OK source="media_items" db=0.5ms idle=72.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3572, 3576] 12:59:00.514 [info] Sent 200 in 191ms 12:59:00.742 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:59:21.081 [info] {"source":"oban","duration":3559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:51.085 [info] {"source":"oban","duration":2484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:52.297 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=wP49JbMsh24 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d8/29/d829524401caa2d2967722e3e17b9ee80023a1c4eb8051affda9ca6113bdeb92.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 12:59:52.347 [debug] Running yt-dlp command for action: download_thumbnail 12:59:52.350 [debug] QUERY OK source="settings" db=0.4ms idle=1974.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 [] 12:59:52.351 [debug] QUERY OK source="settings" db=0.2ms idle=1975.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 [] 12:59:52.351 [debug] QUERY OK source="settings" db=0.1ms idle=1667.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 [] 12:59:52.351 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=wP49JbMsh24 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3572/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/dd/02/dd02f3ba277f209bcf29ea55d3ee8db45a53b35d90e8ef7aacdf8f7dc856ce2b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:59:55.713 [info] {"args":{"id":3},"id":1681,"meta":{},"system_time":1774663195712808137,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:59:55.715 [debug] QUERY OK source="sources" db=1.6ms idle=337.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" = ?) [3] 12:59:55.731 [debug] QUERY OK source="settings" db=16.0ms idle=339.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 [] 12:59:55.751 [debug] QUERY OK source="media_profiles" db=19.3ms idle=356.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] 12:59:55.764 [debug] QUERY OK source="settings" db=11.9ms idle=47.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 [] 12:59:55.764 [debug] Fetching recent media IDs from YouTube API for playlist: UUwnKziETDbHJtx78nIkfYug 12:59:55.765 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=52.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 [] 12:59:55.765 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 12:59:56.368 [debug] QUERY OK source="media_items" db=5.5ms idle=647.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "QtpFa0LdXEY", "8Rv4wwcQ89Y", "2cRKv1oqyX8", "mQfQwLW6CNw", "y0TZuhNixNk", "GZ7wE3XOwFU", "-aRdX-kZ9g4", "99bldMr1byI", "EzCiEv1IqiA", "mC5NdpSMDks", "ccV3u3D9ONE", "cVCDjEfPzII", "n0X2rqzKTgM", "dcuCvRNqmpY", "GG1qX8jHKGo", "k9wkleHFvo0", "CWoYVlMuUNQ", "xlfeieH4z38", "eZM2Ik-FHEU", "CtcTG8-qzbA", "6Mmj7mf1qlg", "InwVO9qBjqs", "1Hp-W2bpPrw", "VtE5sTpkn7k", "8dOJypt2F70", "Evm4t4prtWo", "taLzgvbrnv0", "rgCrnyf5JEI", "PHhc-48JT3U", "vFKjpNNjNGw", "VJQlOI70ubw", "E5cfNq0DO90", "DNBGSsZatbY", "pna1NyaHTls", "CUHao-vA98g", "cPN9BJe_RQw", "rCBt4XgCX-0", "f4g6KKGMmEI", "P_I5Jsc3xRw", "fPaU2l7RktM", "0PVwt01b6fs", "0qMDM4Y4Hwo", "Ld285PDsHvs", "p1mQC71wplA", "9k5JhKK6WlA", "WPxrifmtlQI", "nVNBmK7a1y8", "QDnMYztaxfI", "gxsaWhXG1Gg", ...] 12:59:56.383 [debug] QUERY OK source="media_items" db=9.2ms queue=0.7ms idle=641.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 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] 12:59:56.392 [debug] QUERY OK source="tasks" db=2.0ms queue=0.1ms idle=623.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1687, 3, ~U[2026-03-28 01:59:56Z], ~U[2026-03-28 01:59:56Z]] 12:59:56.394 [info] {"args":{"id":3},"id":1681,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":679584,"event":"job:stop","queue_time":542641,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:59:59.100 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=wP49JbMsh24 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3572/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/dd/02/dd02f3ba277f209bcf29ea55d3ee8db45a53b35d90e8ef7aacdf8f7dc856ce2b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:59:59.101 [debug] QUERY OK db=0.0ms idle=719.8ms begin [] 12:59:59.105 [debug] QUERY OK source="media_items" db=3.2ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 01:59:52Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e120999 - Rapid Infused Festive Bitters & Other Holiday Gift Ideas!.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e120999 - Rapid Infused Festive Bitters & Other Holiday Gift Ideas!.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e120999 - Rapid Infused Festive Bitters & Other Holiday Gift Ideas!.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e120999 - Rapid Infused Festive Bitters & Other Holiday Gift Ideas!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e120999 - Rapid Infused Festive Bitters & Other Holiday Gift Ideas!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e120999 - Rapid Infused Festive Bitters & Other Holiday Gift Ideas!-thumb.jpg", ~U[2026-03-28 01:59:59Z], 3572] 12:59:59.106 [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/3572/metadata.json.gz", "/config/metadata/media_items/3572/thumbnail.jpg", 3572, ~U[2026-03-28 01:59:59Z], ~U[2026-03-28 01:59:59Z]] 12:59:59.107 [debug] QUERY OK db=0.3ms commit [] 12:59:59.135 [debug] QUERY OK source="media_items" db=6.1ms idle=747.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [129710033, ~U[2026-03-28 01:59:59Z], 3572] 12:59:59.135 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:59:59.136 [info] {"args":{"id":3572},"id":633,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":242570643,"event":"job:stop","queue_time":78325556112,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:59:59.145 [info] {"args":{"id":3579},"id":636,"meta":{},"system_time":1774663199145234283,"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"]} 12:59:59.146 [debug] QUERY OK source="media_items" db=0.3ms idle=429.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" = ?) [3579] 12:59:59.146 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:59:59.146 [debug] QUERY OK source="sources" db=0.3ms idle=39.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" = ?) [4] 12:59:59.147 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 12:59:59.149 [debug] QUERY OK source="media_items" db=1.0ms 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 [3579] 12:59:59.152 [debug] QUERY OK source="media_metadata" db=0.3ms idle=6.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" = ?) [3579] 12:59:59.152 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 12:59:59.153 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:59:59.154 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:59:59.154 [debug] Running yt-dlp command for action: get_downloadable_status 12:59:59.156 [debug] QUERY OK source="settings" db=0.4ms 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 [] 12:59:59.157 [debug] QUERY OK source="settings" db=0.4ms 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 [] 12:59:59.157 [debug] QUERY OK source="settings" db=0.5ms 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 [] 12:59:59.158 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=20LamMO1GBU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/86/cf/86cf4212ebbf4e4369610fc8174e60e0ceff67748326283d0d83ad00fbdf44c8.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:00:00.706 [info] GET / 13:00:00.706 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:00:00.708 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=987.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 [] 13:00:00.709 [debug] QUERY OK source="media_profiles" db=0.2ms idle=327.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:00:00.709 [debug] QUERY OK source="sources" db=0.2ms idle=327.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:00:00.750 [info] {"source":"oban","duration":6643,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[1688]} 13:00:00.752 [debug] QUERY OK source="media_items" db=42.1ms queue=0.1ms idle=328.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:00:00.757 [debug] QUERY OK source="media_items" db=4.5ms queue=0.1ms idle=43.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:00:00.758 [debug] QUERY OK source="settings" db=0.5ms idle=48.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 [] 13:00:00.759 [debug] QUERY OK source="settings" db=0.4ms idle=35.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 [] 13:00:00.761 [debug] QUERY OK source="settings" db=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 [] 13:00:00.769 [debug] QUERY OK source="media_items" db=6.5ms idle=10.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 (NOT (m0."media_filepath" IS NULL)) [] 13:00:00.770 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=12.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:00:00.772 [debug] QUERY OK source="sources" db=0.4ms idle=13.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" IN (?,?)) [2, 6] 13:00:00.831 [debug] QUERY OK source="media_items" db=53.1ms idle=18.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 (((((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"))) [] 13:00:00.876 [debug] QUERY OK source="media_items" db=44.5ms idle=70.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:00:00.877 [debug] QUERY OK source="sources" db=0.5ms idle=107.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] 13:00:00.882 [debug] QUERY OK source="tasks" db=0.6ms idle=110.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:00:00.883 [debug] QUERY OK source="media_items" db=0.8ms idle=110.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3576, 3579] 13:00:00.886 [info] Sent 200 in 180ms 13:00:06.775 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=20LamMO1GBU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/86/cf/86cf4212ebbf4e4369610fc8174e60e0ceff67748326283d0d83ad00fbdf44c8.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:00:06.775 [debug] Running yt-dlp command for action: download 13:00:06.776 [debug] QUERY OK source="settings" db=0.7ms idle=394.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 [] 13:00:06.777 [debug] QUERY OK source="settings" db=0.3ms idle=395.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 [] 13:00:06.777 [debug] QUERY OK source="settings" db=0.3ms idle=396.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 [] 13:00:06.778 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=20LamMO1GBU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/86/02/86027baefd5627de07fecfb807b0d489e9d7d15d4d78d4a1bff956a766ec8bfc.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:00:21.088 [info] {"source":"oban","duration":1899,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:51.090 [info] {"source":"oban","duration":1110,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:53.929 [info] {"args":{"id":2},"id":1682,"meta":{},"system_time":1774663253929611182,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:00:53.932 [debug] QUERY OK source="sources" db=1.8ms queue=0.1ms idle=1549.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" = ?) [2] 13:00:53.948 [debug] QUERY OK source="settings" db=15.0ms idle=1551.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 [] 13:00:53.950 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=1033.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] 13:00:53.964 [debug] QUERY OK source="settings" db=13.4ms idle=30.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 [] 13:00:53.964 [debug] Fetching recent media IDs from YouTube API for playlist: UUjzi56cxvmEDwjo1Bd2Yxpg 13:00:53.965 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=35.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 [] 13:00:53.965 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:00:55.152 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OcV71Hz8ePE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/87/bd/87bd5aa2c789c6707cb41211a50fffd40b123705bdaa8314d33e3ff0d9223f06.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:00:55.211 [debug] Running yt-dlp command for action: download_thumbnail 13:00:55.213 [debug] QUERY OK source="settings" db=0.5ms idle=1264.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 [] 13:00:55.214 [debug] QUERY OK source="settings" db=0.4ms idle=1263.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 [] 13:00:55.215 [debug] QUERY OK source="settings" db=0.3ms idle=1250.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 [] 13:00:55.215 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OcV71Hz8ePE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3576/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/51/b2/51b26e5e44eca693416800dae225ad6dcbd4f4f772470459a28e8e61dd8b33fb.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:00:56.412 [debug] QUERY OK source="media_items" db=4.3ms idle=1026.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "CzjE_CAAdm8", "Hw2_s31u_4Q", "b4x9IzQtiA0", "16aM5Bop7Qw", "3hBk9xqT9hs", "xDa45wnAzc8", "Yq41acIvzj8", "Ttn_Q1B2ALc", "-bV0F6OP31U", "qAstyiKRt10", "NF2StvrYme0", "_Q-2UzYr3AA", "FeEEy3jZvlM", "EHaNwda0xto", "KL0u63mAy5M", "fzklfnO42ts", "oZ4kddHCFVY", "spSOp5s_6_A", "C48yl9fSYv8", "654RgtNwXZ8", "4wu_B_XF6wk", "wFLJxWyDJPs", "J5NKnYfn6qw", "fcVRuF6c-bc", "xNAFpSnpqjs", "cavmWZnCeJI", "_J0gQ5GdUSk", "_oISg668F40", "v34wa9QhF0s", "iEen_cClzkg", "CD9wUM2v-0U", "E8k9oqjl5_E", "lQDUMfg_SJc", "pPMD0YPBHQ4", "qq1IN4umTI8", "L63goFhe8KM", "5OXvwQ3CB1I", "doZvHBPoVCw", "9SXMTDO4lIo", "8JmSUN8jp3Q", "7oSgaaUEjZM", "sKSPwnFSRCw", "gdY_Q9ltw8w", "uHbviTslBFY", "gMzXgYFT4Ck", "NdsMuD-_5To", "9JXltNRqLu4", "7ThBvLBMacw", "7BTWa3jFBMw", ...] 13:00:56.464 [debug] QUERY OK source="media_items" db=51.0ms idle=487.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 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] 13:00:56.471 [debug] QUERY OK source="tasks" db=0.4ms idle=59.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1689, 2, ~U[2026-03-28 02:00:56Z], ~U[2026-03-28 02:00:56Z]] 13:00:56.482 [info] {"args":{"id":2},"id":1682,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":2542280,"event":"job:stop","queue_time":428886,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:01:00.752 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:01:01.138 [info] GET / 13:01:01.138 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:01:01.139 [debug] QUERY OK source="settings" db=0.3ms idle=757.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 [] 13:01:01.139 [debug] QUERY OK source="media_profiles" db=0.1ms idle=758.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:01:01.140 [debug] QUERY OK source="sources" db=0.2ms idle=758.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:01:01.164 [debug] QUERY OK source="media_items" db=23.6ms idle=388.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:01:01.167 [debug] QUERY OK source="media_items" db=2.9ms queue=0.2ms idle=218.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:01:01.169 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=29.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 [] 13:01:01.171 [debug] QUERY OK source="settings" db=1.8ms idle=30.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 [] 13:01:01.173 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=32.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 [] 13:01:01.178 [debug] QUERY OK source="media_items" db=3.1ms idle=11.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 (NOT (m0."media_filepath" IS NULL)) [] 13:01:01.179 [debug] QUERY OK source="media_items" db=0.6ms idle=11.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:01:01.181 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=11.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" IN (?,?)) [2, 6] 13:01:01.237 [debug] QUERY OK source="media_items" db=53.2ms idle=12.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 (((((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"))) [] 13:01:01.304 [debug] QUERY OK source="media_items" db=66.3ms idle=64.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:01:01.305 [debug] QUERY OK source="sources" db=0.3ms idle=126.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] 13:01:01.307 [debug] QUERY OK source="tasks" db=0.4ms idle=127.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:01:01.308 [debug] QUERY OK source="media_items" db=0.3ms idle=126.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3576, 3579] 13:01:01.309 [info] Sent 200 in 171ms 13:01:01.965 [info] {"args":{"id":4},"id":1683,"meta":{},"system_time":1774663261964975694,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:01:01.972 [debug] QUERY OK source="sources" db=5.8ms queue=0.1ms idle=660.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] 13:01:01.974 [debug] QUERY OK source="settings" db=1.6ms idle=665.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 [] 13:01:01.976 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=666.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] 13:01:01.991 [debug] QUERY OK source="settings" db=14.7ms idle=27.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 [] 13:01:01.992 [debug] Fetching recent media IDs from YouTube API for playlist: UUEiui9T4ZYx8K8nuZ5YFSTw 13:01:01.992 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=27.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 [] 13:01:01.993 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:01:02.254 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OcV71Hz8ePE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3576/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/51/b2/51b26e5e44eca693416800dae225ad6dcbd4f4f772470459a28e8e61dd8b33fb.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:01:02.255 [debug] QUERY OK db=0.0ms idle=283.1ms begin [] 13:01:02.259 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 02:00:55Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e112599 - Fluffy Warm Wine & Cognac Cocktail.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e112599 - Fluffy Warm Wine & Cognac Cocktail.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e112599 - Fluffy Warm Wine & Cognac Cocktail.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e112599 - Fluffy Warm Wine & Cognac Cocktail.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e112599 - Fluffy Warm Wine & Cognac Cocktail.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e112599 - Fluffy Warm Wine & Cognac Cocktail-thumb.jpg", ~U[2026-03-28 02:01:02Z], 3576] 13:01:02.261 [debug] QUERY OK source="media_metadata" db=1.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/3576/metadata.json.gz", "/config/metadata/media_items/3576/thumbnail.jpg", 3576, ~U[2026-03-28 02:01:02Z], ~U[2026-03-28 02:01:02Z]] 13:01:02.262 [debug] QUERY OK db=0.3ms commit [] 13:01:02.289 [debug] QUERY OK source="media_items" db=5.5ms idle=309.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [101392851, ~U[2026-03-28 02:01:02Z], 3576] 13:01:02.290 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:01:02.291 [info] {"args":{"id":3576},"id":635,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":172994915,"event":"job:stop","queue_time":78449284104,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:01:02.299 [info] {"args":{},"id":1688,"meta":{"cron":true,"cron_expr":"0 2 * * *","cron_tz":"Etc/UTC"},"system_time":1774663262298902667,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaQualityUpgradeWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:01:02.334 [debug] QUERY OK source="media_items" db=34.8ms queue=0.3ms idle=306.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 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 (((NOT (m0."media_filepath" IS NULL) AND NOT (m0."prevent_download" = 1)) AND NOT (NOT (m0."media_redownloaded_at" IS NULL))) AND IFNULL(redownload_delay_days, 0) > 0 AND DATE('now', '-' || redownload_delay_days || ' day') > DATE(uploaded_at) AND DATE(media_downloaded_at, '-' || redownload_delay_days || ' day') < DATE(uploaded_at) ) [] 13:01:02.335 [info] Redownloading 0 media items 13:01:02.350 [info] {"args":{},"id":1688,"meta":{"cron":true,"cron_expr":"0 2 * * *","cron_tz":"Etc/UTC"},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaQualityUpgradeWorker","source":"oban","duration":36174,"event":"job:stop","queue_time":62297052,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:01:02.363 [info] {"args":{"id":3582},"id":637,"meta":{},"system_time":1774663262362886763,"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"]} 13:01:02.363 [debug] QUERY OK source="media_items" db=0.4ms idle=71.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" = ?) [3582] 13:01:02.363 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:01:02.364 [debug] QUERY OK source="sources" db=0.7ms idle=65.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" = ?) [4] 13:01:02.368 [debug] QUERY OK source="media_profiles" db=3.6ms idle=30.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] 13:01:02.369 [debug] QUERY OK source="media_items" db=0.4ms 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 [3582] 13:01:02.371 [debug] QUERY OK source="media_metadata" db=0.2ms idle=8.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" = ?) [3582] 13:01:02.372 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.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] 13:01:02.373 [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 [] 13:01:02.373 [debug] QUERY OK source="settings" db=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 [] 13:01:02.374 [debug] Running yt-dlp command for action: get_downloadable_status 13:01:02.375 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:01:02.376 [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 [] 13:01:02.377 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:01:02.377 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IX0T1MywOCY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d6/0e/d60e41157afe550e602c5afdfc282c34504c5559c1466f2e9e75651e9ec6842e.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:01:02.510 [debug] QUERY OK source="media_items" db=3.6ms idle=133.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [4, "gthI7e6zPWo", "psRX1C7auj8", "2ZtSRjGhStw", "Z8KiNkDP9c4", "AZibPvCnG4k", "QXNPI7Ucivo", "WtxCD4567G4", "80bkfWoOHaE", "pYBAEGrhggM", "9M3wLySdGXY", "mcvbD_Ipbf8", "E_Y7kLO3Iaw", "gPdh5lVJYD0", "qrkTK1UcvSM", "45UcuOLjxeY", "gnbhO9hJ198", "fiFzXo1wNno", "TM5mKkwC0Ok", "kS2A72peqmg", "ueDcEpRFW_M", "AN4-pHYBK2M", "TMNa6ocIv8o", "S1Vt1tQJczE", "_BEmUjtwhLw", "1bxoWiQ2AQY", "CZeRfNeKEBE", "2nftRe3tjLQ", "v1biAguVbg8", "cLDsQImoeHQ", "hhH7mchDBXY", "uQj2W5ej104", "vYRV_nprXBA", "1v_qsQL3mo8", "hfHxFTbVaTo", "mfWqziOaR4A", "AmCWMmKgHkI", "ZWgq-s8r2FE", "1dAkTDsD1c4", "ozdDp_eMPZY", "iHogtXxywLQ", "7ysd04ltGag", "5jq8kH9s0V8", "AB6bC9gtfoc", "R7Tm3zvyy9U", "dUHzocz0hLo", "9Oh6oVrf7kM", "LzUhByZ4jtc", "j7evpR_Fbsw", "_iGhJt3ah8E", ...] 13:01:02.521 [debug] QUERY OK source="media_items" db=8.4ms idle=138.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 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] 13:01:02.753 [debug] QUERY OK source="tasks" db=0.3ms idle=4.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1690, 4, ~U[2026-03-28 02:01:02Z], ~U[2026-03-28 02:01:02Z]] 13:01:02.754 [info] {"args":{"id":4},"id":1683,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":788648,"event":"job:stop","queue_time":418260,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:01:10.262 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IX0T1MywOCY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d6/0e/d60e41157afe550e602c5afdfc282c34504c5559c1466f2e9e75651e9ec6842e.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:01:10.263 [debug] Running yt-dlp command for action: download 13:01:10.263 [debug] QUERY OK source="settings" db=0.5ms idle=1881.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 [] 13:01:10.264 [debug] QUERY OK source="settings" db=0.5ms idle=1882.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 [] 13:01:10.265 [debug] QUERY OK source="settings" db=0.4ms idle=1883.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 [] 13:01:10.265 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IX0T1MywOCY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/06/2e/062e631450bf201329e8b52113b709cc3eab8926027ba7d3a41b1fe25f8be1af.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:01:21.093 [info] {"source":"oban","duration":2751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:51.098 [info] {"source":"oban","duration":3017,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:59.171 [info] {"args":{"id":5},"id":1684,"meta":{},"system_time":1774663319171626881,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:01:59.173 [debug] QUERY OK source="sources" db=0.7ms idle=790.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] 13:01:59.174 [debug] QUERY OK source="settings" db=0.6ms idle=792.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 [] 13:01:59.175 [debug] QUERY OK source="media_profiles" db=0.3ms idle=793.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] 13:01:59.176 [debug] QUERY OK source="settings" db=0.3ms idle=11.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 [] 13:01:59.176 [debug] Fetching recent media IDs from YouTube API for playlist: UUVwfqPkv08OTuHzkPU3EaDw 13:01:59.176 [debug] QUERY OK source="settings" db=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 [] 13:01:59.176 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:01:59.626 [debug] QUERY OK source="media_items" db=2.1ms idle=450.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [5, "k8Yr1jU-0EE", "NFrnhg8hI0c", "20XMhcpSNV0", "YVGFnwJho6E", "xQXiSGDXknA", "uZl0TO8i96g", "Hs5ewNKWUwk", "E5suxhHY0aY", "sCou7ut2L-o", "a0INtLdzUiE", "n0x8sH0M9CE", "W4Af6DIMqnE", "Q-sUbLem5aI", "s-jMj11w68U", "DS9HZG5JRBc", "_wLy-vzLi3E", "iFpZfYwRcns", "nPovqKKSKcE", "j_w4tRYm7Og", "laZpTO7IFtA", "FM5e9Vb1noE", "cK6g53lLgnw", "1X5WYEhzGyI", "QVpu66njzdE", "tfnANe2YUwM", "0-QK6hxLxgM", "TYUeXqSlcDg", "0322Pk-GKto", "1Em1UrRSEXc", "x2RT9Awsyi8", "4Yth52yml8E", "ky9Zo2FmjQ8", "npU2QpX5piA", "XEb_1Sq8jNo", "L3QQDAKxUIk", "l3s8S6bBbOs", "WyWBU1NpDf8", "7wZ0NVuoDWg", "-Ig2-rBZtSI", "5BG06-J1t4Y", "GcQ6vQEeQew", "ap8S88LeiB0", "4LvXP3XR6gw", "I9o65_aIq0Q", "Ut9XjFkGK6s", "PcFkjR5NELA", "Yl67318oP-s", "umbar5BKBus", "FEfCtNhVjJ0", ...] 13:01:59.632 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=454.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 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")))) [5] 13:01:59.798 [debug] QUERY OK source="tasks" db=0.4ms idle=5.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1691, 5, ~U[2026-03-28 02:01:59Z], ~U[2026-03-28 02:01:59Z]] 13:01:59.799 [info] {"args":{"id":5},"id":1684,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":627033,"event":"job:stop","queue_time":429486,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:02:00.754 [info] {"source":"oban","duration":856,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:02:01.525 [info] GET / 13:02:01.526 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:02:01.528 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=772.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 [] 13:02:01.528 [debug] QUERY OK source="media_profiles" db=0.3ms idle=358.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:02:01.529 [debug] QUERY OK source="sources" db=0.3ms idle=147.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:02:01.590 [debug] QUERY OK source="media_items" db=60.5ms queue=0.1ms idle=148.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:02:01.596 [debug] QUERY OK source="media_items" db=4.7ms queue=0.3ms idle=209.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:02:01.597 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=69.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 [] 13:02:01.598 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=69.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 [] 13:02:01.599 [debug] QUERY OK source="settings" db=0.2ms idle=70.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 [] 13:02:01.606 [debug] QUERY OK source="media_items" db=4.5ms idle=11.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 (NOT (m0."media_filepath" IS NULL)) [] 13:02:01.608 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=11.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:02:01.610 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=11.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" IN (?,?)) [2, 6] 13:02:01.668 [debug] QUERY OK source="media_items" db=52.5ms idle=17.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 (((((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"))) [] 13:02:01.733 [debug] QUERY OK source="media_items" db=64.2ms queue=0.2ms idle=69.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:02:01.735 [debug] QUERY OK source="sources" db=0.3ms idle=128.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] 13:02:01.740 [debug] QUERY OK source="tasks" db=0.5ms idle=131.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:02:01.742 [debug] QUERY OK source="media_items" db=0.4ms idle=131.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3579, 3582] 13:02:01.745 [info] Sent 200 in 219ms 13:02:20.834 [info] GET /sources/6/media/9844/edit 13:02:20.835 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "9844", "source_id" => "6"} Pipelines: [:browser] 13:02:20.836 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1454.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" = ?) [9844] 13:02:20.838 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1455.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 [] 13:02:20.838 [debug] QUERY OK source="settings" db=0.1ms idle=1456.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 [] 13:02:20.839 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1457.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 [] 13:02:20.843 [info] Sent 200 in 8ms 13:02:21.100 [info] {"source":"oban","duration":1818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:51.103 [info] {"source":"oban","duration":1257,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:51.897 [info] GET /sources/6/media/9844/edit 13:02:51.898 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "9844", "source_id" => "6"} Pipelines: [:browser] 13:02:51.898 [debug] QUERY OK source="media_items" db=0.4ms idle=1517.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" = ?) [9844] 13:02:51.899 [debug] QUERY OK source="settings" db=0.3ms idle=1518.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 [] 13:02:51.900 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1518.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 [] 13:02:51.901 [debug] QUERY OK source="settings" db=0.2ms idle=797.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 [] 13:02:51.903 [info] Sent 200 in 5ms 13:02:52.359 [info] {"args":{"id":1},"id":1685,"meta":{},"system_time":1774663372359125232,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:02:52.370 [debug] QUERY OK source="sources" db=10.3ms idle=459.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] 13:02:52.377 [debug] QUERY OK source="settings" db=6.3ms idle=469.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 [] 13:02:52.378 [debug] QUERY OK source="media_profiles" db=0.5ms idle=475.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] 13:02:52.394 [debug] QUERY OK source="settings" db=15.4ms idle=27.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 [] 13:02:52.394 [debug] Fetching recent media IDs from YouTube API for playlist: UUISrVZmDM4x-Rq9mmNUw7Zw 13:02:52.395 [debug] QUERY OK source="settings" db=0.6ms idle=35.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 [] 13:02:52.396 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:02:52.928 [debug] QUERY OK source="media_items" db=1.9ms idle=555.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "Q0qmHym16H4", "WcWL0_PlcO8", "dQV1WkSly7k", "Xpohopi2_tA", "fsZdCn4jIUY", "hgk2jMPnG2w", "oDh4gg7xiUs", "3LfUmSMW_qc", "5gN9QvwPLq8", "uSBe19ms3aw", "Eq1BmJikpHA", "OsKelxcQUNo", "zNP6Q_Yk9hU", "ZPPCc15thCc", "UzARiS2CyJ4", "r8X8HVGVV1o", "_JI7oYBFZIo", "niCh-EI1Kfo", "92mSBlpBEJo", "_6OAB_8iwqs", "tJbcC43WELc", "cPz1rUCNI0o", "hFzt_dOdElw", "nC-QKeluT0c", "i8ARsrsVUMM", "X30l-491qck", "rzQeUM-lMUY", "BkUHm95UvCw", "MQ2cHq3-J7A", "CtF5dLHITYA", "SGJkxRdkRGg", "OUCt85aJaAA", "9gARPYZOka4", "-uH-Gi5tjEw", "qwUBBQKYX94", "s8VLDSQJ8nA", "EvPfr0lKkh4", "msXzAxF49gA", "hQCWaSvjkU0", "RcmjVsy3a-g", "xtuNc9vYJG4", "fj2tcg8OzsM", "2FZ4IfPACDM", "2Q9DzW20YJ8", "IVsWFGOE_mw", "vPxpMcv2Z4Y", "Zverj_ldlhY", "pQK8xasPd9Q", "_Yo7nh8u9pk", ...] 13:02:52.932 [debug] QUERY OK source="media_items" db=2.3ms idle=552.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 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] 13:02:53.002 [debug] QUERY OK source="tasks" db=0.9ms idle=21.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1692, 1, ~U[2026-03-28 02:02:53Z], ~U[2026-03-28 02:02:53Z]] 13:02:53.004 [info] {"args":{"id":1},"id":1685,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":643633,"event":"job:stop","queue_time":793181,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:03:00.756 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:03:01.944 [info] GET / 13:03:01.945 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:03:01.946 [debug] QUERY OK source="settings" db=0.9ms idle=1564.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 [] 13:03:01.947 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1565.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:03:01.947 [debug] QUERY OK source="sources" db=0.3ms idle=1565.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:03:02.006 [debug] QUERY OK source="media_items" db=57.7ms idle=1192.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:03:02.009 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=621.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:03:02.010 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=63.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 [] 13:03:02.011 [debug] QUERY OK source="settings" db=0.2ms idle=63.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 [] 13:03:02.012 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=64.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 [] 13:03:02.017 [debug] QUERY OK source="media_items" db=3.1ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 13:03:02.018 [debug] QUERY OK source="media_items" db=0.6ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:03:02.020 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=9.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" IN (?,?)) [2, 6] 13:03:02.086 [debug] QUERY OK source="media_items" db=59.4ms queue=0.1ms idle=16.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 (((((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"))) [] 13:03:02.157 [debug] QUERY OK source="media_items" db=68.7ms queue=0.1ms idle=75.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:03:02.159 [debug] QUERY OK source="sources" db=0.9ms queue=0.2ms idle=140.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] 13:03:02.165 [debug] QUERY OK source="tasks" db=0.6ms idle=145.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:03:02.166 [debug] QUERY OK source="media_items" db=0.3ms idle=145.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3579, 3582] 13:03:02.169 [info] Sent 200 in 225ms 13:03:21.105 [info] {"source":"oban","duration":1751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:21.566 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IX0T1MywOCY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/06/2e/062e631450bf201329e8b52113b709cc3eab8926027ba7d3a41b1fe25f8be1af.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:03:21.682 [debug] Running yt-dlp command for action: download_thumbnail 13:03:21.684 [debug] QUERY OK source="settings" db=0.4ms idle=578.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 [] 13:03:21.685 [debug] QUERY OK source="settings" db=0.1ms idle=303.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 [] 13:03:21.685 [debug] QUERY OK source="settings" db=0.1ms idle=303.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 [] 13:03:21.685 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IX0T1MywOCY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3582/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/40/0a/400a04b812b90260b42ae8ccbfc05566c445d4d4447207b20e8e1c12fce21458.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:03:30.064 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IX0T1MywOCY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3582/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/40/0a/400a04b812b90260b42ae8ccbfc05566c445d4d4447207b20e8e1c12fce21458.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:03:30.065 [debug] QUERY OK db=0.1ms idle=683.6ms begin [] 13:03:30.071 [debug] QUERY OK source="media_items" db=5.6ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 02:03:21Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e111199 - How To Make Better Mulled Wine - Red & White!.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e111199 - How To Make Better Mulled Wine - Red & White!.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e111199 - How To Make Better Mulled Wine - Red & White!.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e111199 - How To Make Better Mulled Wine - Red & White!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e111199 - How To Make Better Mulled Wine - Red & White!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e111199 - How To Make Better Mulled Wine - Red & White!-thumb.jpg", ~U[2026-03-28 02:03:30Z], 3582] 13:03:30.077 [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/3582/metadata.json.gz", "/config/metadata/media_items/3582/thumbnail.jpg", 3582, ~U[2026-03-28 02:03:30Z], ~U[2026-03-28 02:03:30Z]] 13:03:30.078 [debug] QUERY OK db=1.0ms commit [] 13:03:30.084 [debug] QUERY OK source="media_items" db=2.6ms idle=699.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [74063263, ~U[2026-03-28 02:03:30Z], 3582] 13:03:30.084 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:03:30.090 [info] {"args":{"id":3582},"id":637,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":147721478,"event":"job:stop","queue_time":78610356057,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:03:30.101 [info] {"args":{"id":3585},"id":639,"meta":{},"system_time":1774663410101343404,"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"]} 13:03:30.109 [debug] QUERY OK source="media_items" db=7.1ms idle=633.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" = ?) [3585] 13:03:30.109 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:03:30.111 [debug] QUERY OK source="sources" db=0.6ms idle=31.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" = ?) [4] 13:03:30.111 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=27.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] 13:03:30.114 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=22.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 [3585] 13:03:30.117 [debug] QUERY OK source="media_metadata" db=0.5ms idle=15.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" = ?) [3585] 13:03:30.118 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms 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] 13:03:30.121 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 13:03:30.122 [debug] QUERY OK source="settings" db=0.4ms idle=10.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 [] 13:03:30.123 [debug] Running yt-dlp command for action: get_downloadable_status 13:03:30.126 [debug] QUERY OK source="settings" db=0.7ms idle=10.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 [] 13:03:30.126 [debug] QUERY OK source="settings" db=0.4ms 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 [] 13:03:30.127 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:03:30.127 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=PrS-hJqZgCY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/db/4b/db4b6162ae0b74a86802039205ae8d747a31792a95fea8b100c86ff4cf1ba25f.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:03:36.523 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=PrS-hJqZgCY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/db/4b/db4b6162ae0b74a86802039205ae8d747a31792a95fea8b100c86ff4cf1ba25f.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:03:36.524 [debug] Running yt-dlp command for action: download 13:03:36.524 [debug] QUERY OK source="settings" db=0.5ms idle=1143.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 [] 13:03:36.525 [debug] QUERY OK source="settings" db=0.5ms idle=1143.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 [] 13:03:36.526 [debug] QUERY OK source="settings" db=0.2ms idle=1144.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 [] 13:03:36.527 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=PrS-hJqZgCY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2c/83/2c83c65a0faa5a573d7c0d0c3e7602d840abc7fe000b85c9ba6089cb0b08fa5b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:03:51.108 [info] {"source":"oban","duration":1679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:00.584 [info] {"args":{"id":6},"id":1686,"meta":{},"system_time":1774663440584411359,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:04:00.586 [debug] QUERY OK source="sources" db=0.9ms idle=203.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" = ?) [6] 13:04:00.587 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=205.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 [] 13:04:00.588 [debug] QUERY OK source="media_profiles" db=0.4ms idle=206.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] 13:04:00.589 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=12.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 [] 13:04:00.589 [debug] Fetching recent media IDs from YouTube API for playlist: UUOzMAa6IhV6uwYQATYG_2kg 13:04:00.590 [debug] QUERY OK source="settings" db=0.2ms queue=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 [] 13:04:00.590 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:04:00.758 [info] {"source":"oban","duration":964,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:04:01.055 [debug] QUERY OK source="media_items" db=5.0ms queue=0.2ms idle=462.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6, "dnia-38h1GA", "iZaN9NRWc28", "CJrLdBStrzc", "u-eoT-Foth8", "XHineC0YKjs", "VdlejwGkNoI", "ikIigkz2pMg", "qUdPPQ9-9Tg", "k9fuSOPjSXM", "hb-oXWK9r7k", "hDfrtCQmNOo", "zRIUM4OhyWU", "W7c0iVM4P2I", "KCFDp_kxT_4", "aZhuGRngq-g", "BgWbezF2M28", "ZJfHw71KKsk", "MisOg5bX0a4", "2UampQ_86ek", "7-iImzOel-s", "O8E47Ib_RoU", "RcVBMZd2_u8", "b-DHev8Uc6I", "0apH8xkS6PE", "I8m3hyPVsxA", "urqkKHRaT-8", "shyrhINSaPk", "Ze3bKcLbPWg", "ydk9KfgHUPo", "sFlgR1oiUXk", "jCieQsNXdBM", "Nz4uVkNMKdI", "tyX3PvjLSC8", "VeDDo4HhNVo", "2RmXPeBn3x0", "1sA4iEo0x1o", "KqAYebG_Bs0", "FelCut8wQ3o", "wY5Xb_t79SM", "-YqD-IWgaz8", "BdV0pSziReE", "u5VKDy7Dgj8", "hn89XxHJLQ0", "wE60s-NuU6c", "LBwtYK3W-vw", "FGpCwqNklsw", "79hW_qeneEY", "aNpJxLXZATY", "9JhGit6JRw0", ...] 13:04:01.061 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=471.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 [] 13:04:01.063 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=472.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 [] 13:04:01.063 [debug] Running yt-dlp command for action: get_media_attributes 13:04:01.068 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=477.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 [] 13:04:01.069 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=310.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 [] 13:04:01.071 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=15.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 [] 13:04:01.073 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/8c/93/8c9339cdf69a0bcb595e90a8bf8f27643665c77d2dcfbf7bfd2819c5d3e3862a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:04:02.372 [info] GET / 13:04:02.372 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:04:02.374 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=1310.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 [] 13:04:02.375 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1306.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:04:02.375 [debug] QUERY OK source="sources" db=0.4ms idle=1305.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:04:02.427 [debug] QUERY OK source="media_items" db=51.5ms idle=1304.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:04:02.434 [debug] QUERY OK source="media_items" db=6.7ms queue=0.1ms idle=849.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:04:02.435 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=60.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 [] 13:04:02.436 [debug] QUERY OK source="settings" db=0.6ms idle=60.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 [] 13:04:02.438 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=61.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 [] 13:04:02.443 [debug] QUERY OK source="media_items" db=3.3ms idle=12.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 (NOT (m0."media_filepath" IS NULL)) [] 13:04:02.445 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=9.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:04:02.447 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=10.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" IN (?,?)) [2, 6] 13:04:02.504 [debug] QUERY OK source="media_items" db=54.2ms idle=13.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 (((((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"))) [] 13:04:02.570 [debug] QUERY OK source="media_items" db=66.0ms queue=0.1ms idle=66.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:04:02.572 [debug] QUERY OK source="sources" db=0.4ms idle=127.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] 13:04:02.578 [debug] QUERY OK source="tasks" db=0.8ms idle=131.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:04:02.579 [debug] QUERY OK source="sources" db=0.5ms idle=75.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] 13:04:02.580 [debug] QUERY OK source="media_items" db=0.7ms idle=8.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3579, 3585] 13:04:02.585 [info] Sent 200 in 212ms 13:04:04.911 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/8c/93/8c9339cdf69a0bcb595e90a8bf8f27643665c77d2dcfbf7bfd2819c5d3e3862a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days. 13:04:04.911 [error] Error creating media item 'u-eoT-Foth8' from URL: {:error, "ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days.\n", 1} 13:04:04.945 [debug] QUERY OK source="media_items" db=33.2ms idle=530.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 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] 13:04:05.161 [debug] QUERY OK source="tasks" db=7.6ms queue=0.1ms idle=7.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1693, 6, ~U[2026-03-28 02:04:05Z], ~U[2026-03-28 02:04:05Z]] 13:04:05.168 [info] {"args":{"id":6},"id":1686,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":4577248,"event":"job:stop","queue_time":130905,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:04:21.110 [info] {"source":"oban","duration":1596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:24.508 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=20LamMO1GBU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/86/02/86027baefd5627de07fecfb807b0d489e9d7d15d4d78d4a1bff956a766ec8bfc.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:04:24.604 [debug] Running yt-dlp command for action: download_thumbnail 13:04:24.606 [debug] QUERY OK source="settings" db=0.2ms idle=1224.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 [] 13:04:24.606 [debug] QUERY OK source="settings" db=0.1ms idle=950.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 [] 13:04:24.606 [debug] QUERY OK source="settings" db=0.1ms idle=225.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 [] 13:04:24.607 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=20LamMO1GBU --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3579/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/9b/e2/9be27370dcddaa5f48f7067796d15ca2e6a488547da7494c6464a594bc6af2ce.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:04:32.678 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=20LamMO1GBU --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3579/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/9b/e2/9be27370dcddaa5f48f7067796d15ca2e6a488547da7494c6464a594bc6af2ce.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:04:32.679 [debug] QUERY OK db=0.1ms idle=996.2ms begin [] 13:04:32.683 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 02:04:24Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e111899 - 3 Tequila Sunrise Cocktails | Original, Classic & Pro (with Boba Pearls!).mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e111899 - 3 Tequila Sunrise Cocktails | Original, Classic & Pro (with Boba Pearls!).info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e111899 - 3 Tequila Sunrise Cocktails | Original, Classic & Pro (with Boba Pearls!).nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e111899 - 3 Tequila Sunrise Cocktails | Original, Classic & Pro (with Boba Pearls!).mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e111899 - 3 Tequila Sunrise Cocktails | Original, Classic & Pro (with Boba Pearls!).en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e111899 - 3 Tequila Sunrise Cocktails | Original, Classic & Pro (with Boba Pearls!)-thumb.jpg", ~U[2026-03-28 02:04:32Z], 3579] 13:04:32.685 [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/3579/metadata.json.gz", "/config/metadata/media_items/3579/thumbnail.jpg", 3579, ~U[2026-03-28 02:04:32Z], ~U[2026-03-28 02:04:32Z]] 13:04:32.685 [debug] QUERY OK db=0.4ms commit [] 13:04:32.704 [debug] QUERY OK source="media_items" db=6.2ms idle=316.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [169732555, ~U[2026-03-28 02:04:32Z], 3579] 13:04:32.704 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:04:32.705 [info] {"args":{"id":3579},"id":636,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":273559399,"event":"job:stop","queue_time":78553143090,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:04:32.714 [info] {"args":{"id":3588},"id":640,"meta":{},"system_time":1774663472714602144,"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"]} 13:04:32.715 [debug] QUERY OK source="media_items" db=0.7ms idle=29.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" = ?) [3588] 13:04:32.716 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:04:32.717 [debug] QUERY OK source="sources" db=0.7ms idle=30.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" = ?) [4] 13:04:32.718 [debug] QUERY OK source="media_profiles" db=0.6ms idle=13.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] 13:04:32.719 [debug] QUERY OK source="media_items" db=0.9ms idle=13.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 [3588] 13:04:32.722 [debug] QUERY OK source="media_metadata" db=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" = ?) [3588] 13:04:32.723 [debug] QUERY OK source="media_profiles" db=0.3ms idle=7.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] 13:04:32.724 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:04:32.724 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:04:32.724 [debug] Running yt-dlp command for action: get_downloadable_status 13:04:32.726 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:04:32.726 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:04:32.727 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:04:32.727 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HtomaT9Deq8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cf/92/cf92ca459090341aac65429020734698949bfc504900ff88f3a35df411ff836e.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:04:39.562 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HtomaT9Deq8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cf/92/cf92ca459090341aac65429020734698949bfc504900ff88f3a35df411ff836e.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:04:39.563 [debug] Running yt-dlp command for action: download 13:04:39.564 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1182.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 [] 13:04:39.565 [debug] QUERY OK source="settings" db=0.4ms idle=1183.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 [] 13:04:39.565 [debug] QUERY OK source="settings" db=0.4ms idle=1184.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 [] 13:04:39.566 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HtomaT9Deq8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/23/46/2346efaae882646fb9279bf7d2ab98b7c13d98565a2ab6c4d617c6a62ffd1b08.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:04:51.113 [info] {"source":"oban","duration":2487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:00.759 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:05:02.800 [info] GET / 13:05:02.800 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:05:02.801 [debug] QUERY OK source="settings" db=0.6ms idle=1419.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 [] 13:05:02.802 [debug] QUERY OK source="media_profiles" db=0.2ms idle=999.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:05:02.803 [debug] QUERY OK source="sources" db=0.6ms idle=421.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:05:02.855 [debug] QUERY OK source="media_items" db=50.9ms queue=0.1ms idle=422.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:05:02.859 [debug] QUERY OK source="media_items" db=3.3ms queue=0.2ms idle=53.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:05:02.860 [debug] QUERY OK source="settings" db=0.3ms idle=57.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 [] 13:05:02.861 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=56.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 [] 13:05:02.862 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=56.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 [] 13:05:02.867 [debug] QUERY OK source="media_items" db=3.2ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 13:05:02.870 [debug] QUERY OK source="media_items" db=1.1ms queue=0.2ms idle=9.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:05:02.871 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=11.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" IN (?,?)) [2, 6] 13:05:02.934 [debug] QUERY OK source="media_items" db=56.1ms idle=17.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 (((((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"))) [] 13:05:03.004 [debug] QUERY OK source="media_items" db=68.1ms queue=0.2ms idle=72.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:05:03.006 [debug] QUERY OK source="sources" db=0.3ms queue=0.2ms idle=137.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] 13:05:03.012 [debug] QUERY OK source="tasks" db=0.6ms idle=141.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:05:03.013 [debug] QUERY OK source="media_items" db=0.5ms idle=141.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3585, 3588] 13:05:03.015 [info] Sent 200 in 215ms 13:05:06.884 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=PrS-hJqZgCY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2c/83/2c83c65a0faa5a573d7c0d0c3e7602d840abc7fe000b85c9ba6089cb0b08fa5b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:05:06.922 [debug] Running yt-dlp command for action: download_thumbnail 13:05:06.924 [debug] QUERY OK source="settings" db=0.6ms idle=542.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 [] 13:05:06.925 [debug] QUERY OK source="settings" db=0.3ms idle=543.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 [] 13:05:06.925 [debug] QUERY OK source="settings" db=0.3ms idle=543.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 [] 13:05:06.925 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=PrS-hJqZgCY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3585/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/06/11/061123b2b07fdc58ca269e84fb68acdad95506487344f5497f8c5bfa56c416fe.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:05:13.733 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=PrS-hJqZgCY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3585/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/06/11/061123b2b07fdc58ca269e84fb68acdad95506487344f5497f8c5bfa56c416fe.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:05:13.734 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1353.1ms begin [] 13:05:13.739 [debug] QUERY OK source="media_items" db=3.5ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 02:05:06Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e110499 - How Can You Make A Cocktail Worth $1,500!?.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e110499 - How Can You Make A Cocktail Worth $1,500!?.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e110499 - How Can You Make A Cocktail Worth $1,500!?.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e110499 - How Can You Make A Cocktail Worth $1,500!?.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e110499 - How Can You Make A Cocktail Worth $1,500!?.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e110499 - How Can You Make A Cocktail Worth $1,500!?-thumb.jpg", ~U[2026-03-28 02:05:13Z], 3585] 13:05:13.746 [debug] QUERY OK source="media_metadata" db=6.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/3585/metadata.json.gz", "/config/metadata/media_items/3585/thumbnail.jpg", 3585, ~U[2026-03-28 02:05:13Z], ~U[2026-03-28 02:05:13Z]] 13:05:13.748 [debug] QUERY OK db=2.1ms commit [] 13:05:13.782 [debug] QUERY OK source="media_items" db=13.8ms decode=0.1ms queue=0.1ms idle=1386.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [49443081, ~U[2026-03-28 02:05:13Z], 3585] 13:05:13.783 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:05:13.784 [info] {"args":{"id":3585},"id":639,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":103681804,"event":"job:stop","queue_time":78752096053,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:05:13.799 [info] {"args":{"id":3589},"id":641,"meta":{},"system_time":1774663513798915573,"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"]} 13:05:13.800 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=951.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" = ?) [3589] 13:05:13.801 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:05:13.810 [debug] QUERY OK source="sources" db=8.5ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 13:05:13.811 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=29.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] 13:05:13.812 [debug] QUERY OK source="media_items" db=0.6ms idle=27.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 [3589] 13:05:13.815 [debug] QUERY OK source="media_metadata" db=0.2ms idle=16.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" = ?) [3589] 13:05:13.816 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=15.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] 13:05:13.818 [debug] QUERY OK source="settings" db=0.2ms queue=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 [] 13:05:13.818 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms 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 [] 13:05:13.819 [debug] Running yt-dlp command for action: get_downloadable_status 13:05:13.822 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:05:13.823 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms 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 [] 13:05:13.824 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms 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 [] 13:05:13.825 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QPG_hkRGky0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6d/b7/6db7cb39d6ac4830d0e0b4d39fffd069a23e8c135494a66dbbf583847fa8b3d4.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:05:20.327 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QPG_hkRGky0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6d/b7/6db7cb39d6ac4830d0e0b4d39fffd069a23e8c135494a66dbbf583847fa8b3d4.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:05:20.328 [debug] Running yt-dlp command for action: download 13:05:20.328 [debug] QUERY OK source="settings" db=0.4ms idle=946.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 [] 13:05:20.329 [debug] QUERY OK source="settings" db=0.3ms idle=947.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 [] 13:05:20.329 [debug] QUERY OK source="settings" db=0.2ms idle=948.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 [] 13:05:20.330 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QPG_hkRGky0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/61/01/6101b15697ec78b577aae87548aa6074cd9321f20f25975d1b959f459b350f2e.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:05:21.117 [info] {"source":"oban","duration":2928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:51.119 [info] {"source":"oban","duration":1501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:00.761 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:06:03.294 [info] GET / 13:06:03.294 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:06:03.295 [debug] QUERY OK source="settings" db=0.3ms idle=1256.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 [] 13:06:03.295 [debug] QUERY OK source="media_profiles" db=0.1ms idle=914.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:06:03.296 [debug] QUERY OK source="sources" db=0.1ms idle=914.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:06:03.335 [debug] QUERY OK source="media_items" db=38.9ms idle=914.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:06:03.339 [debug] QUERY OK source="media_items" db=4.2ms queue=0.1ms idle=294.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:06:03.340 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=45.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 [] 13:06:03.341 [debug] QUERY OK source="settings" db=0.2ms idle=45.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 [] 13:06:03.342 [debug] QUERY OK source="settings" db=0.2ms idle=46.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 [] 13:06:03.346 [debug] QUERY OK source="media_items" db=3.0ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 13:06:03.347 [debug] QUERY OK source="media_items" db=0.5ms idle=7.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:06:03.348 [debug] QUERY OK source="sources" db=0.2ms idle=7.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" IN (?,?)) [2, 6] 13:06:03.403 [debug] QUERY OK source="media_items" db=52.2ms idle=9.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 (((((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"))) [] 13:06:03.468 [debug] QUERY OK source="media_items" db=64.4ms queue=0.1ms idle=60.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:06:03.469 [debug] QUERY OK source="sources" db=0.4ms idle=121.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] 13:06:03.471 [debug] QUERY OK source="tasks" db=0.5ms idle=123.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:06:03.472 [debug] QUERY OK source="media_items" db=0.3ms idle=123.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3588, 3589] 13:06:03.475 [info] Sent 200 in 181ms 13:06:10.769 [info] GET /.well-known/acme-challenge/KA2yLbuQBw39fykwWAJJE18vBOtF5ucFHvybPuneUh4 13:06:10.771 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1388.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 [] 13:06:10.771 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1389.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 [] 13:06:10.772 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:06:10.773 [error] #PID<0.3591.0> running PinchflatWeb.Endpoint (connection #PID<0.3590.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/KA2yLbuQBw39fykwWAJJE18vBOtF5ucFHvybPuneUh4 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/KA2yLbuQBw39fykwWAJJE18vBOtF5ucFHvybPuneUh4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3590.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/KA2yLbuQBw39fykwWAJJE18vBOtF5ucFHvybPuneUh4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49804}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/KA2yLbuQBw39fykwWAJJE18vBOtF5ucFHvybPuneUh4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3591.0>, params: %{}, path_info: [".well-known", "acme-challenge", "KA2yLbuQBw39fykwWAJJE18vBOtF5ucFHvybPuneUh4"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/KA2yLbuQBw39fykwWAJJE18vBOtF5ucFHvybPuneUh4"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/KA2yLbuQBw39fykwWAJJE18vBOtF5ucFHvybPuneUh4", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfHXOIp582TdwAAKBi"} ], 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.3590.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/KA2yLbuQBw39fykwWAJJE18vBOtF5ucFHvybPuneUh4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49804}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/KA2yLbuQBw39fykwWAJJE18vBOtF5ucFHvybPuneUh4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/KA2yLbuQBw39fykwWAJJE18vBOtF5ucFHvybPuneUh4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3590.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/KA2yLbuQBw39fykwWAJJE18vBOtF5ucFHvybPuneUh4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49804}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/KA2yLbuQBw39fykwWAJJE18vBOtF5ucFHvybPuneUh4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3591.0>, params: %{}, path_info: [".well-known", "acme-challenge", "KA2yLbuQBw39fykwWAJJE18vBOtF5ucFHvybPuneUh4"], 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://pinchflat.f2fv7 (truncated) 13:06:11.631 [info] GET /.well-known/acme-challenge/YGAfIDbNI5jONFKeajJ-okw2X3y4anmvMINworivM0w 13:06:11.632 [debug] QUERY OK source="settings" db=0.8ms idle=860.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 [] 13:06:11.634 [debug] QUERY OK source="settings" db=0.7ms idle=861.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 [] 13:06:11.634 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:06:11.636 [error] #PID<0.3592.0> running PinchflatWeb.Endpoint (connection #PID<0.3590.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/YGAfIDbNI5jONFKeajJ-okw2X3y4anmvMINworivM0w ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/YGAfIDbNI5jONFKeajJ-okw2X3y4anmvMINworivM0w (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3590.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/YGAfIDbNI5jONFKeajJ-okw2X3y4anmvMINworivM0w", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49804}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/YGAfIDbNI5jONFKeajJ-okw2X3y4anmvMINworivM0w", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3592.0>, params: %{}, path_info: [".well-known", "acme-challenge", "YGAfIDbNI5jONFKeajJ-okw2X3y4anmvMINworivM0w"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/YGAfIDbNI5jONFKeajJ-okw2X3y4anmvMINworivM0w"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/YGAfIDbNI5jONFKeajJ-okw2X3y4anmvMINworivM0w", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfHabng0Mw3nUAAKCC"} ], 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.3590.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/YGAfIDbNI5jONFKeajJ-okw2X3y4anmvMINworivM0w", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49804}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/YGAfIDbNI5jONFKeajJ-okw2X3y4anmvMINworivM0w", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/YGAfIDbNI5jONFKeajJ-okw2X3y4anmvMINworivM0w (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3590.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/YGAfIDbNI5jONFKeajJ-okw2X3y4anmvMINworivM0w", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49804}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/YGAfIDbNI5jONFKeajJ-okw2X3y4anmvMINworivM0w", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3592.0>, params: %{}, path_info: [".well-known", "acme-challenge", "YGAfIDbNI5jONFKeajJ-okw2X3y4anmvMINworivM0w"], 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://pinchflat.f2fv7 (truncated) 13:06:11.809 [info] GET /.well-known/acme-challenge/nleqIKpx3qeyiObP7GgGpj6NtsudlPwLbPaaBgfabWM 13:06:11.811 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=724.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 [] 13:06:11.811 [debug] QUERY OK source="settings" db=0.4ms idle=429.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 [] 13:06:11.811 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:06:11.812 [error] #PID<0.3594.0> running PinchflatWeb.Endpoint (connection #PID<0.3593.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/nleqIKpx3qeyiObP7GgGpj6NtsudlPwLbPaaBgfabWM ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/nleqIKpx3qeyiObP7GgGpj6NtsudlPwLbPaaBgfabWM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3593.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/nleqIKpx3qeyiObP7GgGpj6NtsudlPwLbPaaBgfabWM", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 49812}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/nleqIKpx3qeyiObP7GgGpj6NtsudlPwLbPaaBgfabWM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3594.0>, params: %{}, path_info: [".well-known", "acme-challenge", "nleqIKpx3qeyiObP7GgGpj6NtsudlPwLbPaaBgfabWM"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/nleqIKpx3qeyiObP7GgGpj6NtsudlPwLbPaaBgfabWM"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/nleqIKpx3qeyiObP7GgGpj6NtsudlPwLbPaaBgfabWM", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfHbGLecO9qjwAAKCi"} ], 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.3593.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/nleqIKpx3qeyiObP7GgGpj6NtsudlPwLbPaaBgfabWM", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 49812}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/nleqIKpx3qeyiObP7GgGpj6NtsudlPwLbPaaBgfabWM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/nleqIKpx3qeyiObP7GgGpj6NtsudlPwLbPaaBgfabWM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3593.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/nleqIKpx3qeyiObP7GgGpj6NtsudlPwLbPaaBgfabWM", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 49812}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/nleqIKpx3qeyiObP7GgGpj6NtsudlPwLbPaaBgfabWM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3594.0>, params: %{}, path_info: [".well-known", "acme-challenge", "nleqIKpx3qeyiObP7GgGpj6NtsudlPwLbPaaBgfabWM"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:06:20.251 [info] GET /sources/6/media/9844 13:06:20.251 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "9844", "source_id" => "6"} Pipelines: [:browser] 13:06:20.252 [debug] QUERY OK source="media_items" db=0.3ms idle=870.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" = ?) [9844] 13:06:20.254 [debug] QUERY OK source="tasks" db=0.4ms idle=872.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" [9844] 13:06:20.254 [debug] QUERY OK source="sources" db=0.6ms idle=872.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] 13:06:20.255 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=873.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 [] 13:06:20.256 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=143.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 [] 13:06:20.257 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:06:20.260 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms 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] 13:06:20.264 [info] Sent 200 in 12ms 13:06:21.122 [info] {"source":"oban","duration":2570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:31.494 [info] GET /.well-known/acme-challenge/a6Tf6pWwbPdTiX9ejBePSF5jvE5e6sme14kYrZu14Vw 13:06:31.496 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1113.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 [] 13:06:31.497 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=356.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 [] 13:06:31.497 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:06:31.497 [error] #PID<0.3602.0> running PinchflatWeb.Endpoint (connection #PID<0.3601.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/a6Tf6pWwbPdTiX9ejBePSF5jvE5e6sme14kYrZu14Vw ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/a6Tf6pWwbPdTiX9ejBePSF5jvE5e6sme14kYrZu14Vw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3601.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/a6Tf6pWwbPdTiX9ejBePSF5jvE5e6sme14kYrZu14Vw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 35028}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/a6Tf6pWwbPdTiX9ejBePSF5jvE5e6sme14kYrZu14Vw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3602.0>, params: %{}, path_info: [".well-known", "acme-challenge", "a6Tf6pWwbPdTiX9ejBePSF5jvE5e6sme14kYrZu14Vw"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/a6Tf6pWwbPdTiX9ejBePSF5jvE5e6sme14kYrZu14Vw"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/a6Tf6pWwbPdTiX9ejBePSF5jvE5e6sme14kYrZu14Vw", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfIkbQ1vlJDosAAKDC"} ], 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.3601.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/a6Tf6pWwbPdTiX9ejBePSF5jvE5e6sme14kYrZu14Vw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 35028}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/a6Tf6pWwbPdTiX9ejBePSF5jvE5e6sme14kYrZu14Vw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/a6Tf6pWwbPdTiX9ejBePSF5jvE5e6sme14kYrZu14Vw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3601.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/a6Tf6pWwbPdTiX9ejBePSF5jvE5e6sme14kYrZu14Vw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 35028}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/a6Tf6pWwbPdTiX9ejBePSF5jvE5e6sme14kYrZu14Vw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3602.0>, params: %{}, path_info: [".well-known", "acme-challenge", "a6Tf6pWwbPdTiX9ejBePSF5jvE5e6sme14kYrZu14Vw"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:06:33.286 [info] GET /.well-known/acme-challenge/zHB9HC3H3aZf1kRXPwP9kJllq24YaBGClhsqjR_3afs 13:06:33.287 [debug] QUERY OK source="settings" db=0.4ms idle=1905.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 [] 13:06:33.288 [debug] QUERY OK source="settings" db=0.2ms idle=1791.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 [] 13:06:33.288 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:06:33.289 [error] #PID<0.3604.0> running PinchflatWeb.Endpoint (connection #PID<0.3603.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/zHB9HC3H3aZf1kRXPwP9kJllq24YaBGClhsqjR_3afs ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/zHB9HC3H3aZf1kRXPwP9kJllq24YaBGClhsqjR_3afs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3603.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/zHB9HC3H3aZf1kRXPwP9kJllq24YaBGClhsqjR_3afs", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 35042}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/zHB9HC3H3aZf1kRXPwP9kJllq24YaBGClhsqjR_3afs", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3604.0>, params: %{}, path_info: [".well-known", "acme-challenge", "zHB9HC3H3aZf1kRXPwP9kJllq24YaBGClhsqjR_3afs"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/zHB9HC3H3aZf1kRXPwP9kJllq24YaBGClhsqjR_3afs"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/zHB9HC3H3aZf1kRXPwP9kJllq24YaBGClhsqjR_3afs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfIrGlolqe5f4AAKDi"} ], 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.3603.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/zHB9HC3H3aZf1kRXPwP9kJllq24YaBGClhsqjR_3afs", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 35042}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/zHB9HC3H3aZf1kRXPwP9kJllq24YaBGClhsqjR_3afs", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/zHB9HC3H3aZf1kRXPwP9kJllq24YaBGClhsqjR_3afs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3603.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/zHB9HC3H3aZf1kRXPwP9kJllq24YaBGClhsqjR_3afs", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 35042}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/zHB9HC3H3aZf1kRXPwP9kJllq24YaBGClhsqjR_3afs", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3604.0>, params: %{}, path_info: [".well-known", "acme-challenge", "zHB9HC3H3aZf1kRXPwP9kJllq24YaBGClhsqjR_3afs"], 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://pinchflat.f2fv7 (truncated) 13:06:42.560 [info] GET /.well-known/acme-challenge/Gbf9lxriVXKxxQfZEdr8zD9019QVYdmV1euKh2S5QfU 13:06:42.561 [debug] QUERY OK source="settings" db=0.5ms idle=1179.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 [] 13:06:42.562 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1180.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 [] 13:06:42.562 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:06:42.563 [error] #PID<0.3608.0> running PinchflatWeb.Endpoint (connection #PID<0.3607.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/Gbf9lxriVXKxxQfZEdr8zD9019QVYdmV1euKh2S5QfU ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Gbf9lxriVXKxxQfZEdr8zD9019QVYdmV1euKh2S5QfU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Gbf9lxriVXKxxQfZEdr8zD9019QVYdmV1euKh2S5QfU", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36310}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Gbf9lxriVXKxxQfZEdr8zD9019QVYdmV1euKh2S5QfU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3608.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Gbf9lxriVXKxxQfZEdr8zD9019QVYdmV1euKh2S5QfU"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/Gbf9lxriVXKxxQfZEdr8zD9019QVYdmV1euKh2S5QfU"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/Gbf9lxriVXKxxQfZEdr8zD9019QVYdmV1euKh2S5QfU", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfJNpmmkJk7UIAAKEi"} ], 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.3607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Gbf9lxriVXKxxQfZEdr8zD9019QVYdmV1euKh2S5QfU", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36310}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Gbf9lxriVXKxxQfZEdr8zD9019QVYdmV1euKh2S5QfU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Gbf9lxriVXKxxQfZEdr8zD9019QVYdmV1euKh2S5QfU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Gbf9lxriVXKxxQfZEdr8zD9019QVYdmV1euKh2S5QfU", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36310}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Gbf9lxriVXKxxQfZEdr8zD9019QVYdmV1euKh2S5QfU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3608.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Gbf9lxriVXKxxQfZEdr8zD9019QVYdmV1euKh2S5QfU"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:06:42.781 [info] GET /.well-known/acme-challenge/6azfeH-in9VumF_MHwW2YEMrmtWQl0akKETbUtD_TgI 13:06:42.783 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=612.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 [] 13:06:42.784 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=402.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 [] 13:06:42.784 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:06:42.785 [error] #PID<0.3610.0> running PinchflatWeb.Endpoint (connection #PID<0.3609.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/6azfeH-in9VumF_MHwW2YEMrmtWQl0akKETbUtD_TgI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/6azfeH-in9VumF_MHwW2YEMrmtWQl0akKETbUtD_TgI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3609.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6azfeH-in9VumF_MHwW2YEMrmtWQl0akKETbUtD_TgI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 36312}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/6azfeH-in9VumF_MHwW2YEMrmtWQl0akKETbUtD_TgI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3610.0>, params: %{}, path_info: [".well-known", "acme-challenge", "6azfeH-in9VumF_MHwW2YEMrmtWQl0akKETbUtD_TgI"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/6azfeH-in9VumF_MHwW2YEMrmtWQl0akKETbUtD_TgI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/6azfeH-in9VumF_MHwW2YEMrmtWQl0akKETbUtD_TgI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfJOeezQditfIAAFKj"} ], 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.3609.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6azfeH-in9VumF_MHwW2YEMrmtWQl0akKETbUtD_TgI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 36312}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/6azfeH-in9VumF_MHwW2YEMrmtWQl0akKETbUtD_TgI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/6azfeH-in9VumF_MHwW2YEMrmtWQl0akKETbUtD_TgI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3609.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6azfeH-in9VumF_MHwW2YEMrmtWQl0akKETbUtD_TgI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 36312}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/6azfeH-in9VumF_MHwW2YEMrmtWQl0akKETbUtD_TgI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3610.0>, params: %{}, path_info: [".well-known", "acme-challenge", "6azfeH-in9VumF_MHwW2YEMrmtWQl0akKETbUtD_TgI"], 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://pinchflat.f2fv7 (truncated) 13:06:43.052 [info] GET /.well-known/acme-challenge/YaPjQxUwtZDcvKDZDXXrrBogN9svdYIh0I8FkiaXAWY 13:06:43.057 [debug] QUERY OK source="settings" db=2.3ms queue=0.3ms idle=673.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 [] 13:06:43.059 [debug] QUERY OK source="settings" db=1.3ms queue=0.2ms idle=496.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 [] 13:06:43.059 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:06:43.060 [error] #PID<0.3611.0> running PinchflatWeb.Endpoint (connection #PID<0.3607.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/YaPjQxUwtZDcvKDZDXXrrBogN9svdYIh0I8FkiaXAWY ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/YaPjQxUwtZDcvKDZDXXrrBogN9svdYIh0I8FkiaXAWY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/YaPjQxUwtZDcvKDZDXXrrBogN9svdYIh0I8FkiaXAWY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36310}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/YaPjQxUwtZDcvKDZDXXrrBogN9svdYIh0I8FkiaXAWY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3611.0>, params: %{}, path_info: [".well-known", "acme-challenge", "YaPjQxUwtZDcvKDZDXXrrBogN9svdYIh0I8FkiaXAWY"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/YaPjQxUwtZDcvKDZDXXrrBogN9svdYIh0I8FkiaXAWY"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/YaPjQxUwtZDcvKDZDXXrrBogN9svdYIh0I8FkiaXAWY", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfJPfEHKwWQ7IAAKFC"} ], 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.3607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/YaPjQxUwtZDcvKDZDXXrrBogN9svdYIh0I8FkiaXAWY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36310}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/YaPjQxUwtZDcvKDZDXXrrBogN9svdYIh0I8FkiaXAWY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/YaPjQxUwtZDcvKDZDXXrrBogN9svdYIh0I8FkiaXAWY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/YaPjQxUwtZDcvKDZDXXrrBogN9svdYIh0I8FkiaXAWY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36310}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/YaPjQxUwtZDcvKDZDXXrrBogN9svdYIh0I8FkiaXAWY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3611.0>, params: %{}, path_info: [".well-known", "acme-challenge", "YaPjQxUwtZDcvKDZDXXrrBogN9svdYIh0I8FkiaXAWY"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:06:50.198 [info] GET /.well-known/acme-challenge/2iflvJlL54jwvnEdgNAZuHX_WKZGgeWv5C3r8uPMEQ8 13:06:50.200 [debug] QUERY OK source="settings" db=0.4ms idle=1818.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 [] 13:06:50.200 [debug] QUERY OK source="settings" db=0.3ms idle=1818.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 [] 13:06:50.201 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:06:50.201 [error] #PID<0.3613.0> running PinchflatWeb.Endpoint (connection #PID<0.3612.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/2iflvJlL54jwvnEdgNAZuHX_WKZGgeWv5C3r8uPMEQ8 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/2iflvJlL54jwvnEdgNAZuHX_WKZGgeWv5C3r8uPMEQ8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3612.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/2iflvJlL54jwvnEdgNAZuHX_WKZGgeWv5C3r8uPMEQ8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 46896}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/2iflvJlL54jwvnEdgNAZuHX_WKZGgeWv5C3r8uPMEQ8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3613.0>, params: %{}, path_info: [".well-known", "acme-challenge", "2iflvJlL54jwvnEdgNAZuHX_WKZGgeWv5C3r8uPMEQ8"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/2iflvJlL54jwvnEdgNAZuHX_WKZGgeWv5C3r8uPMEQ8"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/2iflvJlL54jwvnEdgNAZuHX_WKZGgeWv5C3r8uPMEQ8", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfJqG3rWM2q8sAAKFi"} ], 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.3612.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/2iflvJlL54jwvnEdgNAZuHX_WKZGgeWv5C3r8uPMEQ8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 46896}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/2iflvJlL54jwvnEdgNAZuHX_WKZGgeWv5C3r8uPMEQ8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/2iflvJlL54jwvnEdgNAZuHX_WKZGgeWv5C3r8uPMEQ8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3612.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/2iflvJlL54jwvnEdgNAZuHX_WKZGgeWv5C3r8uPMEQ8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 46896}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/2iflvJlL54jwvnEdgNAZuHX_WKZGgeWv5C3r8uPMEQ8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3613.0>, params: %{}, path_info: [".well-known", "acme-challenge", "2iflvJlL54jwvnEdgNAZuHX_WKZGgeWv5C3r8uPMEQ8"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:06:51.124 [info] {"source":"oban","duration":1106,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:53.087 [info] GET /.well-known/acme-challenge/bY0rWlQ4n-dJMBjM1JVRwBA9II3Iy8mFoVs8sbimI4M 13:06:53.088 [debug] QUERY OK source="settings" db=0.6ms idle=1706.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 [] 13:06:53.089 [debug] QUERY OK source="settings" db=0.4ms idle=892.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 [] 13:06:53.089 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:06:53.090 [error] #PID<0.3615.0> running PinchflatWeb.Endpoint (connection #PID<0.3614.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/bY0rWlQ4n-dJMBjM1JVRwBA9II3Iy8mFoVs8sbimI4M ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/bY0rWlQ4n-dJMBjM1JVRwBA9II3Iy8mFoVs8sbimI4M (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3614.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/bY0rWlQ4n-dJMBjM1JVRwBA9II3Iy8mFoVs8sbimI4M", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 46904}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/bY0rWlQ4n-dJMBjM1JVRwBA9II3Iy8mFoVs8sbimI4M", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3615.0>, params: %{}, path_info: [".well-known", "acme-challenge", "bY0rWlQ4n-dJMBjM1JVRwBA9II3Iy8mFoVs8sbimI4M"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/bY0rWlQ4n-dJMBjM1JVRwBA9II3Iy8mFoVs8sbimI4M"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/bY0rWlQ4n-dJMBjM1JVRwBA9II3Iy8mFoVs8sbimI4M", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfJ03oxgbHK_gAAKGC"} ], 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.3614.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/bY0rWlQ4n-dJMBjM1JVRwBA9II3Iy8mFoVs8sbimI4M", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 46904}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/bY0rWlQ4n-dJMBjM1JVRwBA9II3Iy8mFoVs8sbimI4M", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/bY0rWlQ4n-dJMBjM1JVRwBA9II3Iy8mFoVs8sbimI4M (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3614.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/bY0rWlQ4n-dJMBjM1JVRwBA9II3Iy8mFoVs8sbimI4M", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 46904}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/bY0rWlQ4n-dJMBjM1JVRwBA9II3Iy8mFoVs8sbimI4M", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3615.0>, params: %{}, path_info: [".well-known", "acme-challenge", "bY0rWlQ4n-dJMBjM1JVRwBA9II3Iy8mFoVs8sbimI4M"], 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://pinchflat.f2fv7 (truncated) 13:07:00.764 [info] {"source":"oban","duration":567,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:07:03.672 [info] GET / 13:07:03.672 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:07:03.674 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=1292.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 [] 13:07:03.676 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=1294.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:07:03.677 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1295.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:07:03.700 [debug] QUERY OK source="media_items" db=21.1ms queue=0.4ms idle=1297.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:07:03.714 [debug] QUERY OK source="media_items" db=13.6ms queue=0.2ms idle=470.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:07:03.717 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=41.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 [] 13:07:03.718 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=41.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 [] 13:07:03.720 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=42.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 [] 13:07:03.725 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=22.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 (NOT (m0."media_filepath" IS NULL)) [] 13:07:03.727 [debug] QUERY OK source="media_items" db=0.8ms idle=11.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:07:03.729 [debug] QUERY OK source="sources" db=1.3ms idle=11.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" IN (?,?)) [2, 6] 13:07:03.809 [debug] QUERY OK source="media_items" db=76.6ms idle=14.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 (((((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"))) [] 13:07:03.925 [debug] QUERY OK source="media_items" db=115.6ms queue=0.1ms idle=89.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:07:03.926 [debug] QUERY OK source="sources" db=0.3ms idle=200.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] 13:07:03.929 [debug] QUERY OK source="tasks" db=0.5ms idle=201.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:07:03.930 [debug] QUERY OK source="media_items" db=0.4ms idle=200.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3588, 3589] 13:07:03.932 [info] Sent 200 in 259ms 13:07:19.461 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HtomaT9Deq8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/23/46/2346efaae882646fb9279bf7d2ab98b7c13d98565a2ab6c4d617c6a62ffd1b08.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:07:19.592 [debug] Running yt-dlp command for action: download_thumbnail 13:07:19.596 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=315.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 [] 13:07:19.596 [debug] QUERY OK source="settings" db=0.3ms idle=215.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 [] 13:07:19.597 [debug] QUERY OK source="settings" db=0.4ms idle=215.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 [] 13:07:19.598 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HtomaT9Deq8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3588/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/5b/c8/5bc8314a7bc7ff5eb7c4050da3ae9790c612410959f48dc54a61c8bfb3febf8d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:07:21.127 [info] {"source":"oban","duration":2702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:27.302 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HtomaT9Deq8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3588/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/5b/c8/5bc8314a7bc7ff5eb7c4050da3ae9790c612410959f48dc54a61c8bfb3febf8d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:07:27.303 [debug] QUERY OK db=0.0ms idle=1922.0ms begin [] 13:07:27.309 [debug] QUERY OK source="media_items" db=4.9ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 02:07:19Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e102899 - I Made a Cocktail For Wednesday Addams | Netflix.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e102899 - I Made a Cocktail For Wednesday Addams | Netflix.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e102899 - I Made a Cocktail For Wednesday Addams | Netflix.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e102899 - I Made a Cocktail For Wednesday Addams | Netflix.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e102899 - I Made a Cocktail For Wednesday Addams | Netflix.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e102899 - I Made a Cocktail For Wednesday Addams | Netflix-thumb.jpg", ~U[2026-03-28 02:07:27Z], 3588] 13:07:27.312 [debug] QUERY OK source="media_metadata" db=2.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/3588/metadata.json.gz", "/config/metadata/media_items/3588/thumbnail.jpg", 3588, ~U[2026-03-28 02:07:27Z], ~U[2026-03-28 02:07:27Z]] 13:07:27.315 [debug] QUERY OK db=3.2ms commit [] 13:07:27.349 [debug] QUERY OK source="media_items" db=17.4ms idle=1950.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [99049370, ~U[2026-03-28 02:07:27Z], 3588] 13:07:27.349 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:07:27.351 [info] {"args":{"id":3588},"id":640,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":174635434,"event":"job:stop","queue_time":78810712118,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:07:27.361 [info] {"args":{"id":3592},"id":642,"meta":{},"system_time":1774663647361582187,"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"]} 13:07:27.376 [debug] QUERY OK source="media_items" db=14.0ms idle=59.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" = ?) [3592] 13:07:27.376 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:07:27.402 [debug] QUERY OK source="sources" db=25.5ms idle=61.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" = ?) [4] 13:07:27.404 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=53.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] 13:07:27.406 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=54.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 [3592] 13:07:27.409 [debug] QUERY OK source="media_metadata" db=0.2ms queue=0.1ms idle=46.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" = ?) [3592] 13:07:27.409 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=33.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] 13:07:27.411 [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 [] 13:07:27.411 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:07:27.412 [debug] Running yt-dlp command for action: get_downloadable_status 13:07:27.415 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:07:27.415 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms 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 [] 13:07:27.416 [debug] QUERY OK source="settings" db=0.4ms 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 [] 13:07:27.416 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vO06u6hvlHs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0a/20/0a2048bb96d5722455d24f5209f372ab728d8af9bae526ceb244e5bb80af4ecc.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:07:34.470 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vO06u6hvlHs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0a/20/0a2048bb96d5722455d24f5209f372ab728d8af9bae526ceb244e5bb80af4ecc.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:07:34.471 [debug] Running yt-dlp command for action: download 13:07:34.472 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=1090.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 [] 13:07:34.473 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1091.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 [] 13:07:34.474 [debug] QUERY OK source="settings" db=0.3ms idle=1092.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 [] 13:07:34.475 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vO06u6hvlHs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0e/92/0e922f51ba0da2f554db9ec27f78f52edbfd3c1fdb607f226c48e2638573173f.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:07:51.131 [info] {"source":"oban","duration":2736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:00.766 [info] {"source":"oban","duration":826,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:08:04.154 [info] GET / 13:08:04.154 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:08:04.156 [debug] QUERY OK source="settings" db=0.9ms idle=1773.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 [] 13:08:04.156 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1774.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:08:04.157 [debug] QUERY OK source="sources" db=0.4ms idle=1775.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:08:04.211 [debug] QUERY OK source="media_items" db=53.0ms idle=1747.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:08:04.214 [debug] QUERY OK source="media_items" db=3.0ms idle=795.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:08:04.215 [debug] QUERY OK source="settings" db=0.2ms idle=59.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 [] 13:08:04.216 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=59.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 [] 13:08:04.217 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=59.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 [] 13:08:04.222 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 13:08:04.226 [debug] QUERY OK source="media_items" db=2.3ms queue=0.2ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:08:04.228 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=11.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" IN (?,?)) [2, 6] 13:08:04.289 [debug] QUERY OK source="media_items" db=55.2ms idle=18.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 (((((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"))) [] 13:08:04.353 [debug] QUERY OK source="media_items" db=63.1ms idle=72.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:08:04.354 [debug] QUERY OK source="sources" db=0.2ms idle=130.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] 13:08:04.356 [debug] QUERY OK source="tasks" db=0.4ms idle=130.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:08:04.358 [debug] QUERY OK source="media_items" db=0.6ms idle=129.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3589, 3592] 13:08:04.361 [info] Sent 200 in 206ms 13:08:21.134 [info] {"source":"oban","duration":1624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:35.506 [info] GET /sources/2/media/8244/edit 13:08:35.507 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "8244", "source_id" => "2"} Pipelines: [:browser] 13:08:35.508 [debug] QUERY OK source="media_items" db=0.7ms queue=0.2ms idle=1126.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" = ?) [8244] 13:08:35.510 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=995.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 [] 13:08:35.511 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=129.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 [] 13:08:35.512 [debug] QUERY OK source="settings" db=0.6ms idle=130.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 [] 13:08:35.514 [info] Sent 200 in 7ms 13:08:48.245 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QPG_hkRGky0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/61/01/6101b15697ec78b577aae87548aa6074cd9321f20f25975d1b959f459b350f2e.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:08:48.277 [debug] Running yt-dlp command for action: download_thumbnail 13:08:48.280 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=898.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 [] 13:08:48.281 [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 [] 13:08:48.281 [debug] QUERY OK source="settings" db=0.3ms idle=900.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 [] 13:08:48.282 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QPG_hkRGky0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3589/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/58/c1/58c1a51e118d7f77ab323717e479f94e4cc2cbc351c0b459ea36a4433ecfcb46.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:08:51.137 [info] {"source":"oban","duration":2100,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:55.386 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QPG_hkRGky0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3589/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/58/c1/58c1a51e118d7f77ab323717e479f94e4cc2cbc351c0b459ea36a4433ecfcb46.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:08:55.387 [debug] QUERY OK db=0.1ms idle=1005.5ms begin [] 13:08:55.391 [debug] QUERY OK source="media_items" db=3.9ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [350, ~U[2026-03-28 02:08:48Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e102199 - Chestnut Old Fashioned - The Perfect Fall Cocktail.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e102199 - Chestnut Old Fashioned - The Perfect Fall Cocktail.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e102199 - Chestnut Old Fashioned - The Perfect Fall Cocktail.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e102199 - Chestnut Old Fashioned - The Perfect Fall Cocktail.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e102199 - Chestnut Old Fashioned - The Perfect Fall Cocktail.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e102199 - Chestnut Old Fashioned - The Perfect Fall Cocktail-thumb.jpg", ~U[2026-03-28 02:08:55Z], 3589] 13:08:55.394 [debug] QUERY OK source="media_metadata" db=3.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/3589/metadata.json.gz", "/config/metadata/media_items/3589/thumbnail.jpg", 3589, ~U[2026-03-28 02:08:55Z], ~U[2026-03-28 02:08:55Z]] 13:08:55.397 [debug] QUERY OK db=2.2ms commit [] 13:08:55.419 [debug] QUERY OK source="media_items" db=19.8ms idle=814.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [54420555, ~U[2026-03-28 02:08:55Z], 3589] 13:08:55.420 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:08:55.427 [info] {"args":{"id":3589},"id":641,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":221621650,"event":"job:stop","queue_time":78846791147,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:08:55.434 [info] {"args":{"id":3595},"id":643,"meta":{},"system_time":1774663735434223145,"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"]} 13:08:55.435 [debug] QUERY OK source="media_items" db=0.6ms idle=53.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" = ?) [3595] 13:08:55.435 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:08:55.439 [debug] QUERY OK source="sources" db=3.9ms queue=0.1ms idle=38.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" = ?) [4] 13:08:55.440 [debug] QUERY OK source="media_profiles" db=0.2ms idle=20.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] 13:08:55.441 [debug] QUERY OK source="media_items" db=0.3ms 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 [3595] 13:08:55.442 [debug] QUERY OK source="media_metadata" db=0.1ms idle=8.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" = ?) [3595] 13:08:55.442 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 13:08:55.443 [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 [] 13:08:55.443 [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 [] 13:08:55.444 [debug] Running yt-dlp command for action: get_downloadable_status 13:08:55.444 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:08:55.445 [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 [] 13:08:55.445 [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 [] 13:08:55.445 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=V5-VoHCMb0c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/98/d7/98d735b2f2964f4804d6ed4e421150955a7394a4b1406329213fd4372db0669a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:09:00.767 [info] {"source":"oban","duration":336,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:09:01.780 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=V5-VoHCMb0c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/98/d7/98d735b2f2964f4804d6ed4e421150955a7394a4b1406329213fd4372db0669a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:09:01.780 [debug] Running yt-dlp command for action: download 13:09:01.781 [debug] QUERY OK source="settings" db=0.3ms idle=1013.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 [] 13:09:01.782 [debug] QUERY OK source="settings" db=0.1ms idle=400.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 [] 13:09:01.782 [debug] QUERY OK source="settings" db=0.1ms idle=401.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 [] 13:09:01.783 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=V5-VoHCMb0c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/16/36/1636d58585cfda37f8616ddcfb5e47f85c4ea2476b83fd1500bb11cfcee447fa.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:09:04.576 [info] GET / 13:09:04.576 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:09:04.578 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1195.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 [] 13:09:04.579 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=1197.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:09:04.580 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1198.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:09:04.648 [debug] QUERY OK source="media_items" db=67.3ms queue=0.1ms idle=1199.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:09:04.656 [debug] QUERY OK source="media_items" db=7.8ms queue=0.1ms idle=70.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:09:04.657 [debug] QUERY OK source="settings" db=0.4ms idle=77.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 [] 13:09:04.658 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=77.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 [] 13:09:04.660 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=44.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 [] 13:09:04.669 [debug] QUERY OK source="media_items" db=7.2ms idle=13.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 (NOT (m0."media_filepath" IS NULL)) [] 13:09:04.671 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=12.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:09:04.673 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=14.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" IN (?,?)) [2, 6] 13:09:04.753 [debug] QUERY OK source="media_items" db=73.6ms idle=20.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 (((((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"))) [] 13:09:04.820 [debug] QUERY OK source="media_items" db=66.5ms queue=0.1ms idle=93.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:09:04.821 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=152.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] 13:09:04.824 [debug] QUERY OK source="tasks" db=0.6ms idle=152.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:09:04.825 [debug] QUERY OK source="media_items" db=0.5ms idle=151.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3592, 3595] 13:09:04.827 [info] Sent 200 in 250ms 13:09:05.653 [info] GET /media/f72fa4ce-2974-4df3-8d79-376be5a8cb3c/stream 13:09:05.653 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "f72fa4ce-2974-4df3-8d79-376be5a8cb3c"} Pipelines: [:maybe_basic_auth] 13:09:05.656 [debug] QUERY OK source="media_items" db=2.0ms queue=0.5ms idle=833.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" = ?) ["f72fa4ce-2974-4df3-8d79-376be5a8cb3c"] 13:09:05.697 [debug] Invalid range request for media item: f72fa4ce-2974-4df3-8d79-376be5a8cb3c - serving full file 13:09:05.698 [info] Sent 200 in 44ms 13:09:21.146 [info] {"source":"oban","duration":8715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:51.150 [info] {"source":"oban","duration":2019,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:56.497 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vO06u6hvlHs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0e/92/0e922f51ba0da2f554db9ec27f78f52edbfd3c1fdb607f226c48e2638573173f.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:09:56.558 [debug] Running yt-dlp command for action: download_thumbnail 13:09:56.561 [debug] QUERY OK source="settings" db=0.4ms idle=1179.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 [] 13:09:56.561 [debug] QUERY OK source="settings" db=0.3ms idle=721.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 [] 13:09:56.562 [debug] QUERY OK source="settings" db=0.3ms idle=180.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 [] 13:09:56.562 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vO06u6hvlHs --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3592/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/de/b6/deb6a01535591ecbe304879b7fefba6512459cd96512a250f0e39c26fec7faa5.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:09:56.853 [info] {"args":{"id":3},"id":1687,"meta":{},"system_time":1774663796853397429,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:09:56.874 [debug] QUERY OK source="sources" db=20.0ms idle=293.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" = ?) [3] 13:09:56.888 [debug] QUERY OK source="settings" db=13.0ms queue=0.2ms 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 [] 13:09:56.907 [debug] QUERY OK source="media_profiles" db=17.8ms queue=0.1ms idle=327.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] 13:09:56.910 [debug] QUERY OK source="settings" db=1.7ms idle=63.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 [] 13:09:56.910 [debug] Fetching recent media IDs from YouTube API for playlist: UUwnKziETDbHJtx78nIkfYug 13:09:56.911 [debug] QUERY OK source="settings" db=0.5ms idle=57.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 [] 13:09:56.911 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:09:57.548 [debug] QUERY OK source="media_items" db=4.3ms queue=0.1ms idle=669.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "QtpFa0LdXEY", "8Rv4wwcQ89Y", "2cRKv1oqyX8", "mQfQwLW6CNw", "y0TZuhNixNk", "GZ7wE3XOwFU", "-aRdX-kZ9g4", "99bldMr1byI", "EzCiEv1IqiA", "mC5NdpSMDks", "ccV3u3D9ONE", "cVCDjEfPzII", "n0X2rqzKTgM", "dcuCvRNqmpY", "GG1qX8jHKGo", "k9wkleHFvo0", "CWoYVlMuUNQ", "xlfeieH4z38", "eZM2Ik-FHEU", "CtcTG8-qzbA", "6Mmj7mf1qlg", "InwVO9qBjqs", "1Hp-W2bpPrw", "VtE5sTpkn7k", "8dOJypt2F70", "Evm4t4prtWo", "taLzgvbrnv0", "rgCrnyf5JEI", "PHhc-48JT3U", "vFKjpNNjNGw", "VJQlOI70ubw", "E5cfNq0DO90", "DNBGSsZatbY", "pna1NyaHTls", "CUHao-vA98g", "cPN9BJe_RQw", "rCBt4XgCX-0", "f4g6KKGMmEI", "P_I5Jsc3xRw", "fPaU2l7RktM", "0PVwt01b6fs", "0qMDM4Y4Hwo", "Ld285PDsHvs", "p1mQC71wplA", "9k5JhKK6WlA", "WPxrifmtlQI", "nVNBmK7a1y8", "QDnMYztaxfI", "gxsaWhXG1Gg", ...] 13:09:57.559 [debug] QUERY OK source="media_items" db=8.1ms idle=662.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 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] 13:09:57.565 [debug] QUERY OK source="tasks" db=1.0ms idle=652.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1694, 3, ~U[2026-03-28 02:09:57Z], ~U[2026-03-28 02:09:57Z]] 13:09:57.566 [info] {"args":{"id":3},"id":1687,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":711762,"event":"job:stop","queue_time":466558,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:10:00.769 [info] {"source":"oban","duration":1197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:10:01.642 [info] GET /.well-known/acme-challenge/8pw_iKHWAe_9J4NY6R0_yBn1D7ZEitTU3lC1CFXIps8 13:10:01.643 [debug] QUERY OK source="settings" db=0.6ms idle=872.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 [] 13:10:01.644 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=781.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 [] 13:10:01.644 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:10:01.644 [error] #PID<0.3664.0> running PinchflatWeb.Endpoint (connection #PID<0.3663.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/8pw_iKHWAe_9J4NY6R0_yBn1D7ZEitTU3lC1CFXIps8 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/8pw_iKHWAe_9J4NY6R0_yBn1D7ZEitTU3lC1CFXIps8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3663.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/8pw_iKHWAe_9J4NY6R0_yBn1D7ZEitTU3lC1CFXIps8", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51050}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/8pw_iKHWAe_9J4NY6R0_yBn1D7ZEitTU3lC1CFXIps8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3664.0>, params: %{}, path_info: [".well-known", "acme-challenge", "8pw_iKHWAe_9J4NY6R0_yBn1D7ZEitTU3lC1CFXIps8"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/8pw_iKHWAe_9J4NY6R0_yBn1D7ZEitTU3lC1CFXIps8"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.107"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/8pw_iKHWAe_9J4NY6R0_yBn1D7ZEitTU3lC1CFXIps8", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfUzSdODAQ7EMAAFMD"} ], 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.3663.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/8pw_iKHWAe_9J4NY6R0_yBn1D7ZEitTU3lC1CFXIps8", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51050}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/8pw_iKHWAe_9J4NY6R0_yBn1D7ZEitTU3lC1CFXIps8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/8pw_iKHWAe_9J4NY6R0_yBn1D7ZEitTU3lC1CFXIps8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3663.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/8pw_iKHWAe_9J4NY6R0_yBn1D7ZEitTU3lC1CFXIps8", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51050}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/8pw_iKHWAe_9J4NY6R0_yBn1D7ZEitTU3lC1CFXIps8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3664.0>, params: %{}, path_info: [".well-known", "acme-challenge", "8pw_iKHWAe_9J4NY6R0_yBn1D7ZEitTU3lC1CFXIps8"], 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://pinchflat.f (truncated) 13:10:03.689 [info] GET /.well-known/acme-challenge/NHDyxqwR1HCNl-1TgeHZLVvn8bksDyNd-7tBZwsT_ho 13:10:03.691 [debug] QUERY OK source="settings" db=0.8ms idle=820.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 [] 13:10:03.692 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=309.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 [] 13:10:03.692 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:10:03.692 [error] #PID<0.3666.0> running PinchflatWeb.Endpoint (connection #PID<0.3665.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/NHDyxqwR1HCNl-1TgeHZLVvn8bksDyNd-7tBZwsT_ho ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/NHDyxqwR1HCNl-1TgeHZLVvn8bksDyNd-7tBZwsT_ho (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3665.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/NHDyxqwR1HCNl-1TgeHZLVvn8bksDyNd-7tBZwsT_ho", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 51058}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/NHDyxqwR1HCNl-1TgeHZLVvn8bksDyNd-7tBZwsT_ho", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.108", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3666.0>, params: %{}, path_info: [".well-known", "acme-challenge", "NHDyxqwR1HCNl-1TgeHZLVvn8bksDyNd-7tBZwsT_ho"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/NHDyxqwR1HCNl-1TgeHZLVvn8bksDyNd-7tBZwsT_ho"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.108"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/NHDyxqwR1HCNl-1TgeHZLVvn8bksDyNd-7tBZwsT_ho", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfU66p9MNVTfMAAKVi"} ], 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.3665.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/NHDyxqwR1HCNl-1TgeHZLVvn8bksDyNd-7tBZwsT_ho", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 51058}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/NHDyxqwR1HCNl-1TgeHZLVvn8bksDyNd-7tBZwsT_ho", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.108", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/NHDyxqwR1HCNl-1TgeHZLVvn8bksDyNd-7tBZwsT_ho (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3665.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/NHDyxqwR1HCNl-1TgeHZLVvn8bksDyNd-7tBZwsT_ho", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 51058}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/NHDyxqwR1HCNl-1TgeHZLVvn8bksDyNd-7tBZwsT_ho", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.108", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3666.0>, params: %{}, path_info: [".well-known", "acme-challenge", "NHDyxqwR1HCNl-1TgeHZLVvn8bksDyNd-7tBZwsT_ho"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWe (truncated) 13:10:04.206 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vO06u6hvlHs --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3592/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/de/b6/deb6a01535591ecbe304879b7fefba6512459cd96512a250f0e39c26fec7faa5.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:10:04.207 [debug] QUERY OK db=0.1ms idle=825.2ms begin [] 13:10:04.212 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 02:09:56Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e101499 - Homemade Cocktail Time Bitters - Allspice.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e101499 - Homemade Cocktail Time Bitters - Allspice.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e101499 - Homemade Cocktail Time Bitters - Allspice.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e101499 - Homemade Cocktail Time Bitters - Allspice.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e101499 - Homemade Cocktail Time Bitters - Allspice.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e101499 - Homemade Cocktail Time Bitters - Allspice-thumb.jpg", ~U[2026-03-28 02:10:04Z], 3592] 13:10:04.216 [debug] QUERY OK source="media_metadata" db=2.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/3592/metadata.json.gz", "/config/metadata/media_items/3592/thumbnail.jpg", 3592, ~U[2026-03-28 02:10:04Z], ~U[2026-03-28 02:10:04Z]] 13:10:04.217 [debug] QUERY OK db=0.7ms commit [] 13:10:04.227 [debug] QUERY OK source="media_items" db=2.5ms idle=843.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [61217285, ~U[2026-03-28 02:10:04Z], 3592] 13:10:04.228 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:10:04.228 [info] {"args":{"id":3592},"id":642,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":156866477,"event":"job:stop","queue_time":78975357011,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:10:04.236 [info] {"args":{"id":3598},"id":644,"meta":{},"system_time":1774663804236119307,"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"]} 13:10:04.236 [debug] QUERY OK source="media_items" db=0.3ms idle=363.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" = ?) [3598] 13:10:04.237 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:10:04.237 [debug] QUERY OK source="sources" db=0.4ms idle=20.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" = ?) [4] 13:10:04.238 [debug] QUERY OK source="media_profiles" db=0.6ms idle=10.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] 13:10:04.240 [debug] QUERY OK source="media_items" db=0.9ms idle=10.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 [3598] 13:10:04.241 [debug] QUERY OK source="media_metadata" db=0.1ms idle=5.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" = ?) [3598] 13:10:04.242 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.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] 13:10:04.242 [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 [] 13:10:04.242 [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 [] 13:10:04.243 [debug] Running yt-dlp command for action: get_downloadable_status 13:10:04.244 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:10:04.244 [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 [] 13:10:04.245 [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 [] 13:10:04.245 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=qwIdky4UfnE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1b/c6/1bc6ffa0a6d076a4bd5d3c8bba9b7e39a1f0ea4da9a6d653273b6614b5c5ab7d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:10:05.068 [info] GET / 13:10:05.068 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:10:05.069 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=825.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 [] 13:10:05.070 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.2ms idle=825.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:10:05.071 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=826.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:10:05.127 [debug] QUERY OK source="media_items" db=54.7ms queue=0.3ms idle=826.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:10:05.131 [debug] QUERY OK source="media_items" db=3.8ms queue=0.2ms idle=251.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:10:05.133 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=62.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 [] 13:10:05.134 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=63.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 [] 13:10:05.136 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=64.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 [] 13:10:05.141 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms 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 (NOT (m0."media_filepath" IS NULL)) [] 13:10:05.143 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=10.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:10:05.144 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=10.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" IN (?,?)) [2, 6] 13:10:05.210 [debug] QUERY OK source="media_items" db=62.9ms idle=13.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 (((((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"))) [] 13:10:05.275 [debug] QUERY OK source="media_items" db=64.7ms idle=74.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:10:05.277 [debug] QUERY OK source="sources" db=0.3ms idle=135.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] 13:10:05.283 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=139.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:10:05.285 [debug] QUERY OK source="media_items" db=0.7ms idle=139.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3595, 3598] 13:10:05.289 [info] Sent 200 in 221ms 13:10:10.774 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=qwIdky4UfnE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1b/c6/1bc6ffa0a6d076a4bd5d3c8bba9b7e39a1f0ea4da9a6d653273b6614b5c5ab7d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:10:10.775 [debug] Running yt-dlp command for action: download 13:10:10.776 [debug] QUERY OK source="settings" db=0.6ms idle=884.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 [] 13:10:10.777 [debug] QUERY OK source="settings" db=0.7ms idle=395.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 [] 13:10:10.778 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=396.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 [] 13:10:10.778 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=qwIdky4UfnE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/47/bb/47bbcb01849be0ebc191b6932cad33f6d902a0a56798d416d4131714bcfd26d0.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:10:19.177 [info] GET /.well-known/acme-challenge/qEaE0tVV42TBz2sBxSidy7jbcz_-IUr2Wfzx_JvrRoM 13:10:19.177 [debug] QUERY OK source="settings" db=0.3ms idle=795.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 [] 13:10:19.178 [debug] QUERY OK source="settings" db=0.1ms idle=796.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 [] 13:10:19.178 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:10:19.178 [error] #PID<0.3674.0> running PinchflatWeb.Endpoint (connection #PID<0.3673.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/qEaE0tVV42TBz2sBxSidy7jbcz_-IUr2Wfzx_JvrRoM ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/qEaE0tVV42TBz2sBxSidy7jbcz_-IUr2Wfzx_JvrRoM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3673.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/qEaE0tVV42TBz2sBxSidy7jbcz_-IUr2Wfzx_JvrRoM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 33400}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/qEaE0tVV42TBz2sBxSidy7jbcz_-IUr2Wfzx_JvrRoM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.105", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3674.0>, params: %{}, path_info: [".well-known", "acme-challenge", "qEaE0tVV42TBz2sBxSidy7jbcz_-IUr2Wfzx_JvrRoM"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/qEaE0tVV42TBz2sBxSidy7jbcz_-IUr2Wfzx_JvrRoM"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.105"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/qEaE0tVV42TBz2sBxSidy7jbcz_-IUr2Wfzx_JvrRoM", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfV0nInE4lRhgAAKai"} ], 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.3673.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/qEaE0tVV42TBz2sBxSidy7jbcz_-IUr2Wfzx_JvrRoM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 33400}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/qEaE0tVV42TBz2sBxSidy7jbcz_-IUr2Wfzx_JvrRoM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.105", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/qEaE0tVV42TBz2sBxSidy7jbcz_-IUr2Wfzx_JvrRoM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3673.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/qEaE0tVV42TBz2sBxSidy7jbcz_-IUr2Wfzx_JvrRoM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 33400}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/qEaE0tVV42TBz2sBxSidy7jbcz_-IUr2Wfzx_JvrRoM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.105", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3674.0>, params: %{}, path_info: [".well-known", "acme-challenge", "qEaE0tVV42TBz2sBxSidy7jbcz_-IUr2Wfzx_JvrRoM"], 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://pinchflat.f (truncated) 13:10:20.869 [info] GET /.well-known/acme-challenge/WXFs_eIgnxmWgbkrONuIyR2ybyQgEYFDwZo088N-3YA 13:10:20.871 [debug] QUERY OK source="settings" db=0.7ms idle=941.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 [] 13:10:20.872 [debug] QUERY OK source="settings" db=0.5ms idle=490.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 [] 13:10:20.872 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:10:20.873 [error] #PID<0.3676.0> running PinchflatWeb.Endpoint (connection #PID<0.3675.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/WXFs_eIgnxmWgbkrONuIyR2ybyQgEYFDwZo088N-3YA ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/WXFs_eIgnxmWgbkrONuIyR2ybyQgEYFDwZo088N-3YA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/WXFs_eIgnxmWgbkrONuIyR2ybyQgEYFDwZo088N-3YA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33402}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/WXFs_eIgnxmWgbkrONuIyR2ybyQgEYFDwZo088N-3YA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.106", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3676.0>, params: %{}, path_info: [".well-known", "acme-challenge", "WXFs_eIgnxmWgbkrONuIyR2ybyQgEYFDwZo088N-3YA"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/WXFs_eIgnxmWgbkrONuIyR2ybyQgEYFDwZo088N-3YA"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.106"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/WXFs_eIgnxmWgbkrONuIyR2ybyQgEYFDwZo088N-3YA", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfV66vNYzXZkcAAKbC"} ], 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.3675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/WXFs_eIgnxmWgbkrONuIyR2ybyQgEYFDwZo088N-3YA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33402}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/WXFs_eIgnxmWgbkrONuIyR2ybyQgEYFDwZo088N-3YA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.106", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/WXFs_eIgnxmWgbkrONuIyR2ybyQgEYFDwZo088N-3YA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/WXFs_eIgnxmWgbkrONuIyR2ybyQgEYFDwZo088N-3YA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33402}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/WXFs_eIgnxmWgbkrONuIyR2ybyQgEYFDwZo088N-3YA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.106", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3676.0>, params: %{}, path_info: [".well-known", "acme-challenge", "WXFs_eIgnxmWgbkrONuIyR2ybyQgEYFDwZo088N-3YA"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWe (truncated) 13:10:21.153 [info] {"source":"oban","duration":2531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:24.268 [info] GET /sources/7/media/8441/force_download 13:10:24.269 [debug] QUERY OK source="settings" db=0.4ms idle=1887.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 [] 13:10:24.270 [debug] QUERY OK source="settings" db=0.5ms idle=1888.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 [] 13:10:24.270 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:10:24.270 [error] #PID<0.3677.0> running PinchflatWeb.Endpoint (connection #PID<0.3675.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /sources/7/media/8441/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/7/media/8441/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/8441/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33402}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "47.128.19.15", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3677.0>, params: %{}, path_info: ["sources", "7", "media", "8441", "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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"host", "pinchflat.suranyami.com"}, {"priority", "u=0, i"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "47.128.19.15"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/7/media/8441/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfWHlDIpVUtJ4AAKbi"} ], 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.3675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/8441/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33402}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "47.128.19.15", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/8441/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/8441/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33402}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; (truncated) 13:10:29.920 [info] GET /.well-known/acme-challenge/TEoXgxjIx1qlye-mBPfeIh5wPzHbKi_aDyfpMvRHPLM 13:10:29.922 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=1540.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 [] 13:10:29.923 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1541.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 [] 13:10:29.923 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:10:29.924 [error] #PID<0.3679.0> running PinchflatWeb.Endpoint (connection #PID<0.3678.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/TEoXgxjIx1qlye-mBPfeIh5wPzHbKi_aDyfpMvRHPLM ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/TEoXgxjIx1qlye-mBPfeIh5wPzHbKi_aDyfpMvRHPLM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3678.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/TEoXgxjIx1qlye-mBPfeIh5wPzHbKi_aDyfpMvRHPLM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 39158}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/TEoXgxjIx1qlye-mBPfeIh5wPzHbKi_aDyfpMvRHPLM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3679.0>, params: %{}, path_info: [".well-known", "acme-challenge", "TEoXgxjIx1qlye-mBPfeIh5wPzHbKi_aDyfpMvRHPLM"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/TEoXgxjIx1qlye-mBPfeIh5wPzHbKi_aDyfpMvRHPLM"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.210"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/TEoXgxjIx1qlye-mBPfeIh5wPzHbKi_aDyfpMvRHPLM", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfWcopQ-dXucUAAKcC"} ], 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.3678.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/TEoXgxjIx1qlye-mBPfeIh5wPzHbKi_aDyfpMvRHPLM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 39158}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/TEoXgxjIx1qlye-mBPfeIh5wPzHbKi_aDyfpMvRHPLM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/TEoXgxjIx1qlye-mBPfeIh5wPzHbKi_aDyfpMvRHPLM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3678.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/TEoXgxjIx1qlye-mBPfeIh5wPzHbKi_aDyfpMvRHPLM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 39158}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/TEoXgxjIx1qlye-mBPfeIh5wPzHbKi_aDyfpMvRHPLM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3679.0>, params: %{}, path_info: [".well-known", "acme-challenge", "TEoXgxjIx1qlye-mBPfeIh5wPzHbKi_aDyfpMvRHPLM"], 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://pinchflat.f (truncated) 13:10:32.172 [info] GET /.well-known/acme-challenge/E20-QYL0_DDEwjUr3Efg8aRMyPR18IoADC351A55VWU 13:10:32.173 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=791.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 [] 13:10:32.174 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=792.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 [] 13:10:32.174 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:10:32.175 [error] #PID<0.3680.0> running PinchflatWeb.Endpoint (connection #PID<0.3678.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/E20-QYL0_DDEwjUr3Efg8aRMyPR18IoADC351A55VWU ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/E20-QYL0_DDEwjUr3Efg8aRMyPR18IoADC351A55VWU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3678.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/E20-QYL0_DDEwjUr3Efg8aRMyPR18IoADC351A55VWU", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 39158}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/E20-QYL0_DDEwjUr3Efg8aRMyPR18IoADC351A55VWU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.211", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3680.0>, params: %{}, path_info: [".well-known", "acme-challenge", "E20-QYL0_DDEwjUr3Efg8aRMyPR18IoADC351A55VWU"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/E20-QYL0_DDEwjUr3Efg8aRMyPR18IoADC351A55VWU"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.211"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/E20-QYL0_DDEwjUr3Efg8aRMyPR18IoADC351A55VWU", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfWlBgs28toZ8AAKci"} ], 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.3678.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/E20-QYL0_DDEwjUr3Efg8aRMyPR18IoADC351A55VWU", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 39158}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/E20-QYL0_DDEwjUr3Efg8aRMyPR18IoADC351A55VWU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.211", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/E20-QYL0_DDEwjUr3Efg8aRMyPR18IoADC351A55VWU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3678.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/E20-QYL0_DDEwjUr3Efg8aRMyPR18IoADC351A55VWU", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 39158}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/E20-QYL0_DDEwjUr3Efg8aRMyPR18IoADC351A55VWU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.211", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3680.0>, params: %{}, path_info: [".well-known", "acme-challenge", "E20-QYL0_DDEwjUr3Efg8aRMyPR18IoADC351A55VWU"], 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://pinchflat.f (truncated) 13:10:32.737 [info] GET /.well-known/acme-challenge/8Wxp_V0HoHax42YVHUyrfP00obqypKVDJUgmJLTC6Dk 13:10:32.739 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1357.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 [] 13:10:32.740 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1358.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 [] 13:10:32.740 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:10:32.741 [error] #PID<0.3681.0> running PinchflatWeb.Endpoint (connection #PID<0.3678.0>, stream id 3) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/8Wxp_V0HoHax42YVHUyrfP00obqypKVDJUgmJLTC6Dk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/8Wxp_V0HoHax42YVHUyrfP00obqypKVDJUgmJLTC6Dk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3678.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/8Wxp_V0HoHax42YVHUyrfP00obqypKVDJUgmJLTC6Dk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 39158}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/8Wxp_V0HoHax42YVHUyrfP00obqypKVDJUgmJLTC6Dk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.106", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3681.0>, params: %{}, path_info: [".well-known", "acme-challenge", "8Wxp_V0HoHax42YVHUyrfP00obqypKVDJUgmJLTC6Dk"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/8Wxp_V0HoHax42YVHUyrfP00obqypKVDJUgmJLTC6Dk"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.106"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/8Wxp_V0HoHax42YVHUyrfP00obqypKVDJUgmJLTC6Dk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfWnITj5XC27QAAKdC"} ], 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.3678.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/8Wxp_V0HoHax42YVHUyrfP00obqypKVDJUgmJLTC6Dk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 39158}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/8Wxp_V0HoHax42YVHUyrfP00obqypKVDJUgmJLTC6Dk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.106", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/8Wxp_V0HoHax42YVHUyrfP00obqypKVDJUgmJLTC6Dk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3678.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/8Wxp_V0HoHax42YVHUyrfP00obqypKVDJUgmJLTC6Dk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 39158}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/8Wxp_V0HoHax42YVHUyrfP00obqypKVDJUgmJLTC6Dk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.106", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3681.0>, params: %{}, path_info: [".well-known", "acme-challenge", "8Wxp_V0HoHax42YVHUyrfP00obqypKVDJUgmJLTC6Dk"], 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://pinchflat.f (truncated) 13:10:39.256 [info] GET /.well-known/acme-challenge/_PoRdgmI0Gy0DxFEjLmC02bQlTfyTaDYd86cxPvMfkA 13:10:39.258 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1875.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 [] 13:10:39.259 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=1257.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 [] 13:10:39.260 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:10:39.260 [error] #PID<0.3685.0> running PinchflatWeb.Endpoint (connection #PID<0.3684.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/_PoRdgmI0Gy0DxFEjLmC02bQlTfyTaDYd86cxPvMfkA ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/_PoRdgmI0Gy0DxFEjLmC02bQlTfyTaDYd86cxPvMfkA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3684.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/_PoRdgmI0Gy0DxFEjLmC02bQlTfyTaDYd86cxPvMfkA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 56322}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/_PoRdgmI0Gy0DxFEjLmC02bQlTfyTaDYd86cxPvMfkA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3685.0>, params: %{}, path_info: [".well-known", "acme-challenge", "_PoRdgmI0Gy0DxFEjLmC02bQlTfyTaDYd86cxPvMfkA"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/_PoRdgmI0Gy0DxFEjLmC02bQlTfyTaDYd86cxPvMfkA"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.107"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/_PoRdgmI0Gy0DxFEjLmC02bQlTfyTaDYd86cxPvMfkA", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfW_ahmeD0tZoAAFND"} ], 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.3684.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/_PoRdgmI0Gy0DxFEjLmC02bQlTfyTaDYd86cxPvMfkA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 56322}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/_PoRdgmI0Gy0DxFEjLmC02bQlTfyTaDYd86cxPvMfkA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/_PoRdgmI0Gy0DxFEjLmC02bQlTfyTaDYd86cxPvMfkA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3684.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/_PoRdgmI0Gy0DxFEjLmC02bQlTfyTaDYd86cxPvMfkA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 56322}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/_PoRdgmI0Gy0DxFEjLmC02bQlTfyTaDYd86cxPvMfkA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3685.0>, params: %{}, path_info: [".well-known", "acme-challenge", "_PoRdgmI0Gy0DxFEjLmC02bQlTfyTaDYd86cxPvMfkA"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWe (truncated) 13:10:41.026 [info] GET /.well-known/acme-challenge/FQQmNvmeayjnCe3F-OdcT1yFjIbHEgo8l3QJc-aF1BI 13:10:41.028 [debug] QUERY OK source="settings" db=1.3ms queue=0.2ms idle=645.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 [] 13:10:41.030 [debug] QUERY OK source="settings" db=1.5ms queue=0.2ms idle=647.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 [] 13:10:41.031 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:10:41.032 [error] #PID<0.3686.0> running PinchflatWeb.Endpoint (connection #PID<0.3684.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/FQQmNvmeayjnCe3F-OdcT1yFjIbHEgo8l3QJc-aF1BI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/FQQmNvmeayjnCe3F-OdcT1yFjIbHEgo8l3QJc-aF1BI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3684.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/FQQmNvmeayjnCe3F-OdcT1yFjIbHEgo8l3QJc-aF1BI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 56322}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/FQQmNvmeayjnCe3F-OdcT1yFjIbHEgo8l3QJc-aF1BI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3686.0>, params: %{}, path_info: [".well-known", "acme-challenge", "FQQmNvmeayjnCe3F-OdcT1yFjIbHEgo8l3QJc-aF1BI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/FQQmNvmeayjnCe3F-OdcT1yFjIbHEgo8l3QJc-aF1BI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.210"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/FQQmNvmeayjnCe3F-OdcT1yFjIbHEgo8l3QJc-aF1BI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfXGAYgBnOb9sAAKeC"} ], 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.3684.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/FQQmNvmeayjnCe3F-OdcT1yFjIbHEgo8l3QJc-aF1BI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 56322}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/FQQmNvmeayjnCe3F-OdcT1yFjIbHEgo8l3QJc-aF1BI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/FQQmNvmeayjnCe3F-OdcT1yFjIbHEgo8l3QJc-aF1BI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3684.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/FQQmNvmeayjnCe3F-OdcT1yFjIbHEgo8l3QJc-aF1BI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 56322}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/FQQmNvmeayjnCe3F-OdcT1yFjIbHEgo8l3QJc-aF1BI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3686.0>, params: %{}, path_info: [".well-known", "acme-challenge", "FQQmNvmeayjnCe3F-OdcT1yFjIbHEgo8l3QJc-aF1BI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWe (truncated) 13:10:51.157 [info] {"source":"oban","duration":3171,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:51.264 [info] GET /.well-known/acme-challenge/b0_OS14xqetSI5jZ_1j32ahH02yTP2rJvx3cOqtBPlA 13:10:51.266 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=884.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 [] 13:10:51.267 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=885.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 [] 13:10:51.267 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:10:51.268 [error] #PID<0.3688.0> running PinchflatWeb.Endpoint (connection #PID<0.3687.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/b0_OS14xqetSI5jZ_1j32ahH02yTP2rJvx3cOqtBPlA ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/b0_OS14xqetSI5jZ_1j32ahH02yTP2rJvx3cOqtBPlA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3687.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/b0_OS14xqetSI5jZ_1j32ahH02yTP2rJvx3cOqtBPlA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 46080}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/b0_OS14xqetSI5jZ_1j32ahH02yTP2rJvx3cOqtBPlA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.219", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3688.0>, params: %{}, path_info: [".well-known", "acme-challenge", "b0_OS14xqetSI5jZ_1j32ahH02yTP2rJvx3cOqtBPlA"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/b0_OS14xqetSI5jZ_1j32ahH02yTP2rJvx3cOqtBPlA"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.219"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/b0_OS14xqetSI5jZ_1j32ahH02yTP2rJvx3cOqtBPlA", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfXsJd9pt_dAQAAG2B"} ], 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.3687.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/b0_OS14xqetSI5jZ_1j32ahH02yTP2rJvx3cOqtBPlA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 46080}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/b0_OS14xqetSI5jZ_1j32ahH02yTP2rJvx3cOqtBPlA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.219", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/b0_OS14xqetSI5jZ_1j32ahH02yTP2rJvx3cOqtBPlA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3687.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/b0_OS14xqetSI5jZ_1j32ahH02yTP2rJvx3cOqtBPlA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 46080}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/b0_OS14xqetSI5jZ_1j32ahH02yTP2rJvx3cOqtBPlA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.219", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3688.0>, params: %{}, path_info: [".well-known", "acme-challenge", "b0_OS14xqetSI5jZ_1j32ahH02yTP2rJvx3cOqtBPlA"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWe (truncated) 13:10:57.088 [info] {"args":{"id":2},"id":1689,"meta":{},"system_time":1774663857088409873,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:10:57.099 [debug] QUERY OK source="sources" db=10.0ms queue=0.1ms idle=708.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" = ?) [2] 13:10:57.113 [debug] QUERY OK source="settings" db=13.0ms queue=0.1ms idle=718.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 [] 13:10:57.114 [debug] QUERY OK source="media_profiles" db=0.5ms idle=732.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] 13:10:57.122 [debug] QUERY OK source="settings" db=7.1ms idle=36.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 [] 13:10:57.122 [debug] Fetching recent media IDs from YouTube API for playlist: UUjzi56cxvmEDwjo1Bd2Yxpg 13:10:57.122 [debug] QUERY OK source="settings" db=0.2ms idle=34.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 [] 13:10:57.122 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:10:59.809 [debug] QUERY OK source="media_items" db=3.1ms idle=1425.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "CzjE_CAAdm8", "Hw2_s31u_4Q", "b4x9IzQtiA0", "16aM5Bop7Qw", "3hBk9xqT9hs", "xDa45wnAzc8", "Yq41acIvzj8", "Ttn_Q1B2ALc", "-bV0F6OP31U", "qAstyiKRt10", "NF2StvrYme0", "_Q-2UzYr3AA", "FeEEy3jZvlM", "EHaNwda0xto", "KL0u63mAy5M", "fzklfnO42ts", "oZ4kddHCFVY", "spSOp5s_6_A", "C48yl9fSYv8", "654RgtNwXZ8", "4wu_B_XF6wk", "wFLJxWyDJPs", "J5NKnYfn6qw", "fcVRuF6c-bc", "xNAFpSnpqjs", "cavmWZnCeJI", "_J0gQ5GdUSk", "_oISg668F40", "v34wa9QhF0s", "iEen_cClzkg", "CD9wUM2v-0U", "E8k9oqjl5_E", "lQDUMfg_SJc", "pPMD0YPBHQ4", "qq1IN4umTI8", "L63goFhe8KM", "5OXvwQ3CB1I", "doZvHBPoVCw", "9SXMTDO4lIo", "8JmSUN8jp3Q", "7oSgaaUEjZM", "sKSPwnFSRCw", "gdY_Q9ltw8w", "uHbviTslBFY", "gMzXgYFT4Ck", "NdsMuD-_5To", "9JXltNRqLu4", "7ThBvLBMacw", "7BTWa3jFBMw", ...] 13:10:59.891 [debug] QUERY OK source="media_items" db=79.6ms idle=1430.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 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] 13:10:59.898 [debug] QUERY OK source="tasks" db=0.4ms idle=87.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1695, 2, ~U[2026-03-28 02:10:59Z], ~U[2026-03-28 02:10:59Z]] 13:10:59.912 [info] {"args":{"id":2},"id":1689,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":2809951,"event":"job:stop","queue_time":615539,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:11:00.772 [info] {"source":"oban","duration":948,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:11:03.105 [info] {"args":{"id":4},"id":1690,"meta":{},"system_time":1774663863105667306,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:11:03.107 [debug] QUERY OK source="sources" db=0.9ms idle=1724.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" = ?) [4] 13:11:03.107 [debug] QUERY OK source="settings" db=0.5ms idle=1013.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 [] 13:11:03.108 [debug] QUERY OK source="media_profiles" db=0.4ms idle=727.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] 13:11:03.109 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:11:03.109 [debug] Fetching recent media IDs from YouTube API for playlist: UUEiui9T4ZYx8K8nuZ5YFSTw 13:11:03.110 [debug] QUERY OK source="settings" db=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 [] 13:11:03.110 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:11:03.618 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=V5-VoHCMb0c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/16/36/1636d58585cfda37f8616ddcfb5e47f85c4ea2476b83fd1500bb11cfcee447fa.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:11:03.642 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=532.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [4, "gthI7e6zPWo", "psRX1C7auj8", "2ZtSRjGhStw", "Z8KiNkDP9c4", "AZibPvCnG4k", "QXNPI7Ucivo", "WtxCD4567G4", "80bkfWoOHaE", "pYBAEGrhggM", "9M3wLySdGXY", "mcvbD_Ipbf8", "E_Y7kLO3Iaw", "gPdh5lVJYD0", "qrkTK1UcvSM", "45UcuOLjxeY", "gnbhO9hJ198", "fiFzXo1wNno", "TM5mKkwC0Ok", "kS2A72peqmg", "ueDcEpRFW_M", "AN4-pHYBK2M", "TMNa6ocIv8o", "S1Vt1tQJczE", "_BEmUjtwhLw", "1bxoWiQ2AQY", "CZeRfNeKEBE", "2nftRe3tjLQ", "v1biAguVbg8", "cLDsQImoeHQ", "hhH7mchDBXY", "uQj2W5ej104", "vYRV_nprXBA", "1v_qsQL3mo8", "hfHxFTbVaTo", "mfWqziOaR4A", "AmCWMmKgHkI", "ZWgq-s8r2FE", "1dAkTDsD1c4", "ozdDp_eMPZY", "iHogtXxywLQ", "7ysd04ltGag", "5jq8kH9s0V8", "AB6bC9gtfoc", "R7Tm3zvyy9U", "dUHzocz0hLo", "9Oh6oVrf7kM", "LzUhByZ4jtc", "j7evpR_Fbsw", "_iGhJt3ah8E", ...] 13:11:03.652 [debug] QUERY OK source="media_items" db=5.6ms queue=0.1ms idle=538.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 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] 13:11:03.713 [debug] Running yt-dlp command for action: download_thumbnail 13:11:03.715 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:11:03.716 [debug] QUERY OK source="settings" db=0.6ms 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 [] 13:11:03.716 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:11:03.717 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=V5-VoHCMb0c --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3595/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/78/7f/787f47bf8286d9e62b74c69e5176648618169753ac15f6923b43579456969262.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:11:03.948 [debug] QUERY OK source="tasks" db=0.4ms idle=7.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1696, 4, ~U[2026-03-28 02:11:03Z], ~U[2026-03-28 02:11:03Z]] 13:11:03.949 [info] {"args":{"id":4},"id":1690,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":842536,"event":"job:stop","queue_time":352057,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:11:05.537 [info] GET / 13:11:05.537 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:11:05.538 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=430.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 [] 13:11:05.539 [debug] QUERY OK source="media_profiles" db=0.3ms idle=157.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:11:05.540 [debug] QUERY OK source="sources" db=0.2ms idle=158.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:11:05.578 [debug] QUERY OK source="media_items" db=38.7ms idle=158.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:11:05.583 [debug] QUERY OK source="media_items" db=4.2ms idle=197.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:11:05.584 [debug] QUERY OK source="settings" db=0.7ms idle=45.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 [] 13:11:05.585 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:11:05.586 [debug] QUERY OK source="settings" db=0.1ms idle=46.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 [] 13:11:05.595 [debug] QUERY OK source="media_items" db=8.5ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 13:11:05.598 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=12.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:11:05.599 [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" IN (?,?)) [2, 6] 13:11:05.654 [debug] QUERY OK source="media_items" db=52.6ms idle=16.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 (((((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"))) [] 13:11:05.721 [debug] QUERY OK source="media_items" db=66.1ms idle=68.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:11:05.722 [debug] QUERY OK source="sources" db=0.3ms idle=125.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] 13:11:05.724 [debug] QUERY OK source="tasks" db=0.5ms idle=125.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:11:05.725 [debug] QUERY OK source="media_items" db=0.3ms idle=125.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3595, 3598] 13:11:05.728 [info] Sent 200 in 190ms 13:11:07.001 [info] GET /.well-known/acme-challenge/z49Vv-G2To5EvXCTDvINN2bFLrNGArOJWpkj0n4jqLE 13:11:07.003 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=1281.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 [] 13:11:07.004 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1281.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 [] 13:11:07.005 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:11:07.006 [error] #PID<0.3698.0> running PinchflatWeb.Endpoint (connection #PID<0.3697.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/z49Vv-G2To5EvXCTDvINN2bFLrNGArOJWpkj0n4jqLE ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/z49Vv-G2To5EvXCTDvINN2bFLrNGArOJWpkj0n4jqLE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3697.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/z49Vv-G2To5EvXCTDvINN2bFLrNGArOJWpkj0n4jqLE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 48958}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/z49Vv-G2To5EvXCTDvINN2bFLrNGArOJWpkj0n4jqLE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3698.0>, params: %{}, path_info: [".well-known", "acme-challenge", "z49Vv-G2To5EvXCTDvINN2bFLrNGArOJWpkj0n4jqLE"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/z49Vv-G2To5EvXCTDvINN2bFLrNGArOJWpkj0n4jqLE"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/z49Vv-G2To5EvXCTDvINN2bFLrNGArOJWpkj0n4jqLE", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfYmxQBQwwuwgAAK9C"} ], 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.3697.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/z49Vv-G2To5EvXCTDvINN2bFLrNGArOJWpkj0n4jqLE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 48958}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/z49Vv-G2To5EvXCTDvINN2bFLrNGArOJWpkj0n4jqLE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/z49Vv-G2To5EvXCTDvINN2bFLrNGArOJWpkj0n4jqLE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3697.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/z49Vv-G2To5EvXCTDvINN2bFLrNGArOJWpkj0n4jqLE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 48958}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/z49Vv-G2To5EvXCTDvINN2bFLrNGArOJWpkj0n4jqLE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3698.0>, params: %{}, path_info: [".well-known", "acme-challenge", "z49Vv-G2To5EvXCTDvINN2bFLrNGArOJWpkj0n4jqLE"], 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://pinchflat.f2fv7 (truncated) 13:11:08.700 [info] GET /.well-known/acme-challenge/KIA_bl1E4QtREf5kDtg9Qjou1RGIuIlWrYA5oOa8040 13:11:08.703 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=1320.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 [] 13:11:08.704 [debug] QUERY OK source="settings" db=0.6ms idle=1322.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 [] 13:11:08.704 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:11:08.705 [error] #PID<0.3699.0> running PinchflatWeb.Endpoint (connection #PID<0.3695.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/KIA_bl1E4QtREf5kDtg9Qjou1RGIuIlWrYA5oOa8040 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/KIA_bl1E4QtREf5kDtg9Qjou1RGIuIlWrYA5oOa8040 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3695.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/KIA_bl1E4QtREf5kDtg9Qjou1RGIuIlWrYA5oOa8040", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48956}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/KIA_bl1E4QtREf5kDtg9Qjou1RGIuIlWrYA5oOa8040", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3699.0>, params: %{}, path_info: [".well-known", "acme-challenge", "KIA_bl1E4QtREf5kDtg9Qjou1RGIuIlWrYA5oOa8040"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/KIA_bl1E4QtREf5kDtg9Qjou1RGIuIlWrYA5oOa8040"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/KIA_bl1E4QtREf5kDtg9Qjou1RGIuIlWrYA5oOa8040", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfYtGfeuiiMqIAAK9i"} ], 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.3695.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/KIA_bl1E4QtREf5kDtg9Qjou1RGIuIlWrYA5oOa8040", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48956}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/KIA_bl1E4QtREf5kDtg9Qjou1RGIuIlWrYA5oOa8040", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/KIA_bl1E4QtREf5kDtg9Qjou1RGIuIlWrYA5oOa8040 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3695.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/KIA_bl1E4QtREf5kDtg9Qjou1RGIuIlWrYA5oOa8040", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48956}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/KIA_bl1E4QtREf5kDtg9Qjou1RGIuIlWrYA5oOa8040", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3699.0>, params: %{}, path_info: [".well-known", "acme-challenge", "KIA_bl1E4QtREf5kDtg9Qjou1RGIuIlWrYA5oOa8040"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:11:10.857 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=V5-VoHCMb0c --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3595/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/78/7f/787f47bf8286d9e62b74c69e5176648618169753ac15f6923b43579456969262.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:11:10.859 [debug] QUERY OK db=0.1ms queue=0.1ms idle=735.8ms begin [] 13:11:10.863 [debug] QUERY OK source="media_items" db=3.5ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 02:11:03Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e100799 - Clear Ice Cubes In a Small Freezer - Is it possible?.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e100799 - Clear Ice Cubes In a Small Freezer - Is it possible?.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e100799 - Clear Ice Cubes In a Small Freezer - Is it possible?.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e100799 - Clear Ice Cubes In a Small Freezer - Is it possible?.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e100799 - Clear Ice Cubes In a Small Freezer - Is it possible?.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e100799 - Clear Ice Cubes In a Small Freezer - Is it possible?-thumb.jpg", ~U[2026-03-28 02:11:10Z], 3595] 13:11:10.865 [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/3595/metadata.json.gz", "/config/metadata/media_items/3595/thumbnail.jpg", 3595, ~U[2026-03-28 02:11:10Z], ~U[2026-03-28 02:11:10Z]] 13:11:10.866 [debug] QUERY OK db=0.6ms commit [] 13:11:10.887 [debug] QUERY OK source="media_items" db=16.8ms idle=489.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [62559675, ~U[2026-03-28 02:11:10Z], 3595] 13:11:10.887 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:11:10.904 [info] {"args":{"id":3595},"id":643,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":135453889,"event":"job:stop","queue_time":79058433075,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:11:10.932 [info] {"args":{"id":3601},"id":645,"meta":{},"system_time":1774663870931887359,"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"]} 13:11:10.933 [debug] QUERY OK source="media_items" db=0.6ms idle=551.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" = ?) [3601] 13:11:10.933 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:11:10.935 [debug] QUERY OK source="sources" db=1.7ms idle=67.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" = ?) [4] 13:11:10.936 [debug] QUERY OK source="media_profiles" db=0.7ms idle=48.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] 13:11:10.938 [debug] QUERY OK source="media_items" db=1.0ms idle=32.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 [3601] 13:11:10.941 [debug] QUERY OK source="media_metadata" db=0.3ms 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" = ?) [3601] 13:11:10.941 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 13:11:10.943 [debug] QUERY OK source="settings" db=0.3ms idle=6.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 [] 13:11:10.943 [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 [] 13:11:10.944 [debug] Running yt-dlp command for action: get_downloadable_status 13:11:10.946 [debug] QUERY OK source="settings" db=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 [] 13:11:10.946 [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 [] 13:11:10.946 [debug] QUERY OK source="settings" db=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 [] 13:11:10.947 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=X-EWWtCsBtM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b9/3e/b93e72b7ccbbcd5098635db61bdf71a309c69674bb3b4e6f8ce335897f87b7f5.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:11:18.072 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=X-EWWtCsBtM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b9/3e/b93e72b7ccbbcd5098635db61bdf71a309c69674bb3b4e6f8ce335897f87b7f5.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:11:18.073 [debug] Running yt-dlp command for action: download 13:11:18.075 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=1692.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 [] 13:11:18.076 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 13:11:18.077 [debug] QUERY OK source="settings" db=0.5ms idle=1695.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 [] 13:11:18.077 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=X-EWWtCsBtM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/be/ab/beabddbb88819cd2718d7a5678359933e99d697d59cb1fc9ef109a67ebe1544a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:11:21.159 [info] {"source":"oban","duration":1017,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:23.922 [info] GET /.well-known/acme-challenge/TX9UEDuPDKzRKKF0sxN5F-CauOLY9FxU5d7JEzsZoDw 13:11:23.924 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1542.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 [] 13:11:23.924 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1543.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 [] 13:11:23.925 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:11:23.926 [error] #PID<0.3707.0> running PinchflatWeb.Endpoint (connection #PID<0.3706.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/TX9UEDuPDKzRKKF0sxN5F-CauOLY9FxU5d7JEzsZoDw ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/TX9UEDuPDKzRKKF0sxN5F-CauOLY9FxU5d7JEzsZoDw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3706.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/TX9UEDuPDKzRKKF0sxN5F-CauOLY9FxU5d7JEzsZoDw", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 58648}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/TX9UEDuPDKzRKKF0sxN5F-CauOLY9FxU5d7JEzsZoDw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3707.0>, params: %{}, path_info: [".well-known", "acme-challenge", "TX9UEDuPDKzRKKF0sxN5F-CauOLY9FxU5d7JEzsZoDw"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/TX9UEDuPDKzRKKF0sxN5F-CauOLY9FxU5d7JEzsZoDw"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/TX9UEDuPDKzRKKF0sxN5F-CauOLY9FxU5d7JEzsZoDw", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfZlzmeZN6z14AAK-C"} ], 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.3706.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/TX9UEDuPDKzRKKF0sxN5F-CauOLY9FxU5d7JEzsZoDw", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 58648}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/TX9UEDuPDKzRKKF0sxN5F-CauOLY9FxU5d7JEzsZoDw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/TX9UEDuPDKzRKKF0sxN5F-CauOLY9FxU5d7JEzsZoDw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3706.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/TX9UEDuPDKzRKKF0sxN5F-CauOLY9FxU5d7JEzsZoDw", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 58648}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/TX9UEDuPDKzRKKF0sxN5F-CauOLY9FxU5d7JEzsZoDw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3707.0>, params: %{}, path_info: [".well-known", "acme-challenge", "TX9UEDuPDKzRKKF0sxN5F-CauOLY9FxU5d7JEzsZoDw"], 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://pinchflat.f2fv7 (truncated) 13:11:25.203 [info] GET /.well-known/acme-challenge/Ju-WN5cAbDjRfA0bpQ-FIEe5Zpu7Laq-pRpeNO99sIY 13:11:25.204 [debug] QUERY OK source="settings" db=0.5ms idle=1822.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 [] 13:11:25.204 [debug] QUERY OK source="settings" db=0.2ms idle=1280.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 [] 13:11:25.205 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:11:25.205 [error] #PID<0.3709.0> running PinchflatWeb.Endpoint (connection #PID<0.3708.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/Ju-WN5cAbDjRfA0bpQ-FIEe5Zpu7Laq-pRpeNO99sIY ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Ju-WN5cAbDjRfA0bpQ-FIEe5Zpu7Laq-pRpeNO99sIY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3708.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Ju-WN5cAbDjRfA0bpQ-FIEe5Zpu7Laq-pRpeNO99sIY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37378}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Ju-WN5cAbDjRfA0bpQ-FIEe5Zpu7Laq-pRpeNO99sIY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3709.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Ju-WN5cAbDjRfA0bpQ-FIEe5Zpu7Laq-pRpeNO99sIY"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/Ju-WN5cAbDjRfA0bpQ-FIEe5Zpu7Laq-pRpeNO99sIY"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/Ju-WN5cAbDjRfA0bpQ-FIEe5Zpu7Laq-pRpeNO99sIY", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfZqlDRlyspd0AAHSh"} ], 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.3708.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Ju-WN5cAbDjRfA0bpQ-FIEe5Zpu7Laq-pRpeNO99sIY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37378}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Ju-WN5cAbDjRfA0bpQ-FIEe5Zpu7Laq-pRpeNO99sIY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Ju-WN5cAbDjRfA0bpQ-FIEe5Zpu7Laq-pRpeNO99sIY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3708.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Ju-WN5cAbDjRfA0bpQ-FIEe5Zpu7Laq-pRpeNO99sIY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37378}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Ju-WN5cAbDjRfA0bpQ-FIEe5Zpu7Laq-pRpeNO99sIY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3709.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Ju-WN5cAbDjRfA0bpQ-FIEe5Zpu7Laq-pRpeNO99sIY"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:11:35.072 [info] GET /.well-known/acme-challenge/whs9XkLsGiA8MCsBByURZn1bUM2LUHHkIkkxR7D95ow 13:11:35.073 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1691.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 [] 13:11:35.074 [debug] QUERY OK source="settings" db=0.3ms idle=1692.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 [] 13:11:35.074 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:11:35.075 [error] #PID<0.3711.0> running PinchflatWeb.Endpoint (connection #PID<0.3710.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/whs9XkLsGiA8MCsBByURZn1bUM2LUHHkIkkxR7D95ow ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/whs9XkLsGiA8MCsBByURZn1bUM2LUHHkIkkxR7D95ow (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3710.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/whs9XkLsGiA8MCsBByURZn1bUM2LUHHkIkkxR7D95ow", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49252}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/whs9XkLsGiA8MCsBByURZn1bUM2LUHHkIkkxR7D95ow", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3711.0>, params: %{}, path_info: [".well-known", "acme-challenge", "whs9XkLsGiA8MCsBByURZn1bUM2LUHHkIkkxR7D95ow"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/whs9XkLsGiA8MCsBByURZn1bUM2LUHHkIkkxR7D95ow"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/whs9XkLsGiA8MCsBByURZn1bUM2LUHHkIkkxR7D95ow", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfaPWAzwAwN70AAHTB"} ], 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.3710.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/whs9XkLsGiA8MCsBByURZn1bUM2LUHHkIkkxR7D95ow", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49252}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/whs9XkLsGiA8MCsBByURZn1bUM2LUHHkIkkxR7D95ow", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/whs9XkLsGiA8MCsBByURZn1bUM2LUHHkIkkxR7D95ow (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3710.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/whs9XkLsGiA8MCsBByURZn1bUM2LUHHkIkkxR7D95ow", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49252}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/whs9XkLsGiA8MCsBByURZn1bUM2LUHHkIkkxR7D95ow", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3711.0>, params: %{}, path_info: [".well-known", "acme-challenge", "whs9XkLsGiA8MCsBByURZn1bUM2LUHHkIkkxR7D95ow"], 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://pinchflat.f2fv7 (truncated) 13:11:37.138 [info] GET /.well-known/acme-challenge/d9T0yjzqW3a1CxImXLE79MnZj-w5trQj4rR31fc43Uw 13:11:37.138 [debug] QUERY OK source="settings" db=0.5ms idle=944.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 [] 13:11:37.139 [debug] QUERY OK source="settings" db=0.3ms idle=757.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 [] 13:11:37.139 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:11:37.140 [error] #PID<0.3712.0> running PinchflatWeb.Endpoint (connection #PID<0.3710.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/d9T0yjzqW3a1CxImXLE79MnZj-w5trQj4rR31fc43Uw ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/d9T0yjzqW3a1CxImXLE79MnZj-w5trQj4rR31fc43Uw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3710.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/d9T0yjzqW3a1CxImXLE79MnZj-w5trQj4rR31fc43Uw", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49252}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/d9T0yjzqW3a1CxImXLE79MnZj-w5trQj4rR31fc43Uw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3712.0>, params: %{}, path_info: [".well-known", "acme-challenge", "d9T0yjzqW3a1CxImXLE79MnZj-w5trQj4rR31fc43Uw"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/d9T0yjzqW3a1CxImXLE79MnZj-w5trQj4rR31fc43Uw"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/d9T0yjzqW3a1CxImXLE79MnZj-w5trQj4rR31fc43Uw", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfaXCfTda8jOYAAK-i"} ], 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.3710.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/d9T0yjzqW3a1CxImXLE79MnZj-w5trQj4rR31fc43Uw", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49252}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/d9T0yjzqW3a1CxImXLE79MnZj-w5trQj4rR31fc43Uw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/d9T0yjzqW3a1CxImXLE79MnZj-w5trQj4rR31fc43Uw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3710.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/d9T0yjzqW3a1CxImXLE79MnZj-w5trQj4rR31fc43Uw", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49252}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/d9T0yjzqW3a1CxImXLE79MnZj-w5trQj4rR31fc43Uw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3712.0>, params: %{}, path_info: [".well-known", "acme-challenge", "d9T0yjzqW3a1CxImXLE79MnZj-w5trQj4rR31fc43Uw"], 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://pinchflat.f2fv7 (truncated) 13:11:37.198 [info] GET /.well-known/acme-challenge/pRW93Q2G0gWRgI9MebgN6VKhOUzE9D4ASI549GFfGOM 13:11:37.198 [debug] QUERY OK source="settings" db=0.4ms 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 [] 13:11:37.199 [debug] QUERY OK source="settings" db=0.5ms idle=817.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 [] 13:11:37.199 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:11:37.200 [error] #PID<0.3713.0> running PinchflatWeb.Endpoint (connection #PID<0.3710.0>, stream id 3) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/pRW93Q2G0gWRgI9MebgN6VKhOUzE9D4ASI549GFfGOM ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/pRW93Q2G0gWRgI9MebgN6VKhOUzE9D4ASI549GFfGOM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3710.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/pRW93Q2G0gWRgI9MebgN6VKhOUzE9D4ASI549GFfGOM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49252}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/pRW93Q2G0gWRgI9MebgN6VKhOUzE9D4ASI549GFfGOM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3713.0>, params: %{}, path_info: [".well-known", "acme-challenge", "pRW93Q2G0gWRgI9MebgN6VKhOUzE9D4ASI549GFfGOM"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/pRW93Q2G0gWRgI9MebgN6VKhOUzE9D4ASI549GFfGOM"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/pRW93Q2G0gWRgI9MebgN6VKhOUzE9D4ASI549GFfGOM", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfaXQzZr4H7rUAAK_C"} ], 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.3710.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/pRW93Q2G0gWRgI9MebgN6VKhOUzE9D4ASI549GFfGOM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49252}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/pRW93Q2G0gWRgI9MebgN6VKhOUzE9D4ASI549GFfGOM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/pRW93Q2G0gWRgI9MebgN6VKhOUzE9D4ASI549GFfGOM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3710.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/pRW93Q2G0gWRgI9MebgN6VKhOUzE9D4ASI549GFfGOM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49252}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/pRW93Q2G0gWRgI9MebgN6VKhOUzE9D4ASI549GFfGOM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3713.0>, params: %{}, path_info: [".well-known", "acme-challenge", "pRW93Q2G0gWRgI9MebgN6VKhOUzE9D4ASI549GFfGOM"], 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://pinchflat.f2fv7 (truncated) 13:11:43.634 [info] GET /.well-known/acme-challenge/o_JblJ6n87R8iBTByimHCZV-uaBnvcFeh6Kpq2Z07yM 13:11:43.635 [debug] QUERY OK source="settings" db=0.5ms idle=1251.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 [] 13:11:43.636 [debug] QUERY OK source="settings" db=0.3ms idle=1252.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 [] 13:11:43.636 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:11:43.637 [error] #PID<0.3717.0> running PinchflatWeb.Endpoint (connection #PID<0.3716.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/o_JblJ6n87R8iBTByimHCZV-uaBnvcFeh6Kpq2Z07yM ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/o_JblJ6n87R8iBTByimHCZV-uaBnvcFeh6Kpq2Z07yM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3716.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/o_JblJ6n87R8iBTByimHCZV-uaBnvcFeh6Kpq2Z07yM", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 49266}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/o_JblJ6n87R8iBTByimHCZV-uaBnvcFeh6Kpq2Z07yM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3717.0>, params: %{}, path_info: [".well-known", "acme-challenge", "o_JblJ6n87R8iBTByimHCZV-uaBnvcFeh6Kpq2Z07yM"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/o_JblJ6n87R8iBTByimHCZV-uaBnvcFeh6Kpq2Z07yM"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/o_JblJ6n87R8iBTByimHCZV-uaBnvcFeh6Kpq2Z07yM", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfavPeKNZvvosAALAC"} ], 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.3716.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/o_JblJ6n87R8iBTByimHCZV-uaBnvcFeh6Kpq2Z07yM", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 49266}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/o_JblJ6n87R8iBTByimHCZV-uaBnvcFeh6Kpq2Z07yM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/o_JblJ6n87R8iBTByimHCZV-uaBnvcFeh6Kpq2Z07yM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3716.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/o_JblJ6n87R8iBTByimHCZV-uaBnvcFeh6Kpq2Z07yM", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 49266}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/o_JblJ6n87R8iBTByimHCZV-uaBnvcFeh6Kpq2Z07yM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3717.0>, params: %{}, path_info: [".well-known", "acme-challenge", "o_JblJ6n87R8iBTByimHCZV-uaBnvcFeh6Kpq2Z07yM"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:11:45.670 [info] GET /.well-known/acme-challenge/g_Mwfmp6wP5ZmVaaOpNHLX0y619fia4h1Zo41BemjWI 13:11:45.671 [debug] QUERY OK source="settings" db=0.2ms idle=1287.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 [] 13:11:45.671 [debug] QUERY OK source="settings" db=0.2ms idle=1288.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 [] 13:11:45.671 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:11:45.672 [error] #PID<0.3718.0> running PinchflatWeb.Endpoint (connection #PID<0.3716.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/g_Mwfmp6wP5ZmVaaOpNHLX0y619fia4h1Zo41BemjWI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/g_Mwfmp6wP5ZmVaaOpNHLX0y619fia4h1Zo41BemjWI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3716.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/g_Mwfmp6wP5ZmVaaOpNHLX0y619fia4h1Zo41BemjWI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 49266}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/g_Mwfmp6wP5ZmVaaOpNHLX0y619fia4h1Zo41BemjWI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3718.0>, params: %{}, path_info: [".well-known", "acme-challenge", "g_Mwfmp6wP5ZmVaaOpNHLX0y619fia4h1Zo41BemjWI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/g_Mwfmp6wP5ZmVaaOpNHLX0y619fia4h1Zo41BemjWI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/g_Mwfmp6wP5ZmVaaOpNHLX0y619fia4h1Zo41BemjWI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfa201N-3SbLkAALAi"} ], 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.3716.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/g_Mwfmp6wP5ZmVaaOpNHLX0y619fia4h1Zo41BemjWI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 49266}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/g_Mwfmp6wP5ZmVaaOpNHLX0y619fia4h1Zo41BemjWI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/g_Mwfmp6wP5ZmVaaOpNHLX0y619fia4h1Zo41BemjWI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3716.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/g_Mwfmp6wP5ZmVaaOpNHLX0y619fia4h1Zo41BemjWI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 49266}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/g_Mwfmp6wP5ZmVaaOpNHLX0y619fia4h1Zo41BemjWI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3718.0>, params: %{}, path_info: [".well-known", "acme-challenge", "g_Mwfmp6wP5ZmVaaOpNHLX0y619fia4h1Zo41BemjWI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:11:51.161 [info] {"source":"oban","duration":1663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:52.928 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=qwIdky4UfnE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/47/bb/47bbcb01849be0ebc191b6932cad33f6d902a0a56798d416d4131714bcfd26d0.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:11:52.961 [debug] Running yt-dlp command for action: download_thumbnail 13:11:52.963 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1579.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 [] 13:11:52.963 [debug] QUERY OK source="settings" db=0.3ms idle=1580.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 [] 13:11:52.964 [debug] QUERY OK source="settings" db=0.2ms idle=1580.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 [] 13:11:52.964 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=qwIdky4UfnE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3598/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/92/b5/92b5ed07a4b721559c2e1e89116fd3fc8c62f1be7c234481383851a5ec10e28c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:11:55.525 [info] GET /.well-known/acme-challenge/IP6vPlU1KvL4bTT6siiQ-GW0B8xxBRPvrkucIyFFq5g 13:11:55.526 [debug] QUERY OK source="settings" db=0.6ms idle=1142.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 [] 13:11:55.527 [debug] QUERY OK source="settings" db=0.7ms idle=1143.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 [] 13:11:55.528 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:11:55.528 [error] #PID<0.3724.0> running PinchflatWeb.Endpoint (connection #PID<0.3723.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/IP6vPlU1KvL4bTT6siiQ-GW0B8xxBRPvrkucIyFFq5g ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/IP6vPlU1KvL4bTT6siiQ-GW0B8xxBRPvrkucIyFFq5g (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3723.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/IP6vPlU1KvL4bTT6siiQ-GW0B8xxBRPvrkucIyFFq5g", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52482}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/IP6vPlU1KvL4bTT6siiQ-GW0B8xxBRPvrkucIyFFq5g", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3724.0>, params: %{}, path_info: [".well-known", "acme-challenge", "IP6vPlU1KvL4bTT6siiQ-GW0B8xxBRPvrkucIyFFq5g"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/IP6vPlU1KvL4bTT6siiQ-GW0B8xxBRPvrkucIyFFq5g"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/IP6vPlU1KvL4bTT6siiQ-GW0B8xxBRPvrkucIyFFq5g", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfbbiTlILsFVYAALBC"} ], 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.3723.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/IP6vPlU1KvL4bTT6siiQ-GW0B8xxBRPvrkucIyFFq5g", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52482}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/IP6vPlU1KvL4bTT6siiQ-GW0B8xxBRPvrkucIyFFq5g", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/IP6vPlU1KvL4bTT6siiQ-GW0B8xxBRPvrkucIyFFq5g (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3723.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/IP6vPlU1KvL4bTT6siiQ-GW0B8xxBRPvrkucIyFFq5g", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52482}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/IP6vPlU1KvL4bTT6siiQ-GW0B8xxBRPvrkucIyFFq5g", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3724.0>, params: %{}, path_info: [".well-known", "acme-challenge", "IP6vPlU1KvL4bTT6siiQ-GW0B8xxBRPvrkucIyFFq5g"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:12:00.056 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=qwIdky4UfnE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3598/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/92/b5/92b5ed07a4b721559c2e1e89116fd3fc8c62f1be7c234481383851a5ec10e28c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:12:00.058 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1674.4ms begin [] 13:12:00.063 [debug] QUERY OK source="media_items" db=4.4ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 02:11:52Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e093099 - Ultimate Fall Cocktail - Whiskey, Pear & Buckwheat!.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e093099 - Ultimate Fall Cocktail - Whiskey, Pear & Buckwheat!.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e093099 - Ultimate Fall Cocktail - Whiskey, Pear & Buckwheat!.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e093099 - Ultimate Fall Cocktail - Whiskey, Pear & Buckwheat!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e093099 - Ultimate Fall Cocktail - Whiskey, Pear & Buckwheat!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e093099 - Ultimate Fall Cocktail - Whiskey, Pear & Buckwheat!-thumb.jpg", ~U[2026-03-28 02:12:00Z], 3598] 13:12:00.076 [debug] QUERY OK source="media_metadata" db=11.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/3598/metadata.json.gz", "/config/metadata/media_items/3598/thumbnail.jpg", 3598, ~U[2026-03-28 02:12:00Z], ~U[2026-03-28 02:12:00Z]] 13:12:00.077 [debug] QUERY OK db=1.0ms commit [] 13:12:00.100 [debug] QUERY OK source="media_items" db=2.2ms idle=840.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [57985314, ~U[2026-03-28 02:12:00Z], 3598] 13:12:00.100 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:12:00.101 [info] {"args":{"id":3598},"id":644,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":115864787,"event":"job:stop","queue_time":79123235025,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:00.109 [info] {"args":{"id":3603},"id":646,"meta":{},"system_time":1774663920108702310,"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"]} 13:12:00.110 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=726.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" = ?) [3603] 13:12:00.111 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:12:00.112 [debug] QUERY OK source="sources" db=0.5ms queue=0.3ms idle=34.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" = ?) [4] 13:12:00.114 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.2ms idle=12.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] 13:12:00.115 [debug] QUERY OK source="media_items" db=0.5ms 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 [3603] 13:12:00.117 [debug] QUERY OK source="media_metadata" db=0.2ms 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" = ?) [3603] 13:12:00.118 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms 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] 13:12:00.119 [debug] QUERY OK source="settings" db=0.2ms idle=6.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 [] 13:12:00.120 [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 [] 13:12:00.121 [debug] Running yt-dlp command for action: get_downloadable_status 13:12:00.123 [debug] QUERY OK source="settings" db=0.5ms 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 [] 13:12:00.124 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=6.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 [] 13:12:00.125 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=6.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 [] 13:12:00.126 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=5sYMGEy2TRc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b7/a3/b7a39918fb9122a19ad84898c4c6c918766987ff5c8b1ec81257f35de1c46405.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:12:00.270 [info] {"args":{"id":5},"id":1691,"meta":{},"system_time":1774663920270604249,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:12:00.271 [debug] QUERY OK source="sources" db=0.4ms idle=147.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" = ?) [5] 13:12:00.272 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=147.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 [] 13:12:00.273 [debug] QUERY OK source="media_profiles" db=0.4ms idle=147.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] 13:12:00.274 [debug] QUERY OK source="settings" db=0.5ms 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 [] 13:12:00.275 [debug] Fetching recent media IDs from YouTube API for playlist: UUVwfqPkv08OTuHzkPU3EaDw 13:12:00.276 [debug] QUERY OK source="settings" db=0.2ms queue=0.3ms idle=5.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 [] 13:12:00.276 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:12:00.717 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=441.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [5, "k8Yr1jU-0EE", "NFrnhg8hI0c", "20XMhcpSNV0", "YVGFnwJho6E", "xQXiSGDXknA", "uZl0TO8i96g", "Hs5ewNKWUwk", "E5suxhHY0aY", "sCou7ut2L-o", "a0INtLdzUiE", "n0x8sH0M9CE", "W4Af6DIMqnE", "Q-sUbLem5aI", "s-jMj11w68U", "DS9HZG5JRBc", "_wLy-vzLi3E", "iFpZfYwRcns", "nPovqKKSKcE", "j_w4tRYm7Og", "laZpTO7IFtA", "FM5e9Vb1noE", "cK6g53lLgnw", "1X5WYEhzGyI", "QVpu66njzdE", "tfnANe2YUwM", "0-QK6hxLxgM", "TYUeXqSlcDg", "0322Pk-GKto", "1Em1UrRSEXc", "x2RT9Awsyi8", "4Yth52yml8E", "ky9Zo2FmjQ8", "npU2QpX5piA", "XEb_1Sq8jNo", "L3QQDAKxUIk", "l3s8S6bBbOs", "WyWBU1NpDf8", "7wZ0NVuoDWg", "-Ig2-rBZtSI", "5BG06-J1t4Y", "GcQ6vQEeQew", "ap8S88LeiB0", "4LvXP3XR6gw", "I9o65_aIq0Q", "Ut9XjFkGK6s", "PcFkjR5NELA", "Yl67318oP-s", "umbar5BKBus", "FEfCtNhVjJ0", ...] 13:12:00.724 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=448.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 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")))) [5] 13:12:00.773 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:12:00.960 [debug] QUERY OK source="tasks" db=0.4ms idle=6.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1697, 5, ~U[2026-03-28 02:12:00Z], ~U[2026-03-28 02:12:00Z]] 13:12:00.961 [info] {"args":{"id":5},"id":1691,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":689946,"event":"job:stop","queue_time":470345,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:12:05.953 [info] GET / 13:12:05.953 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:12:05.954 [debug] QUERY OK source="settings" db=0.4ms idle=1568.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 [] 13:12:05.954 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1569.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:12:05.955 [debug] QUERY OK source="sources" db=0.1ms idle=1569.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:12:05.979 [debug] QUERY OK source="media_items" db=23.6ms idle=1570.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:12:05.982 [debug] QUERY OK source="media_items" db=2.8ms idle=701.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:12:05.983 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=28.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 [] 13:12:05.984 [debug] QUERY OK source="settings" db=0.2ms idle=28.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 [] 13:12:05.985 [debug] QUERY OK source="settings" db=0.2ms idle=29.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 [] 13:12:05.990 [debug] QUERY OK source="media_items" db=3.2ms idle=7.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 (NOT (m0."media_filepath" IS NULL)) [] 13:12:05.991 [debug] QUERY OK source="media_items" db=0.6ms idle=7.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:12:05.992 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=8.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" IN (?,?)) [2, 6] 13:12:06.054 [debug] QUERY OK source="media_items" db=55.9ms idle=14.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 (((((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"))) [] 13:12:06.123 [debug] QUERY OK source="media_items" db=68.0ms queue=0.2ms idle=69.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:12:06.125 [debug] QUERY OK source="sources" db=0.4ms idle=134.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" = ?) [6] 13:12:06.131 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=139.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:12:06.132 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=139.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3601, 3603] 13:12:06.136 [info] Sent 200 in 183ms 13:12:07.134 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=5sYMGEy2TRc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b7/a3/b7a39918fb9122a19ad84898c4c6c918766987ff5c8b1ec81257f35de1c46405.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:12:07.135 [debug] Running yt-dlp command for action: download 13:12:07.136 [debug] QUERY OK source="settings" db=0.3ms idle=1012.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 [] 13:12:07.136 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:12:07.137 [debug] QUERY OK source="settings" db=0.2ms idle=1005.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 [] 13:12:07.138 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=5sYMGEy2TRc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/89/e0/89e0887fcd8e6631e16312341e67870909a0223c720b12bd548d8bb63b90074c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:12:21.166 [info] {"source":"oban","duration":2979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:51.170 [info] {"source":"oban","duration":3099,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:53.438 [info] {"args":{"id":1},"id":1692,"meta":{},"system_time":1774663973438560538,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:12:53.451 [debug] QUERY OK source="sources" db=11.4ms queue=0.1ms idle=1053.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] 13:12:53.467 [debug] QUERY OK source="settings" db=15.8ms queue=0.1ms 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 [] 13:12:53.487 [debug] QUERY OK source="media_profiles" db=18.9ms queue=0.1ms idle=82.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] 13:12:53.488 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=56.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 [] 13:12:53.488 [debug] Fetching recent media IDs from YouTube API for playlist: UUISrVZmDM4x-Rq9mmNUw7Zw 13:12:53.489 [debug] QUERY OK source="settings" db=0.5ms idle=50.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 [] 13:12:53.489 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:12:54.066 [debug] QUERY OK source="media_items" db=4.8ms queue=0.2ms idle=609.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "Q0qmHym16H4", "WcWL0_PlcO8", "dQV1WkSly7k", "Xpohopi2_tA", "fsZdCn4jIUY", "hgk2jMPnG2w", "oDh4gg7xiUs", "3LfUmSMW_qc", "5gN9QvwPLq8", "uSBe19ms3aw", "Eq1BmJikpHA", "OsKelxcQUNo", "zNP6Q_Yk9hU", "ZPPCc15thCc", "UzARiS2CyJ4", "r8X8HVGVV1o", "_JI7oYBFZIo", "niCh-EI1Kfo", "92mSBlpBEJo", "_6OAB_8iwqs", "tJbcC43WELc", "cPz1rUCNI0o", "hFzt_dOdElw", "nC-QKeluT0c", "i8ARsrsVUMM", "X30l-491qck", "rzQeUM-lMUY", "BkUHm95UvCw", "MQ2cHq3-J7A", "CtF5dLHITYA", "SGJkxRdkRGg", "OUCt85aJaAA", "9gARPYZOka4", "-uH-Gi5tjEw", "qwUBBQKYX94", "s8VLDSQJ8nA", "EvPfr0lKkh4", "msXzAxF49gA", "hQCWaSvjkU0", "RcmjVsy3a-g", "xtuNc9vYJG4", "fj2tcg8OzsM", "2FZ4IfPACDM", "2Q9DzW20YJ8", "IVsWFGOE_mw", "vPxpMcv2Z4Y", "Zverj_ldlhY", "pQK8xasPd9Q", "_Yo7nh8u9pk", ...] 13:12:54.076 [debug] QUERY OK source="media_items" db=5.7ms queue=0.2ms idle=603.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 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] 13:12:54.108 [debug] QUERY OK source="tasks" db=0.4ms idle=9.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1698, 1, ~U[2026-03-28 02:12:54Z], ~U[2026-03-28 02:12:54Z]] 13:12:54.109 [info] {"args":{"id":1},"id":1692,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":670353,"event":"job:stop","queue_time":438464,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:13:00.775 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:13:06.291 [info] GET / 13:13:06.291 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:13:06.292 [debug] QUERY OK source="settings" db=0.6ms idle=1822.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 [] 13:13:06.293 [debug] QUERY OK source="media_profiles" db=0.1ms idle=907.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:13:06.293 [debug] QUERY OK source="sources" db=0.1ms idle=908.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:13:06.332 [debug] QUERY OK source="media_items" db=38.9ms idle=908.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:13:06.338 [debug] QUERY OK source="media_items" db=4.2ms queue=0.2ms idle=861.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:13:06.339 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=46.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 [] 13:13:06.340 [debug] QUERY OK source="settings" db=0.2ms idle=46.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 [] 13:13:06.341 [debug] QUERY OK source="settings" db=0.1ms idle=47.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 [] 13:13:06.346 [debug] QUERY OK source="media_items" db=3.0ms idle=10.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 (NOT (m0."media_filepath" IS NULL)) [] 13:13:06.347 [debug] QUERY OK source="media_items" db=0.6ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:13:06.348 [debug] QUERY OK source="sources" db=0.3ms idle=8.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" IN (?,?)) [2, 6] 13:13:06.407 [debug] QUERY OK source="media_items" db=52.9ms idle=14.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 (((((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"))) [] 13:13:06.469 [debug] QUERY OK source="media_items" db=61.2ms idle=66.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:13:06.470 [debug] QUERY OK source="sources" db=0.3ms idle=123.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] 13:13:06.473 [debug] QUERY OK source="tasks" db=0.5ms idle=125.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:13:06.474 [debug] QUERY OK source="media_items" db=1.1ms queue=0.2ms idle=66.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3601, 3603] 13:13:06.476 [info] Sent 200 in 184ms 13:13:12.313 [info] GET /.well-known/acme-challenge/ELNtmtc-cZn5xQOlH2EO6Xpi3QJRN8cAkLhMFsXsUtQ 13:13:12.314 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1928.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 [] 13:13:12.315 [debug] QUERY OK source="settings" db=0.2ms idle=1929.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 [] 13:13:12.315 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:13:12.315 [error] #PID<0.3741.0> running PinchflatWeb.Endpoint (connection #PID<0.3740.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/ELNtmtc-cZn5xQOlH2EO6Xpi3QJRN8cAkLhMFsXsUtQ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ELNtmtc-cZn5xQOlH2EO6Xpi3QJRN8cAkLhMFsXsUtQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3740.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ELNtmtc-cZn5xQOlH2EO6Xpi3QJRN8cAkLhMFsXsUtQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 34868}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ELNtmtc-cZn5xQOlH2EO6Xpi3QJRN8cAkLhMFsXsUtQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3741.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ELNtmtc-cZn5xQOlH2EO6Xpi3QJRN8cAkLhMFsXsUtQ"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ELNtmtc-cZn5xQOlH2EO6Xpi3QJRN8cAkLhMFsXsUtQ"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/ELNtmtc-cZn5xQOlH2EO6Xpi3QJRN8cAkLhMFsXsUtQ", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDff5mKCLfohSkAALJi"} ], 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.3740.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ELNtmtc-cZn5xQOlH2EO6Xpi3QJRN8cAkLhMFsXsUtQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 34868}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ELNtmtc-cZn5xQOlH2EO6Xpi3QJRN8cAkLhMFsXsUtQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ELNtmtc-cZn5xQOlH2EO6Xpi3QJRN8cAkLhMFsXsUtQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3740.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ELNtmtc-cZn5xQOlH2EO6Xpi3QJRN8cAkLhMFsXsUtQ", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 34868}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ELNtmtc-cZn5xQOlH2EO6Xpi3QJRN8cAkLhMFsXsUtQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3741.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ELNtmtc-cZn5xQOlH2EO6Xpi3QJRN8cAkLhMFsXsUtQ"], 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://pinchflat.f2fv7 (truncated) 13:13:13.452 [info] GET /.well-known/acme-challenge/SD8r9FaXSI8-1GpPMTvnY9WBh0c7Z3SY_-iW2BeTeJ4 13:13:13.454 [debug] QUERY OK source="settings" db=0.8ms idle=1068.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 [] 13:13:13.455 [debug] QUERY OK source="settings" db=0.4ms idle=1069.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 [] 13:13:13.455 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:13:13.455 [error] #PID<0.3743.0> running PinchflatWeb.Endpoint (connection #PID<0.3742.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/SD8r9FaXSI8-1GpPMTvnY9WBh0c7Z3SY_-iW2BeTeJ4 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/SD8r9FaXSI8-1GpPMTvnY9WBh0c7Z3SY_-iW2BeTeJ4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3742.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/SD8r9FaXSI8-1GpPMTvnY9WBh0c7Z3SY_-iW2BeTeJ4", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 34876}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/SD8r9FaXSI8-1GpPMTvnY9WBh0c7Z3SY_-iW2BeTeJ4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3743.0>, params: %{}, path_info: [".well-known", "acme-challenge", "SD8r9FaXSI8-1GpPMTvnY9WBh0c7Z3SY_-iW2BeTeJ4"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/SD8r9FaXSI8-1GpPMTvnY9WBh0c7Z3SY_-iW2BeTeJ4"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/SD8r9FaXSI8-1GpPMTvnY9WBh0c7Z3SY_-iW2BeTeJ4", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDff91tJgZCjDcAAFWD"} ], 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.3742.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/SD8r9FaXSI8-1GpPMTvnY9WBh0c7Z3SY_-iW2BeTeJ4", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 34876}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/SD8r9FaXSI8-1GpPMTvnY9WBh0c7Z3SY_-iW2BeTeJ4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/SD8r9FaXSI8-1GpPMTvnY9WBh0c7Z3SY_-iW2BeTeJ4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3742.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/SD8r9FaXSI8-1GpPMTvnY9WBh0c7Z3SY_-iW2BeTeJ4", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 34876}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/SD8r9FaXSI8-1GpPMTvnY9WBh0c7Z3SY_-iW2BeTeJ4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3743.0>, params: %{}, path_info: [".well-known", "acme-challenge", "SD8r9FaXSI8-1GpPMTvnY9WBh0c7Z3SY_-iW2BeTeJ4"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:13:21.173 [info] {"source":"oban","duration":1950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:27.997 [info] GET /.well-known/acme-challenge/84RAwXCdVpMXkNvoiYOAk16usT0DQctlVGlSboZnoC4 13:13:27.999 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1457.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 [] 13:13:27.999 [debug] QUERY OK source="settings" db=0.2ms idle=614.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 [] 13:13:27.999 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:13:28.000 [error] #PID<0.3746.0> running PinchflatWeb.Endpoint (connection #PID<0.3745.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/84RAwXCdVpMXkNvoiYOAk16usT0DQctlVGlSboZnoC4 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/84RAwXCdVpMXkNvoiYOAk16usT0DQctlVGlSboZnoC4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3745.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/84RAwXCdVpMXkNvoiYOAk16usT0DQctlVGlSboZnoC4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 59858}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/84RAwXCdVpMXkNvoiYOAk16usT0DQctlVGlSboZnoC4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3746.0>, params: %{}, path_info: [".well-known", "acme-challenge", "84RAwXCdVpMXkNvoiYOAk16usT0DQctlVGlSboZnoC4"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/84RAwXCdVpMXkNvoiYOAk16usT0DQctlVGlSboZnoC4"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/84RAwXCdVpMXkNvoiYOAk16usT0DQctlVGlSboZnoC4", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfg0BZj3XmFw8AAFWj"} ], 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.3745.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/84RAwXCdVpMXkNvoiYOAk16usT0DQctlVGlSboZnoC4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 59858}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/84RAwXCdVpMXkNvoiYOAk16usT0DQctlVGlSboZnoC4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/84RAwXCdVpMXkNvoiYOAk16usT0DQctlVGlSboZnoC4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3745.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/84RAwXCdVpMXkNvoiYOAk16usT0DQctlVGlSboZnoC4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 59858}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/84RAwXCdVpMXkNvoiYOAk16usT0DQctlVGlSboZnoC4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3746.0>, params: %{}, path_info: [".well-known", "acme-challenge", "84RAwXCdVpMXkNvoiYOAk16usT0DQctlVGlSboZnoC4"], 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://pinchflat.f2fv7 (truncated) 13:13:29.924 [info] GET /.well-known/acme-challenge/erLqWSYPWEk8tVdhNeTddvocm3bCeExYklnOUudWdCw 13:13:29.926 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=539.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 [] 13:13:29.927 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=541.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 [] 13:13:29.927 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:13:29.928 [error] #PID<0.3748.0> running PinchflatWeb.Endpoint (connection #PID<0.3747.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/erLqWSYPWEk8tVdhNeTddvocm3bCeExYklnOUudWdCw ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/erLqWSYPWEk8tVdhNeTddvocm3bCeExYklnOUudWdCw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3747.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/erLqWSYPWEk8tVdhNeTddvocm3bCeExYklnOUudWdCw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 59874}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/erLqWSYPWEk8tVdhNeTddvocm3bCeExYklnOUudWdCw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3748.0>, params: %{}, path_info: [".well-known", "acme-challenge", "erLqWSYPWEk8tVdhNeTddvocm3bCeExYklnOUudWdCw"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/erLqWSYPWEk8tVdhNeTddvocm3bCeExYklnOUudWdCw"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/erLqWSYPWEk8tVdhNeTddvocm3bCeExYklnOUudWdCw", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfg7Mz0n16n6YAAFXD"} ], 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.3747.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/erLqWSYPWEk8tVdhNeTddvocm3bCeExYklnOUudWdCw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 59874}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/erLqWSYPWEk8tVdhNeTddvocm3bCeExYklnOUudWdCw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/erLqWSYPWEk8tVdhNeTddvocm3bCeExYklnOUudWdCw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3747.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/erLqWSYPWEk8tVdhNeTddvocm3bCeExYklnOUudWdCw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 59874}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/erLqWSYPWEk8tVdhNeTddvocm3bCeExYklnOUudWdCw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3748.0>, params: %{}, path_info: [".well-known", "acme-challenge", "erLqWSYPWEk8tVdhNeTddvocm3bCeExYklnOUudWdCw"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:13:40.158 [info] GET /.well-known/acme-challenge/iDNoZAOfGHMR1gCmnb-Z-u7-CgDhSA68K8lWW0JkQnA 13:13:40.159 [debug] QUERY OK source="settings" db=0.5ms idle=773.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 [] 13:13:40.160 [debug] QUERY OK source="settings" db=0.4ms idle=774.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 [] 13:13:40.160 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:13:40.162 [error] #PID<0.3752.0> running PinchflatWeb.Endpoint (connection #PID<0.3751.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/iDNoZAOfGHMR1gCmnb-Z-u7-CgDhSA68K8lWW0JkQnA ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/iDNoZAOfGHMR1gCmnb-Z-u7-CgDhSA68K8lWW0JkQnA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3751.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/iDNoZAOfGHMR1gCmnb-Z-u7-CgDhSA68K8lWW0JkQnA", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 54570}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/iDNoZAOfGHMR1gCmnb-Z-u7-CgDhSA68K8lWW0JkQnA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3752.0>, params: %{}, path_info: [".well-known", "acme-challenge", "iDNoZAOfGHMR1gCmnb-Z-u7-CgDhSA68K8lWW0JkQnA"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/iDNoZAOfGHMR1gCmnb-Z-u7-CgDhSA68K8lWW0JkQnA"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/iDNoZAOfGHMR1gCmnb-Z-u7-CgDhSA68K8lWW0JkQnA", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfhhU67W_M8oEAAFYD"} ], 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.3751.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/iDNoZAOfGHMR1gCmnb-Z-u7-CgDhSA68K8lWW0JkQnA", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 54570}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/iDNoZAOfGHMR1gCmnb-Z-u7-CgDhSA68K8lWW0JkQnA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/iDNoZAOfGHMR1gCmnb-Z-u7-CgDhSA68K8lWW0JkQnA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3751.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/iDNoZAOfGHMR1gCmnb-Z-u7-CgDhSA68K8lWW0JkQnA", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 54570}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/iDNoZAOfGHMR1gCmnb-Z-u7-CgDhSA68K8lWW0JkQnA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3752.0>, params: %{}, path_info: [".well-known", "acme-challenge", "iDNoZAOfGHMR1gCmnb-Z-u7-CgDhSA68K8lWW0JkQnA"], 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://pinchflat.f2fv7 (truncated) 13:13:42.409 [info] GET /.well-known/acme-challenge/Cp5jOyYc0vHXBJyqswNyTlyzQ0ZjM4KIZThA21BE5_g 13:13:42.411 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1025.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 [] 13:13:42.411 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1025.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 [] 13:13:42.412 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:13:42.413 [error] #PID<0.3753.0> running PinchflatWeb.Endpoint (connection #PID<0.3751.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/Cp5jOyYc0vHXBJyqswNyTlyzQ0ZjM4KIZThA21BE5_g ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Cp5jOyYc0vHXBJyqswNyTlyzQ0ZjM4KIZThA21BE5_g (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3751.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Cp5jOyYc0vHXBJyqswNyTlyzQ0ZjM4KIZThA21BE5_g", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 54570}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Cp5jOyYc0vHXBJyqswNyTlyzQ0ZjM4KIZThA21BE5_g", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3753.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Cp5jOyYc0vHXBJyqswNyTlyzQ0ZjM4KIZThA21BE5_g"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Cp5jOyYc0vHXBJyqswNyTlyzQ0ZjM4KIZThA21BE5_g"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/Cp5jOyYc0vHXBJyqswNyTlyzQ0ZjM4KIZThA21BE5_g", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfhptnReN8EZ0AAFYj"} ], 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.3751.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Cp5jOyYc0vHXBJyqswNyTlyzQ0ZjM4KIZThA21BE5_g", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 54570}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Cp5jOyYc0vHXBJyqswNyTlyzQ0ZjM4KIZThA21BE5_g", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Cp5jOyYc0vHXBJyqswNyTlyzQ0ZjM4KIZThA21BE5_g (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3751.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Cp5jOyYc0vHXBJyqswNyTlyzQ0ZjM4KIZThA21BE5_g", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 54570}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Cp5jOyYc0vHXBJyqswNyTlyzQ0ZjM4KIZThA21BE5_g", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3753.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Cp5jOyYc0vHXBJyqswNyTlyzQ0ZjM4KIZThA21BE5_g"], 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://pinchflat.f2fv7 (truncated) 13:13:47.830 [info] GET /.well-known/acme-challenge/D0MnJg-aQu97o8z8Rgcz4gQhUPAcoqRmid9G-oXP80Y 13:13:47.831 [debug] QUERY OK source="settings" db=0.6ms idle=1445.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 [] 13:13:47.832 [debug] QUERY OK source="settings" db=0.4ms idle=1221.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 [] 13:13:47.832 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:13:47.832 [error] #PID<0.3755.0> running PinchflatWeb.Endpoint (connection #PID<0.3754.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/D0MnJg-aQu97o8z8Rgcz4gQhUPAcoqRmid9G-oXP80Y ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/D0MnJg-aQu97o8z8Rgcz4gQhUPAcoqRmid9G-oXP80Y (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3754.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/D0MnJg-aQu97o8z8Rgcz4gQhUPAcoqRmid9G-oXP80Y", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44114}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/D0MnJg-aQu97o8z8Rgcz4gQhUPAcoqRmid9G-oXP80Y", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3755.0>, params: %{}, path_info: [".well-known", "acme-challenge", "D0MnJg-aQu97o8z8Rgcz4gQhUPAcoqRmid9G-oXP80Y"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/D0MnJg-aQu97o8z8Rgcz4gQhUPAcoqRmid9G-oXP80Y"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/D0MnJg-aQu97o8z8Rgcz4gQhUPAcoqRmid9G-oXP80Y", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfh96ABrxOG50AAICh"} ], 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.3754.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/D0MnJg-aQu97o8z8Rgcz4gQhUPAcoqRmid9G-oXP80Y", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44114}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/D0MnJg-aQu97o8z8Rgcz4gQhUPAcoqRmid9G-oXP80Y", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/D0MnJg-aQu97o8z8Rgcz4gQhUPAcoqRmid9G-oXP80Y (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3754.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/D0MnJg-aQu97o8z8Rgcz4gQhUPAcoqRmid9G-oXP80Y", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44114}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/D0MnJg-aQu97o8z8Rgcz4gQhUPAcoqRmid9G-oXP80Y", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3755.0>, params: %{}, path_info: [".well-known", "acme-challenge", "D0MnJg-aQu97o8z8Rgcz4gQhUPAcoqRmid9G-oXP80Y"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:13:49.487 [info] GET /.well-known/acme-challenge/QXLrqxeGZqsrf1ncxm3AsptpghjEEsMbn5MHCugQCa8 13:13:49.488 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=870.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 [] 13:13:49.489 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=103.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 [] 13:13:49.489 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:13:49.491 [error] #PID<0.3756.0> running PinchflatWeb.Endpoint (connection #PID<0.3754.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/QXLrqxeGZqsrf1ncxm3AsptpghjEEsMbn5MHCugQCa8 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/QXLrqxeGZqsrf1ncxm3AsptpghjEEsMbn5MHCugQCa8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3754.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/QXLrqxeGZqsrf1ncxm3AsptpghjEEsMbn5MHCugQCa8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44114}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/QXLrqxeGZqsrf1ncxm3AsptpghjEEsMbn5MHCugQCa8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3756.0>, params: %{}, path_info: [".well-known", "acme-challenge", "QXLrqxeGZqsrf1ncxm3AsptpghjEEsMbn5MHCugQCa8"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/QXLrqxeGZqsrf1ncxm3AsptpghjEEsMbn5MHCugQCa8"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/QXLrqxeGZqsrf1ncxm3AsptpghjEEsMbn5MHCugQCa8", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfiEE7LzH3qsIAAFZD"} ], 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.3754.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/QXLrqxeGZqsrf1ncxm3AsptpghjEEsMbn5MHCugQCa8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44114}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/QXLrqxeGZqsrf1ncxm3AsptpghjEEsMbn5MHCugQCa8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/QXLrqxeGZqsrf1ncxm3AsptpghjEEsMbn5MHCugQCa8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3754.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/QXLrqxeGZqsrf1ncxm3AsptpghjEEsMbn5MHCugQCa8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44114}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/QXLrqxeGZqsrf1ncxm3AsptpghjEEsMbn5MHCugQCa8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3756.0>, params: %{}, path_info: [".well-known", "acme-challenge", "QXLrqxeGZqsrf1ncxm3AsptpghjEEsMbn5MHCugQCa8"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:13:51.176 [info] {"source":"oban","duration":1795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:59.351 [info] GET /.well-known/acme-challenge/5MxrneERxZr-AlfMHos40Wx7jzNdrXkObpaRlOxLcpQ 13:13:59.352 [debug] QUERY OK source="settings" db=0.2ms idle=1966.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 [] 13:13:59.353 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1967.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 [] 13:13:59.353 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:13:59.354 [error] #PID<0.3758.0> running PinchflatWeb.Endpoint (connection #PID<0.3757.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/5MxrneERxZr-AlfMHos40Wx7jzNdrXkObpaRlOxLcpQ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/5MxrneERxZr-AlfMHos40Wx7jzNdrXkObpaRlOxLcpQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3757.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/5MxrneERxZr-AlfMHos40Wx7jzNdrXkObpaRlOxLcpQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 46336}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/5MxrneERxZr-AlfMHos40Wx7jzNdrXkObpaRlOxLcpQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3758.0>, params: %{}, path_info: [".well-known", "acme-challenge", "5MxrneERxZr-AlfMHos40Wx7jzNdrXkObpaRlOxLcpQ"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/5MxrneERxZr-AlfMHos40Wx7jzNdrXkObpaRlOxLcpQ"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/5MxrneERxZr-AlfMHos40Wx7jzNdrXkObpaRlOxLcpQ", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfio0zwY_j3kgAAFZj"} ], 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.3757.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/5MxrneERxZr-AlfMHos40Wx7jzNdrXkObpaRlOxLcpQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 46336}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/5MxrneERxZr-AlfMHos40Wx7jzNdrXkObpaRlOxLcpQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/5MxrneERxZr-AlfMHos40Wx7jzNdrXkObpaRlOxLcpQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3757.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/5MxrneERxZr-AlfMHos40Wx7jzNdrXkObpaRlOxLcpQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 46336}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/5MxrneERxZr-AlfMHos40Wx7jzNdrXkObpaRlOxLcpQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3758.0>, params: %{}, path_info: [".well-known", "acme-challenge", "5MxrneERxZr-AlfMHos40Wx7jzNdrXkObpaRlOxLcpQ"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:14:00.778 [info] {"source":"oban","duration":889,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:14:04.903 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=5sYMGEy2TRc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/89/e0/89e0887fcd8e6631e16312341e67870909a0223c720b12bd548d8bb63b90074c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:14:04.977 [debug] Running yt-dlp command for action: download_thumbnail 13:14:04.978 [debug] QUERY OK source="settings" db=0.2ms idle=592.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 [] 13:14:04.978 [debug] QUERY OK source="settings" db=0.2ms idle=593.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 [] 13:14:04.979 [debug] QUERY OK source="settings" db=0.2ms idle=593.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 [] 13:14:04.980 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=5sYMGEy2TRc --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3603/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/7e/42/7e42ed612e60ab5a4cf49d7b40507978fba6414106e65d27c2f756a63f4baeca.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:14:05.685 [info] {"args":{"id":6},"id":1693,"meta":{},"system_time":1774664045685531194,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:14:05.693 [debug] QUERY OK source="sources" db=7.0ms idle=707.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] 13:14:05.699 [debug] QUERY OK source="settings" db=5.7ms queue=0.1ms idle=714.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 [] 13:14:05.700 [debug] QUERY OK source="media_profiles" db=0.7ms idle=720.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] 13:14:05.704 [debug] QUERY OK source="settings" db=4.0ms idle=22.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 [] 13:14:05.704 [debug] Fetching recent media IDs from YouTube API for playlist: UUOzMAa6IhV6uwYQATYG_2kg 13:14:05.705 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:14:05.705 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:14:05.962 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=X-EWWtCsBtM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/be/ab/beabddbb88819cd2718d7a5678359933e99d697d59cb1fc9ef109a67ebe1544a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:14:06.051 [debug] Running yt-dlp command for action: download_thumbnail 13:14:06.056 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=362.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 [] 13:14:06.058 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=357.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 [] 13:14:06.058 [debug] QUERY OK source="settings" db=0.3ms idle=358.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 [] 13:14:06.059 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=X-EWWtCsBtM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3601/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/cb/6e/cb6e42f8b7f5c4b183caf34de49cdb3a9d67b10e7ba6803c0095d406311dd038.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:14:06.165 [debug] QUERY OK source="media_items" db=3.5ms idle=457.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6, "dnia-38h1GA", "iZaN9NRWc28", "CJrLdBStrzc", "u-eoT-Foth8", "XHineC0YKjs", "VdlejwGkNoI", "ikIigkz2pMg", "qUdPPQ9-9Tg", "k9fuSOPjSXM", "hb-oXWK9r7k", "hDfrtCQmNOo", "zRIUM4OhyWU", "W7c0iVM4P2I", "KCFDp_kxT_4", "aZhuGRngq-g", "BgWbezF2M28", "ZJfHw71KKsk", "MisOg5bX0a4", "2UampQ_86ek", "7-iImzOel-s", "O8E47Ib_RoU", "RcVBMZd2_u8", "b-DHev8Uc6I", "0apH8xkS6PE", "I8m3hyPVsxA", "urqkKHRaT-8", "shyrhINSaPk", "Ze3bKcLbPWg", "ydk9KfgHUPo", "sFlgR1oiUXk", "jCieQsNXdBM", "Nz4uVkNMKdI", "tyX3PvjLSC8", "VeDDo4HhNVo", "2RmXPeBn3x0", "1sA4iEo0x1o", "KqAYebG_Bs0", "FelCut8wQ3o", "wY5Xb_t79SM", "-YqD-IWgaz8", "BdV0pSziReE", "u5VKDy7Dgj8", "hn89XxHJLQ0", "wE60s-NuU6c", "LBwtYK3W-vw", "FGpCwqNklsw", "79hW_qeneEY", "aNpJxLXZATY", "9JhGit6JRw0", ...] 13:14:06.167 [debug] QUERY OK source="settings" db=0.5ms idle=461.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 [] 13:14:06.168 [debug] QUERY OK source="settings" db=0.7ms idle=111.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 [] 13:14:06.169 [debug] Running yt-dlp command for action: get_media_attributes 13:14:06.171 [debug] QUERY OK source="settings" db=0.2ms idle=112.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 [] 13:14:06.171 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=112.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 [] 13:14:06.172 [debug] QUERY OK source="settings" db=0.4ms 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 [] 13:14:06.173 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/f1/fa/f1fa66c2a1bd1288b56c33b49a9d1d4e4a34a150891b3cba5635935080f5452d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:14:06.682 [info] GET / 13:14:06.682 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:14:06.684 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=514.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 [] 13:14:06.685 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=513.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:14:06.686 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=514.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:14:06.736 [debug] QUERY OK source="media_items" db=50.2ms idle=513.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:14:06.744 [debug] QUERY OK source="media_items" db=7.1ms idle=55.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:14:06.745 [debug] QUERY OK source="settings" db=0.6ms idle=60.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 [] 13:14:06.746 [debug] QUERY OK source="settings" db=0.5ms idle=60.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 [] 13:14:06.748 [debug] QUERY OK source="settings" db=0.5ms idle=61.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 [] 13:14:06.757 [debug] QUERY OK source="media_items" db=7.8ms queue=0.1ms idle=13.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 (NOT (m0."media_filepath" IS NULL)) [] 13:14:06.759 [debug] QUERY OK source="media_items" db=0.9ms queue=0.2ms idle=14.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:14:06.761 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=15.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" IN (?,?)) [2, 6] 13:14:06.828 [debug] QUERY OK source="media_items" db=59.0ms queue=0.1ms idle=22.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 (((((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"))) [] 13:14:06.881 [debug] QUERY OK source="media_items" db=51.8ms queue=0.1ms idle=81.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:14:06.882 [debug] QUERY OK source="sources" db=0.5ms idle=124.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" = ?) [6] 13:14:06.889 [debug] QUERY OK source="tasks" db=1.0ms queue=0.1ms idle=128.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:14:06.891 [debug] QUERY OK source="sources" db=1.0ms idle=128.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] 13:14:06.891 [debug] QUERY OK source="media_items" db=1.5ms idle=61.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3601, 3603] 13:14:06.893 [info] Sent 200 in 211ms 13:14:09.247 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/f1/fa/f1fa66c2a1bd1288b56c33b49a9d1d4e4a34a150891b3cba5635935080f5452d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days. 13:14:09.248 [error] Error creating media item 'u-eoT-Foth8' from URL: {:error, "ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days.\n", 1} 13:14:09.275 [debug] QUERY OK source="media_items" db=26.2ms queue=0.1ms idle=863.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 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] 13:14:09.530 [debug] QUERY OK source="tasks" db=0.6ms idle=7.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1699, 6, ~U[2026-03-28 02:14:09Z], ~U[2026-03-28 02:14:09Z]] 13:14:09.534 [info] {"args":{"id":6},"id":1693,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":3844719,"event":"job:stop","queue_time":531700,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:14:12.391 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=5sYMGEy2TRc --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3603/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/7e/42/7e42ed612e60ab5a4cf49d7b40507978fba6414106e65d27c2f756a63f4baeca.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:14:12.392 [debug] QUERY OK db=0.0ms idle=1002.0ms begin [] 13:14:12.396 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 02:14:04Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e091699 - Easy Brunch Cocktail with Italicus & Grapefruit.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e091699 - Easy Brunch Cocktail with Italicus & Grapefruit.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e091699 - Easy Brunch Cocktail with Italicus & Grapefruit.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e091699 - Easy Brunch Cocktail with Italicus & Grapefruit.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e091699 - Easy Brunch Cocktail with Italicus & Grapefruit.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e091699 - Easy Brunch Cocktail with Italicus & Grapefruit-thumb.jpg", ~U[2026-03-28 02:14:12Z], 3603] 13:14:12.399 [debug] QUERY OK source="media_metadata" db=2.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/3603/metadata.json.gz", "/config/metadata/media_items/3603/thumbnail.jpg", 3603, ~U[2026-03-28 02:14:12Z], ~U[2026-03-28 02:14:12Z]] 13:14:12.400 [debug] QUERY OK db=0.7ms commit [] 13:14:12.424 [debug] QUERY OK source="media_items" db=5.6ms idle=1028.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [64207112, ~U[2026-03-28 02:14:12Z], 3603] 13:14:12.424 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:14:12.425 [info] {"args":{"id":3603},"id":646,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":132316000,"event":"job:stop","queue_time":79229107098,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:14:12.433 [info] {"args":{"id":3606},"id":647,"meta":{},"system_time":1774664052433461255,"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"]} 13:14:12.434 [debug] QUERY OK source="media_items" db=0.6ms idle=43.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" = ?) [3606] 13:14:12.435 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:14:12.435 [debug] QUERY OK source="sources" db=0.7ms idle=34.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" = ?) [4] 13:14:12.436 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 13:14:12.437 [debug] QUERY OK source="media_items" db=0.8ms idle=11.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 [3606] 13:14:12.439 [debug] QUERY OK source="media_metadata" db=0.2ms idle=5.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" = ?) [3606] 13:14:12.439 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 13:14:12.440 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:14:12.441 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:14:12.441 [debug] Running yt-dlp command for action: get_downloadable_status 13:14:12.443 [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 [] 13:14:12.443 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:14:12.444 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 13:14:12.444 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nyuMhG3o-uo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7d/53/7d53cb067119d789e1497d96b30129b4527d7c2f6088029a16fadb666e29ee37.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:14:12.718 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=X-EWWtCsBtM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3601/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/cb/6e/cb6e42f8b7f5c4b183caf34de49cdb3a9d67b10e7ba6803c0095d406311dd038.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:14:12.719 [debug] QUERY OK db=0.1ms queue=0.1ms idle=278.2ms begin [] 13:14:12.723 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [333, ~U[2026-03-28 02:14:05Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e092399 - How To Make a 5-star Martini - My Favorite!.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e092399 - How To Make a 5-star Martini - My Favorite!.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e092399 - How To Make a 5-star Martini - My Favorite!.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e092399 - How To Make a 5-star Martini - My Favorite!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e092399 - How To Make a 5-star Martini - My Favorite!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e092399 - How To Make a 5-star Martini - My Favorite!-thumb.jpg", ~U[2026-03-28 02:14:12Z], 3601] 13:14:12.727 [debug] QUERY OK source="media_metadata" db=2.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/3601/metadata.json.gz", "/config/metadata/media_items/3601/thumbnail.jpg", 3601, ~U[2026-03-28 02:14:12Z], ~U[2026-03-28 02:14:12Z]] 13:14:12.728 [debug] QUERY OK db=0.7ms commit [] 13:14:12.733 [debug] QUERY OK source="media_items" db=2.2ms idle=288.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [60003595, ~U[2026-03-28 02:14:12Z], 3601] 13:14:12.734 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:14:12.735 [info] {"args":{"id":3601},"id":645,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":181802606,"event":"job:stop","queue_time":79184911077,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:14:12.745 [info] {"args":{"id":3610},"id":648,"meta":{},"system_time":1774664052745002640,"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"]} 13:14:12.746 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=36.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" = ?) [3610] 13:14:12.747 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:14:12.748 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms idle=19.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" = ?) [4] 13:14:12.750 [debug] QUERY OK source="media_profiles" db=0.7ms 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] 13:14:12.752 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=15.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 [3610] 13:14:12.754 [debug] QUERY OK source="media_metadata" db=0.4ms idle=9.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" = ?) [3610] 13:14:12.756 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.3ms 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] 13:14:12.757 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 13:14:12.758 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 13:14:12.759 [debug] Running yt-dlp command for action: get_downloadable_status 13:14:12.761 [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 [] 13:14:12.762 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=6.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 [] 13:14:12.763 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 13:14:12.763 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fEXw1KRi0po --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ce/c0/cec0c943d1852383c77fb245e911c3befabfd3f342b2dd9778e665386b018c4c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:14:20.450 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nyuMhG3o-uo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7d/53/7d53cb067119d789e1497d96b30129b4527d7c2f6088029a16fadb666e29ee37.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:14:20.451 [debug] Running yt-dlp command for action: download 13:14:20.451 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=716.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 [] 13:14:20.452 [debug] QUERY OK source="settings" db=0.3ms idle=61.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 [] 13:14:20.453 [debug] QUERY OK source="settings" db=0.3ms idle=62.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 [] 13:14:20.453 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nyuMhG3o-uo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8b/d4/8bd488fdc98fbfdca674dcfb9729d023070e0973886f22692b3be9228ea0edd3.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:14:20.695 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fEXw1KRi0po --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ce/c0/cec0c943d1852383c77fb245e911c3befabfd3f342b2dd9778e665386b018c4c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:14:20.695 [debug] Running yt-dlp command for action: download 13:14:20.696 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=305.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 [] 13:14:20.697 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=306.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 [] 13:14:20.698 [debug] QUERY OK source="settings" db=0.3ms idle=246.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 [] 13:14:20.699 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fEXw1KRi0po --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d0/5c/d05cb66fbdeed6a7134fbf4cf59e9ed680162e67d1f739e86aaf6598058959ed.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:14:21.179 [info] {"source":"oban","duration":2484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:51.182 [info] {"source":"oban","duration":2691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:00.780 [info] {"source":"oban","duration":1040,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:15:07.094 [info] GET / 13:15:07.094 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:15:07.096 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=1182.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 [] 13:15:07.098 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=707.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:15:07.100 [debug] QUERY OK source="sources" db=0.7ms queue=0.5ms idle=708.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:15:07.150 [debug] QUERY OK source="media_items" db=49.1ms queue=0.2ms idle=710.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:15:07.154 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=234.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:15:07.155 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=58.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 [] 13:15:07.156 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=57.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 [] 13:15:07.157 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=57.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 [] 13:15:07.162 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 13:15:07.163 [debug] QUERY OK source="media_items" db=0.6ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:15:07.164 [debug] QUERY OK source="sources" db=0.3ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [2, 6] 13:15:07.225 [debug] QUERY OK source="media_items" db=58.4ms idle=10.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 (((((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"))) [] 13:15:07.292 [debug] QUERY OK source="media_items" db=65.8ms queue=0.2ms idle=68.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:15:07.294 [debug] QUERY OK source="sources" db=0.2ms idle=131.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] 13:15:07.299 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=135.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:15:07.301 [debug] QUERY OK source="media_items" db=0.4ms idle=136.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3606, 3610] 13:15:07.302 [info] Sent 200 in 208ms 13:15:17.673 [info] GET /.well-known/acme-challenge/O5cyYw5QfvrRRJkE6S8cGEv6hH1XfWd-71FY8Cuy30o 13:15:17.675 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1284.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 [] 13:15:17.676 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1285.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 [] 13:15:17.676 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:15:17.677 [error] #PID<0.3789.0> running PinchflatWeb.Endpoint (connection #PID<0.3788.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/O5cyYw5QfvrRRJkE6S8cGEv6hH1XfWd-71FY8Cuy30o ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/O5cyYw5QfvrRRJkE6S8cGEv6hH1XfWd-71FY8Cuy30o (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3788.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/O5cyYw5QfvrRRJkE6S8cGEv6hH1XfWd-71FY8Cuy30o", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 37402}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/O5cyYw5QfvrRRJkE6S8cGEv6hH1XfWd-71FY8Cuy30o", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3789.0>, params: %{}, path_info: [".well-known", "acme-challenge", "O5cyYw5QfvrRRJkE6S8cGEv6hH1XfWd-71FY8Cuy30o"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/O5cyYw5QfvrRRJkE6S8cGEv6hH1XfWd-71FY8Cuy30o"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/O5cyYw5QfvrRRJkE6S8cGEv6hH1XfWd-71FY8Cuy30o", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfnMmVJXdpmhIAAFkD"} ], 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.3788.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/O5cyYw5QfvrRRJkE6S8cGEv6hH1XfWd-71FY8Cuy30o", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 37402}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/O5cyYw5QfvrRRJkE6S8cGEv6hH1XfWd-71FY8Cuy30o", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/O5cyYw5QfvrRRJkE6S8cGEv6hH1XfWd-71FY8Cuy30o (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3788.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/O5cyYw5QfvrRRJkE6S8cGEv6hH1XfWd-71FY8Cuy30o", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 37402}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/O5cyYw5QfvrRRJkE6S8cGEv6hH1XfWd-71FY8Cuy30o", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3789.0>, params: %{}, path_info: [".well-known", "acme-challenge", "O5cyYw5QfvrRRJkE6S8cGEv6hH1XfWd-71FY8Cuy30o"], 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://pinchflat.f2fv7 (truncated) 13:15:18.380 [info] GET /.well-known/acme-challenge/alEglfrNyawKCY-N-WnQjB7ELl9x3yNLivDmCxZStfY 13:15:18.381 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1990.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 [] 13:15:18.382 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1427.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 [] 13:15:18.382 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:15:18.383 [error] #PID<0.3792.0> running PinchflatWeb.Endpoint (connection #PID<0.3791.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/alEglfrNyawKCY-N-WnQjB7ELl9x3yNLivDmCxZStfY ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/alEglfrNyawKCY-N-WnQjB7ELl9x3yNLivDmCxZStfY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3791.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/alEglfrNyawKCY-N-WnQjB7ELl9x3yNLivDmCxZStfY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37410}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/alEglfrNyawKCY-N-WnQjB7ELl9x3yNLivDmCxZStfY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3792.0>, params: %{}, path_info: [".well-known", "acme-challenge", "alEglfrNyawKCY-N-WnQjB7ELl9x3yNLivDmCxZStfY"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/alEglfrNyawKCY-N-WnQjB7ELl9x3yNLivDmCxZStfY"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/alEglfrNyawKCY-N-WnQjB7ELl9x3yNLivDmCxZStfY", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfnPOrdizF7isAAFkj"} ], 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.3791.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/alEglfrNyawKCY-N-WnQjB7ELl9x3yNLivDmCxZStfY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37410}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/alEglfrNyawKCY-N-WnQjB7ELl9x3yNLivDmCxZStfY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/alEglfrNyawKCY-N-WnQjB7ELl9x3yNLivDmCxZStfY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3791.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/alEglfrNyawKCY-N-WnQjB7ELl9x3yNLivDmCxZStfY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37410}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/alEglfrNyawKCY-N-WnQjB7ELl9x3yNLivDmCxZStfY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3792.0>, params: %{}, path_info: [".well-known", "acme-challenge", "alEglfrNyawKCY-N-WnQjB7ELl9x3yNLivDmCxZStfY"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:15:21.186 [info] {"source":"oban","duration":3349,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:32.309 [info] GET /.well-known/acme-challenge/HyNDftMeeWsKWADn-hTTjC6F2C0f6ZbV4NpChEhD1qc 13:15:32.311 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1302.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 [] 13:15:32.312 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=921.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 [] 13:15:32.313 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:15:32.313 [error] #PID<0.3794.0> running PinchflatWeb.Endpoint (connection #PID<0.3793.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/HyNDftMeeWsKWADn-hTTjC6F2C0f6ZbV4NpChEhD1qc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/HyNDftMeeWsKWADn-hTTjC6F2C0f6ZbV4NpChEhD1qc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3793.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/HyNDftMeeWsKWADn-hTTjC6F2C0f6ZbV4NpChEhD1qc", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 42214}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/HyNDftMeeWsKWADn-hTTjC6F2C0f6ZbV4NpChEhD1qc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3794.0>, params: %{}, path_info: [".well-known", "acme-challenge", "HyNDftMeeWsKWADn-hTTjC6F2C0f6ZbV4NpChEhD1qc"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/HyNDftMeeWsKWADn-hTTjC6F2C0f6ZbV4NpChEhD1qc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/HyNDftMeeWsKWADn-hTTjC6F2C0f6ZbV4NpChEhD1qc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfoDHyNd81QoYAAFlD"} ], 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.3793.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/HyNDftMeeWsKWADn-hTTjC6F2C0f6ZbV4NpChEhD1qc", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 42214}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/HyNDftMeeWsKWADn-hTTjC6F2C0f6ZbV4NpChEhD1qc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/HyNDftMeeWsKWADn-hTTjC6F2C0f6ZbV4NpChEhD1qc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3793.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/HyNDftMeeWsKWADn-hTTjC6F2C0f6ZbV4NpChEhD1qc", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 42214}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/HyNDftMeeWsKWADn-hTTjC6F2C0f6ZbV4NpChEhD1qc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3794.0>, params: %{}, path_info: [".well-known", "acme-challenge", "HyNDftMeeWsKWADn-hTTjC6F2C0f6ZbV4NpChEhD1qc"], 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://pinchflat.f2fv7 (truncated) 13:15:34.936 [info] GET /.well-known/acme-challenge/1SQSuJDn0h1bbqGLj7i8FMqalFfcP2CwRb3ZScWkNwI 13:15:34.937 [debug] QUERY OK source="settings" db=0.4ms idle=1546.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 [] 13:15:34.937 [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 [] 13:15:34.937 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:15:34.938 [error] #PID<0.3796.0> running PinchflatWeb.Endpoint (connection #PID<0.3795.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/1SQSuJDn0h1bbqGLj7i8FMqalFfcP2CwRb3ZScWkNwI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/1SQSuJDn0h1bbqGLj7i8FMqalFfcP2CwRb3ZScWkNwI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3795.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/1SQSuJDn0h1bbqGLj7i8FMqalFfcP2CwRb3ZScWkNwI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 39020}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/1SQSuJDn0h1bbqGLj7i8FMqalFfcP2CwRb3ZScWkNwI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3796.0>, params: %{}, path_info: [".well-known", "acme-challenge", "1SQSuJDn0h1bbqGLj7i8FMqalFfcP2CwRb3ZScWkNwI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/1SQSuJDn0h1bbqGLj7i8FMqalFfcP2CwRb3ZScWkNwI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/1SQSuJDn0h1bbqGLj7i8FMqalFfcP2CwRb3ZScWkNwI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfoM585BLGdycAALOi"} ], 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.3795.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/1SQSuJDn0h1bbqGLj7i8FMqalFfcP2CwRb3ZScWkNwI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 39020}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/1SQSuJDn0h1bbqGLj7i8FMqalFfcP2CwRb3ZScWkNwI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/1SQSuJDn0h1bbqGLj7i8FMqalFfcP2CwRb3ZScWkNwI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3795.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/1SQSuJDn0h1bbqGLj7i8FMqalFfcP2CwRb3ZScWkNwI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 39020}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/1SQSuJDn0h1bbqGLj7i8FMqalFfcP2CwRb3ZScWkNwI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3796.0>, params: %{}, path_info: [".well-known", "acme-challenge", "1SQSuJDn0h1bbqGLj7i8FMqalFfcP2CwRb3ZScWkNwI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:15:44.434 [info] GET /.well-known/acme-challenge/jJfH47Pe9iWLg0Qby-A56fUtQ4GEm9NugEpdAi9eCxk 13:15:44.435 [debug] QUERY OK source="settings" db=0.9ms idle=1044.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 [] 13:15:44.436 [debug] QUERY OK source="settings" db=0.4ms idle=1045.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 [] 13:15:44.436 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:15:44.437 [error] #PID<0.3800.0> running PinchflatWeb.Endpoint (connection #PID<0.3799.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/jJfH47Pe9iWLg0Qby-A56fUtQ4GEm9NugEpdAi9eCxk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/jJfH47Pe9iWLg0Qby-A56fUtQ4GEm9NugEpdAi9eCxk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3799.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/jJfH47Pe9iWLg0Qby-A56fUtQ4GEm9NugEpdAi9eCxk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 39036}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/jJfH47Pe9iWLg0Qby-A56fUtQ4GEm9NugEpdAi9eCxk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3800.0>, params: %{}, path_info: [".well-known", "acme-challenge", "jJfH47Pe9iWLg0Qby-A56fUtQ4GEm9NugEpdAi9eCxk"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/jJfH47Pe9iWLg0Qby-A56fUtQ4GEm9NugEpdAi9eCxk"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/jJfH47Pe9iWLg0Qby-A56fUtQ4GEm9NugEpdAi9eCxk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfowSd-VwrZJEAALPC"} ], 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.3799.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/jJfH47Pe9iWLg0Qby-A56fUtQ4GEm9NugEpdAi9eCxk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 39036}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/jJfH47Pe9iWLg0Qby-A56fUtQ4GEm9NugEpdAi9eCxk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/jJfH47Pe9iWLg0Qby-A56fUtQ4GEm9NugEpdAi9eCxk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3799.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/jJfH47Pe9iWLg0Qby-A56fUtQ4GEm9NugEpdAi9eCxk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 39036}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/jJfH47Pe9iWLg0Qby-A56fUtQ4GEm9NugEpdAi9eCxk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3800.0>, params: %{}, path_info: [".well-known", "acme-challenge", "jJfH47Pe9iWLg0Qby-A56fUtQ4GEm9NugEpdAi9eCxk"], 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://pinchflat.f2fv7 (truncated) 13:15:46.885 [info] GET /.well-known/acme-challenge/EuMl54nTmwlxEeey1f2PEIfkVnkPhEOIa5hTdFpj390 13:15:46.887 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=811.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 [] 13:15:46.888 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=497.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 [] 13:15:46.888 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:15:46.888 [error] #PID<0.3801.0> running PinchflatWeb.Endpoint (connection #PID<0.3799.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/EuMl54nTmwlxEeey1f2PEIfkVnkPhEOIa5hTdFpj390 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/EuMl54nTmwlxEeey1f2PEIfkVnkPhEOIa5hTdFpj390 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3799.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/EuMl54nTmwlxEeey1f2PEIfkVnkPhEOIa5hTdFpj390", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 39036}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/EuMl54nTmwlxEeey1f2PEIfkVnkPhEOIa5hTdFpj390", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3801.0>, params: %{}, path_info: [".well-known", "acme-challenge", "EuMl54nTmwlxEeey1f2PEIfkVnkPhEOIa5hTdFpj390"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/EuMl54nTmwlxEeey1f2PEIfkVnkPhEOIa5hTdFpj390"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/EuMl54nTmwlxEeey1f2PEIfkVnkPhEOIa5hTdFpj390", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfo5a8Aqfb1aUAAFmD"} ], 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.3799.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/EuMl54nTmwlxEeey1f2PEIfkVnkPhEOIa5hTdFpj390", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 39036}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/EuMl54nTmwlxEeey1f2PEIfkVnkPhEOIa5hTdFpj390", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/EuMl54nTmwlxEeey1f2PEIfkVnkPhEOIa5hTdFpj390 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3799.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/EuMl54nTmwlxEeey1f2PEIfkVnkPhEOIa5hTdFpj390", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 39036}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/EuMl54nTmwlxEeey1f2PEIfkVnkPhEOIa5hTdFpj390", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3801.0>, params: %{}, path_info: [".well-known", "acme-challenge", "EuMl54nTmwlxEeey1f2PEIfkVnkPhEOIa5hTdFpj390"], 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://pinchflat.f2fv7 (truncated) 13:15:51.189 [info] {"source":"oban","duration":2177,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:51.666 [info] GET /.well-known/acme-challenge/JORvmqER84p39dr8gJxwDG7tNFAOr_lF1yiK5Xw5cCw 13:15:51.668 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1277.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 [] 13:15:51.669 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=1278.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 [] 13:15:51.669 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:15:51.670 [error] #PID<0.3803.0> running PinchflatWeb.Endpoint (connection #PID<0.3802.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/JORvmqER84p39dr8gJxwDG7tNFAOr_lF1yiK5Xw5cCw ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/JORvmqER84p39dr8gJxwDG7tNFAOr_lF1yiK5Xw5cCw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3802.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/JORvmqER84p39dr8gJxwDG7tNFAOr_lF1yiK5Xw5cCw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 38534}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/JORvmqER84p39dr8gJxwDG7tNFAOr_lF1yiK5Xw5cCw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3803.0>, params: %{}, path_info: [".well-known", "acme-challenge", "JORvmqER84p39dr8gJxwDG7tNFAOr_lF1yiK5Xw5cCw"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/JORvmqER84p39dr8gJxwDG7tNFAOr_lF1yiK5Xw5cCw"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/JORvmqER84p39dr8gJxwDG7tNFAOr_lF1yiK5Xw5cCw", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfpLO5pEVjN5AAAFmj"} ], 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.3802.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/JORvmqER84p39dr8gJxwDG7tNFAOr_lF1yiK5Xw5cCw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 38534}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/JORvmqER84p39dr8gJxwDG7tNFAOr_lF1yiK5Xw5cCw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/JORvmqER84p39dr8gJxwDG7tNFAOr_lF1yiK5Xw5cCw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3802.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/JORvmqER84p39dr8gJxwDG7tNFAOr_lF1yiK5Xw5cCw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 38534}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/JORvmqER84p39dr8gJxwDG7tNFAOr_lF1yiK5Xw5cCw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3803.0>, params: %{}, path_info: [".well-known", "acme-challenge", "JORvmqER84p39dr8gJxwDG7tNFAOr_lF1yiK5Xw5cCw"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:15:53.568 [info] GET /.well-known/acme-challenge/1GUzDmhda1Z0031Z0Q08HQT319P0MGXBJdTsFR29g9o 13:15:53.570 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=1179.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 [] 13:15:53.571 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1180.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 [] 13:15:53.572 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:15:53.573 [error] #PID<0.3804.0> running PinchflatWeb.Endpoint (connection #PID<0.3802.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/1GUzDmhda1Z0031Z0Q08HQT319P0MGXBJdTsFR29g9o ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/1GUzDmhda1Z0031Z0Q08HQT319P0MGXBJdTsFR29g9o (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3802.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/1GUzDmhda1Z0031Z0Q08HQT319P0MGXBJdTsFR29g9o", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 38534}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/1GUzDmhda1Z0031Z0Q08HQT319P0MGXBJdTsFR29g9o", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3804.0>, params: %{}, path_info: [".well-known", "acme-challenge", "1GUzDmhda1Z0031Z0Q08HQT319P0MGXBJdTsFR29g9o"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/1GUzDmhda1Z0031Z0Q08HQT319P0MGXBJdTsFR29g9o"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/1GUzDmhda1Z0031Z0Q08HQT319P0MGXBJdTsFR29g9o", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfpSUMrMgDnKMAAFnD"} ], 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.3802.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/1GUzDmhda1Z0031Z0Q08HQT319P0MGXBJdTsFR29g9o", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 38534}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/1GUzDmhda1Z0031Z0Q08HQT319P0MGXBJdTsFR29g9o", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/1GUzDmhda1Z0031Z0Q08HQT319P0MGXBJdTsFR29g9o (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3802.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/1GUzDmhda1Z0031Z0Q08HQT319P0MGXBJdTsFR29g9o", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 38534}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/1GUzDmhda1Z0031Z0Q08HQT319P0MGXBJdTsFR29g9o", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3804.0>, params: %{}, path_info: [".well-known", "acme-challenge", "1GUzDmhda1Z0031Z0Q08HQT319P0MGXBJdTsFR29g9o"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:16:00.782 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:16:03.490 [info] GET /.well-known/acme-challenge/MyeUBT9WLaQsPCoim2jctD-7GOb788WehZQIHq9Srmg 13:16:03.491 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1100.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 [] 13:16:03.492 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=369.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 [] 13:16:03.493 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:16:03.494 [error] #PID<0.3806.0> running PinchflatWeb.Endpoint (connection #PID<0.3805.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/MyeUBT9WLaQsPCoim2jctD-7GOb788WehZQIHq9Srmg ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/MyeUBT9WLaQsPCoim2jctD-7GOb788WehZQIHq9Srmg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3805.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/MyeUBT9WLaQsPCoim2jctD-7GOb788WehZQIHq9Srmg", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 35882}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/MyeUBT9WLaQsPCoim2jctD-7GOb788WehZQIHq9Srmg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3806.0>, params: %{}, path_info: [".well-known", "acme-challenge", "MyeUBT9WLaQsPCoim2jctD-7GOb788WehZQIHq9Srmg"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/MyeUBT9WLaQsPCoim2jctD-7GOb788WehZQIHq9Srmg"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/MyeUBT9WLaQsPCoim2jctD-7GOb788WehZQIHq9Srmg", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDfp3RxzkBh2W4AALPi"} ], 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.3805.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/MyeUBT9WLaQsPCoim2jctD-7GOb788WehZQIHq9Srmg", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 35882}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/MyeUBT9WLaQsPCoim2jctD-7GOb788WehZQIHq9Srmg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/MyeUBT9WLaQsPCoim2jctD-7GOb788WehZQIHq9Srmg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3805.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/MyeUBT9WLaQsPCoim2jctD-7GOb788WehZQIHq9Srmg", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 35882}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/MyeUBT9WLaQsPCoim2jctD-7GOb788WehZQIHq9Srmg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3806.0>, params: %{}, path_info: [".well-known", "acme-challenge", "MyeUBT9WLaQsPCoim2jctD-7GOb788WehZQIHq9Srmg"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:16:07.487 [info] GET / 13:16:07.487 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:16:07.489 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=353.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 [] 13:16:07.490 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=99.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:16:07.490 [debug] QUERY OK source="sources" db=0.3ms idle=100.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:16:07.573 [debug] QUERY OK source="media_items" db=82.3ms idle=100.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:16:07.580 [debug] QUERY OK source="media_items" db=6.0ms idle=183.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:16:07.581 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=92.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 [] 13:16:07.582 [debug] QUERY OK source="settings" db=0.2ms idle=91.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 [] 13:16:07.584 [debug] QUERY OK source="settings" db=0.2ms idle=92.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 [] 13:16:07.591 [debug] QUERY OK source="media_items" db=5.7ms queue=0.1ms idle=12.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 (NOT (m0."media_filepath" IS NULL)) [] 13:16:07.593 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=12.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:16:07.595 [debug] QUERY OK source="sources" db=0.4ms 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" IN (?,?)) [2, 6] 13:16:07.706 [debug] QUERY OK source="media_items" db=104.8ms idle=19.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 (((((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"))) [] 13:16:07.754 [debug] QUERY OK source="media_items" db=46.6ms queue=0.1ms idle=123.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:16:07.755 [debug] QUERY OK source="sources" db=0.3ms idle=163.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] 13:16:07.760 [debug] QUERY OK source="tasks" db=0.5ms idle=166.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:16:07.761 [debug] QUERY OK source="media_items" db=0.4ms idle=166.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3606, 3610] 13:16:07.764 [info] Sent 200 in 277ms 13:16:21.192 [info] {"source":"oban","duration":2520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:51.194 [info] {"source":"oban","duration":1309,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:00.785 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:17:05.033 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fEXw1KRi0po --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d0/5c/d05cb66fbdeed6a7134fbf4cf59e9ed680162e67d1f739e86aaf6598058959ed.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:17:05.138 [debug] Running yt-dlp command for action: download_thumbnail 13:17:05.139 [debug] QUERY OK source="settings" db=0.2ms idle=838.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 [] 13:17:05.139 [debug] QUERY OK source="settings" db=0.1ms idle=745.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 [] 13:17:05.140 [debug] QUERY OK source="settings" db=0.1ms idle=745.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 [] 13:17:05.140 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fEXw1KRi0po --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3610/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ac/81/ac815b7651d47519f39d8d53c76e1b475bcb87a20fa056c0479063e78d018bff.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:17:07.967 [info] GET / 13:17:07.967 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:17:07.968 [debug] QUERY OK source="settings" db=0.4ms idle=1573.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 [] 13:17:07.969 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1574.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:17:07.969 [debug] QUERY OK source="sources" db=0.0ms idle=1575.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:17:07.981 [debug] QUERY OK source="media_items" db=11.5ms idle=1575.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:17:07.984 [debug] QUERY OK source="media_items" db=2.4ms idle=672.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:17:07.985 [debug] QUERY OK source="settings" db=0.2ms idle=16.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 [] 13:17:07.985 [debug] QUERY OK source="settings" db=0.2ms idle=16.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 [] 13:17:07.986 [debug] QUERY OK source="settings" db=0.1ms idle=16.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 [] 13:17:07.991 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms 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 (NOT (m0."media_filepath" IS NULL)) [] 13:17:07.993 [debug] QUERY OK source="media_items" db=0.7ms queue=0.2ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:17:07.995 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=9.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" IN (?,?)) [2, 6] 13:17:08.041 [debug] QUERY OK source="media_items" db=38.9ms queue=0.1ms idle=16.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 (((((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"))) [] 13:17:08.109 [debug] QUERY OK source="media_items" db=66.9ms idle=55.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:17:08.112 [debug] QUERY OK source="sources" db=2.4ms queue=0.2ms idle=118.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] 13:17:08.121 [debug] QUERY OK source="tasks" db=0.4ms idle=127.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:17:08.122 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=126.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3606, 3610] 13:17:08.124 [info] Sent 200 in 157ms 13:17:13.517 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fEXw1KRi0po --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3610/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ac/81/ac815b7651d47519f39d8d53c76e1b475bcb87a20fa056c0479063e78d018bff.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:17:13.518 [debug] QUERY OK db=0.0ms idle=190.5ms begin [] 13:17:13.521 [debug] QUERY OK source="media_items" db=2.7ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 02:17:05Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e090299 - Inverted Mojito - With Mint Foam!.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e090299 - Inverted Mojito - With Mint Foam!.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e090299 - Inverted Mojito - With Mint Foam!.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e090299 - Inverted Mojito - With Mint Foam!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e090299 - Inverted Mojito - With Mint Foam!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e090299 - Inverted Mojito - With Mint Foam!-thumb.jpg", ~U[2026-03-28 02:17:13Z], 3610] 13:17:13.524 [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/3610/metadata.json.gz", "/config/metadata/media_items/3610/thumbnail.jpg", 3610, ~U[2026-03-28 02:17:13Z], ~U[2026-03-28 02:17:13Z]] 13:17:13.527 [debug] QUERY OK db=2.9ms commit [] 13:17:13.548 [debug] QUERY OK source="media_items" db=18.5ms idle=135.6ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [78327014, ~U[2026-03-28 02:17:13Z], 3610] 13:17:13.549 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:17:13.564 [info] {"args":{"id":3610},"id":648,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":180804072,"event":"job:stop","queue_time":79349742224,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:17:13.586 [info] {"args":{"id":3613},"id":649,"meta":{},"system_time":1774664233586247503,"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"]} 13:17:13.598 [debug] QUERY OK source="media_items" db=12.0ms idle=192.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" = ?) [3613] 13:17:13.599 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:17:13.629 [debug] QUERY OK source="sources" db=30.3ms idle=72.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" = ?) [4] 13:17:13.631 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=81.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] 13:17:13.632 [debug] QUERY OK source="media_items" db=0.6ms idle=67.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 [3613] 13:17:13.634 [debug] QUERY OK source="media_metadata" db=0.2ms idle=48.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" = ?) [3613] 13:17:13.635 [debug] QUERY OK source="media_profiles" db=0.1ms idle=36.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] 13:17:13.636 [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 [] 13:17:13.636 [debug] QUERY OK source="settings" db=0.1ms idle=5.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 [] 13:17:13.637 [debug] Running yt-dlp command for action: get_downloadable_status 13:17:13.638 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:17:13.638 [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 [] 13:17:13.638 [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 [] 13:17:13.639 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4Y4C4aLR7P0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a4/31/a431d7539d75041ce8c2bb3a9f3f6a119de270b0393975d2be9121240d368326.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:17:20.866 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4Y4C4aLR7P0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a4/31/a431d7539d75041ce8c2bb3a9f3f6a119de270b0393975d2be9121240d368326.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:17:20.866 [debug] Running yt-dlp command for action: download 13:17:20.867 [debug] QUERY OK source="settings" db=0.4ms idle=1472.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 [] 13:17:20.867 [debug] QUERY OK source="settings" db=0.4ms idle=1472.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 [] 13:17:20.868 [debug] QUERY OK source="settings" db=0.2ms idle=1473.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 [] 13:17:20.868 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4Y4C4aLR7P0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ef/36/ef367acd2774b46ea4804e819c56cfb64d8e32aa44cebcd2baf0da502c7b8605.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:17:21.197 [info] {"source":"oban","duration":2736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:39.963 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nyuMhG3o-uo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8b/d4/8bd488fdc98fbfdca674dcfb9729d023070e0973886f22692b3be9228ea0edd3.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:17:40.089 [debug] Running yt-dlp command for action: download_thumbnail 13:17:40.092 [debug] QUERY OK source="settings" db=0.5ms idle=1697.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 [] 13:17:40.092 [debug] QUERY OK source="settings" db=0.5ms idle=1698.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 [] 13:17:40.093 [debug] QUERY OK source="settings" db=0.3ms idle=1684.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 [] 13:17:40.094 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nyuMhG3o-uo --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3606/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ba/4c/ba4c439c66539ae22534bc20a61f1dc567790421adc920679d83d4f9e8a7ae1a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:17:48.459 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nyuMhG3o-uo --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3606/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ba/4c/ba4c439c66539ae22534bc20a61f1dc567790421adc920679d83d4f9e8a7ae1a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:17:48.460 [debug] QUERY OK db=0.1ms idle=1065.3ms begin [] 13:17:48.463 [debug] QUERY OK source="media_items" db=3.4ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 02:17:40Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e090999 - Cocktail Hack 2.0! Pre-batched Basil Smash, Paloma & Pisco Sour.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e090999 - Cocktail Hack 2.0! Pre-batched Basil Smash, Paloma & Pisco Sour.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e090999 - Cocktail Hack 2.0! Pre-batched Basil Smash, Paloma & Pisco Sour.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e090999 - Cocktail Hack 2.0! Pre-batched Basil Smash, Paloma & Pisco Sour.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e090999 - Cocktail Hack 2.0! Pre-batched Basil Smash, Paloma & Pisco Sour.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e090999 - Cocktail Hack 2.0! Pre-batched Basil Smash, Paloma & Pisco Sour-thumb.jpg", ~U[2026-03-28 02:17:48Z], 3606] 13:17:48.466 [debug] QUERY OK source="media_metadata" db=2.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/3606/metadata.json.gz", "/config/metadata/media_items/3606/thumbnail.jpg", 3606, ~U[2026-03-28 02:17:48Z], ~U[2026-03-28 02:17:48Z]] 13:17:48.467 [debug] QUERY OK db=0.4ms commit [] 13:17:48.499 [debug] QUERY OK source="media_items" db=27.5ms idle=1077.6ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [95513298, ~U[2026-03-28 02:17:48Z], 3606] 13:17:48.500 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:17:48.517 [info] {"args":{"id":3606},"id":647,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":216066998,"event":"job:stop","queue_time":79355431123,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:17:48.524 [info] {"args":{"id":3616},"id":650,"meta":{},"system_time":1774664268524133939,"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"]} 13:17:48.524 [debug] QUERY OK source="media_items" db=0.4ms idle=83.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" = ?) [3616] 13:17:48.525 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:17:48.526 [debug] QUERY OK source="sources" db=0.7ms idle=58.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" = ?) [4] 13:17:48.527 [debug] QUERY OK source="media_profiles" db=0.6ms idle=26.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] 13:17:48.528 [debug] QUERY OK source="media_items" db=0.8ms idle=10.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 [3616] 13:17:48.530 [debug] QUERY OK source="media_metadata" db=0.2ms idle=5.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" = ?) [3616] 13:17:48.530 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 13:17:48.531 [debug] QUERY OK source="settings" db=0.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 [] 13:17:48.531 [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 [] 13:17:48.532 [debug] Running yt-dlp command for action: get_downloadable_status 13:17:48.533 [debug] QUERY OK source="settings" db=0.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 [] 13:17:48.534 [debug] QUERY OK source="settings" db=0.5ms 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 [] 13:17:48.534 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:17:48.535 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=80-73S4OJmU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/09/3e/093e1ab44fc7b9951155876fc5f2e06f748424809f3f198cf4089176ad8ec7e6.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:17:51.199 [info] {"source":"oban","duration":1586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:56.935 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=80-73S4OJmU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/09/3e/093e1ab44fc7b9951155876fc5f2e06f748424809f3f198cf4089176ad8ec7e6.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:17:56.936 [debug] Running yt-dlp command for action: download 13:17:56.937 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=542.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 [] 13:17:56.938 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=543.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 [] 13:17:56.938 [debug] QUERY OK source="settings" db=0.1ms idle=544.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 [] 13:17:56.939 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=80-73S4OJmU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/3b/c1/3bc141551e9775ec974b01a05fb684ef213ad8ee1fa7edfafadbf7808f672fb0.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:18:00.787 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:18:08.307 [info] GET / 13:18:08.307 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:18:08.308 [debug] QUERY OK source="settings" db=0.4ms idle=1913.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 [] 13:18:08.309 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=1914.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:18:08.309 [debug] QUERY OK source="sources" db=0.1ms idle=1914.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:18:08.352 [debug] QUERY OK source="media_items" db=41.6ms queue=0.1ms idle=1810.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:18:08.357 [debug] QUERY OK source="media_items" db=4.6ms queue=0.1ms idle=849.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:18:08.359 [debug] QUERY OK source="settings" db=0.3ms idle=50.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 [] 13:18:08.359 [debug] QUERY OK source="settings" db=0.3ms idle=49.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 [] 13:18:08.360 [debug] QUERY OK source="settings" db=0.1ms idle=50.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 [] 13:18:08.366 [debug] QUERY OK source="media_items" db=4.5ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 13:18:08.367 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=9.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:18:08.369 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=9.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" IN (?,?)) [2, 6] 13:18:08.433 [debug] QUERY OK source="media_items" db=56.9ms queue=0.1ms idle=16.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 (((((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"))) [] 13:18:08.495 [debug] QUERY OK source="media_items" db=61.9ms idle=73.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:18:08.496 [debug] QUERY OK source="sources" db=0.3ms idle=130.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] 13:18:08.502 [debug] QUERY OK source="tasks" db=0.4ms idle=134.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:18:08.503 [debug] QUERY OK source="media_items" db=0.5ms idle=133.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3613, 3616] 13:18:08.506 [info] Sent 200 in 199ms 13:18:21.202 [info] {"source":"oban","duration":2570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:51.205 [info] {"source":"oban","duration":1476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:00.789 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:19:08.704 [info] GET / 13:19:08.704 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:19:08.705 [debug] QUERY OK source="settings" db=0.8ms idle=963.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 [] 13:19:08.706 [debug] QUERY OK source="media_profiles" db=0.3ms idle=311.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:19:08.706 [debug] QUERY OK source="sources" db=0.0ms idle=312.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:19:08.722 [debug] QUERY OK source="media_items" db=15.5ms idle=312.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:19:08.735 [debug] QUERY OK source="media_items" db=12.7ms idle=328.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:19:08.737 [debug] QUERY OK source="settings" db=0.7ms 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 [] 13:19:08.737 [debug] QUERY OK source="settings" db=0.1ms idle=30.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 [] 13:19:08.738 [debug] QUERY OK source="settings" db=0.1ms idle=31.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 [] 13:19:08.752 [debug] QUERY OK source="media_items" db=13.3ms idle=16.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 (NOT (m0."media_filepath" IS NULL)) [] 13:19:08.755 [debug] QUERY OK source="media_items" db=1.7ms idle=16.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:19:08.756 [debug] QUERY OK source="sources" db=0.8ms idle=18.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" IN (?,?)) [2, 6] 13:19:08.872 [debug] QUERY OK source="media_items" db=112.4ms idle=21.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 (((((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"))) [] 13:19:08.886 [debug] QUERY OK source="media_items" db=14.0ms idle=127.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:19:08.887 [debug] QUERY OK source="sources" db=0.5ms idle=134.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] 13:19:08.890 [debug] QUERY OK source="tasks" db=0.4ms idle=134.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:19:08.891 [debug] QUERY OK source="media_items" db=0.4ms idle=133.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3613, 3616] 13:19:08.892 [info] Sent 200 in 188ms 13:19:21.208 [info] {"source":"oban","duration":2065,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:51.211 [info] {"source":"oban","duration":2675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:57.944 [info] {"args":{"id":3},"id":1694,"meta":{},"system_time":1774664397943775607,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:19:57.945 [debug] QUERY OK source="sources" db=0.8ms idle=1548.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] 13:19:57.952 [debug] QUERY OK source="settings" db=6.7ms queue=0.1ms idle=1549.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 [] 13:19:57.964 [debug] QUERY OK source="media_profiles" db=11.0ms idle=1028.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] 13:19:57.977 [debug] QUERY OK source="settings" db=12.8ms idle=36.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 [] 13:19:57.977 [debug] Fetching recent media IDs from YouTube API for playlist: UUwnKziETDbHJtx78nIkfYug 13:19:57.978 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=34.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 [] 13:19:57.979 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:19:58.637 [debug] QUERY OK source="media_items" db=3.8ms idle=687.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "QtpFa0LdXEY", "8Rv4wwcQ89Y", "2cRKv1oqyX8", "mQfQwLW6CNw", "y0TZuhNixNk", "GZ7wE3XOwFU", "-aRdX-kZ9g4", "99bldMr1byI", "EzCiEv1IqiA", "mC5NdpSMDks", "ccV3u3D9ONE", "cVCDjEfPzII", "n0X2rqzKTgM", "dcuCvRNqmpY", "GG1qX8jHKGo", "k9wkleHFvo0", "CWoYVlMuUNQ", "xlfeieH4z38", "eZM2Ik-FHEU", "CtcTG8-qzbA", "6Mmj7mf1qlg", "InwVO9qBjqs", "1Hp-W2bpPrw", "VtE5sTpkn7k", "8dOJypt2F70", "Evm4t4prtWo", "taLzgvbrnv0", "rgCrnyf5JEI", "PHhc-48JT3U", "vFKjpNNjNGw", "VJQlOI70ubw", "E5cfNq0DO90", "DNBGSsZatbY", "pna1NyaHTls", "CUHao-vA98g", "cPN9BJe_RQw", "rCBt4XgCX-0", "f4g6KKGMmEI", "P_I5Jsc3xRw", "fPaU2l7RktM", "0PVwt01b6fs", "0qMDM4Y4Hwo", "Ld285PDsHvs", "p1mQC71wplA", "9k5JhKK6WlA", "WPxrifmtlQI", "nVNBmK7a1y8", "QDnMYztaxfI", "gxsaWhXG1Gg", ...] 13:19:58.646 [debug] QUERY OK source="media_items" db=7.2ms queue=0.1ms idle=686.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 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] 13:19:58.651 [debug] QUERY OK source="tasks" db=0.7ms idle=671.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1700, 3, ~U[2026-03-28 02:19:58Z], ~U[2026-03-28 02:19:58Z]] 13:19:58.652 [info] {"args":{"id":3},"id":1694,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":707472,"event":"job:stop","queue_time":373551,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:20:00.791 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:20:09.064 [info] GET / 13:20:09.065 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:20:09.066 [debug] QUERY OK source="settings" db=0.5ms idle=668.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 [] 13:20:09.067 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=670.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:20:09.069 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=671.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:20:09.126 [debug] QUERY OK source="media_items" db=56.7ms idle=672.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:20:09.129 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=157.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:20:09.130 [debug] QUERY OK source="settings" db=0.3ms idle=64.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 [] 13:20:09.131 [debug] QUERY OK source="settings" db=0.3ms idle=63.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 [] 13:20:09.132 [debug] QUERY OK source="settings" db=0.2ms idle=62.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 [] 13:20:09.136 [debug] QUERY OK source="media_items" db=3.1ms idle=6.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 (NOT (m0."media_filepath" IS NULL)) [] 13:20:09.138 [debug] QUERY OK source="media_items" db=1.6ms idle=6.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:20:09.140 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=8.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" IN (?,?)) [2, 6] 13:20:09.203 [debug] QUERY OK source="media_items" db=56.2ms queue=0.1ms idle=15.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 (((((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"))) [] 13:20:09.260 [debug] QUERY OK source="media_items" db=56.7ms idle=71.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:20:09.262 [debug] QUERY OK source="sources" db=0.3ms idle=125.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] 13:20:09.267 [debug] QUERY OK source="tasks" db=0.6ms idle=128.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:20:09.268 [debug] QUERY OK source="media_items" db=0.3ms idle=128.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3613, 3616] 13:20:09.272 [info] Sent 200 in 207ms 13:20:21.214 [info] {"source":"oban","duration":1693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:22.153 [info] GET /.well-known/acme-challenge/suGEyRXGl9j3u6dMCqGLQLMf-6tyHhlqQGADwwtwkeM 13:20:22.154 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1757.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 [] 13:20:22.155 [debug] QUERY OK source="settings" db=0.4ms idle=1758.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 [] 13:20:22.155 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:20:22.156 [error] #PID<0.3857.0> running PinchflatWeb.Endpoint (connection #PID<0.3856.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/suGEyRXGl9j3u6dMCqGLQLMf-6tyHhlqQGADwwtwkeM ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/suGEyRXGl9j3u6dMCqGLQLMf-6tyHhlqQGADwwtwkeM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3856.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/suGEyRXGl9j3u6dMCqGLQLMf-6tyHhlqQGADwwtwkeM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 39906}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/suGEyRXGl9j3u6dMCqGLQLMf-6tyHhlqQGADwwtwkeM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3857.0>, params: %{}, path_info: [".well-known", "acme-challenge", "suGEyRXGl9j3u6dMCqGLQLMf-6tyHhlqQGADwwtwkeM"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/suGEyRXGl9j3u6dMCqGLQLMf-6tyHhlqQGADwwtwkeM"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/suGEyRXGl9j3u6dMCqGLQLMf-6tyHhlqQGADwwtwkeM", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDf464ANdgwr0MAAFvj"} ], 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.3856.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/suGEyRXGl9j3u6dMCqGLQLMf-6tyHhlqQGADwwtwkeM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 39906}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/suGEyRXGl9j3u6dMCqGLQLMf-6tyHhlqQGADwwtwkeM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/suGEyRXGl9j3u6dMCqGLQLMf-6tyHhlqQGADwwtwkeM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3856.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/suGEyRXGl9j3u6dMCqGLQLMf-6tyHhlqQGADwwtwkeM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 39906}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/suGEyRXGl9j3u6dMCqGLQLMf-6tyHhlqQGADwwtwkeM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3857.0>, params: %{}, path_info: [".well-known", "acme-challenge", "suGEyRXGl9j3u6dMCqGLQLMf-6tyHhlqQGADwwtwkeM"], 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://pinchflat.f2fv7 (truncated) 13:20:22.520 [info] GET /.well-known/acme-challenge/L_gqTO2dmpYpM6DQDL0e0CpzgeuOJwmCJNexc5ICbIA 13:20:22.522 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms 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 [] 13:20:22.523 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=367.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 [] 13:20:22.523 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:20:22.524 [error] #PID<0.3859.0> running PinchflatWeb.Endpoint (connection #PID<0.3858.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/L_gqTO2dmpYpM6DQDL0e0CpzgeuOJwmCJNexc5ICbIA ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/L_gqTO2dmpYpM6DQDL0e0CpzgeuOJwmCJNexc5ICbIA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3858.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/L_gqTO2dmpYpM6DQDL0e0CpzgeuOJwmCJNexc5ICbIA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 39914}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/L_gqTO2dmpYpM6DQDL0e0CpzgeuOJwmCJNexc5ICbIA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3859.0>, params: %{}, path_info: [".well-known", "acme-challenge", "L_gqTO2dmpYpM6DQDL0e0CpzgeuOJwmCJNexc5ICbIA"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/L_gqTO2dmpYpM6DQDL0e0CpzgeuOJwmCJNexc5ICbIA"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/L_gqTO2dmpYpM6DQDL0e0CpzgeuOJwmCJNexc5ICbIA", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDf48PZRXIoX1UAALhi"} ], 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.3858.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/L_gqTO2dmpYpM6DQDL0e0CpzgeuOJwmCJNexc5ICbIA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 39914}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/L_gqTO2dmpYpM6DQDL0e0CpzgeuOJwmCJNexc5ICbIA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/L_gqTO2dmpYpM6DQDL0e0CpzgeuOJwmCJNexc5ICbIA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3858.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/L_gqTO2dmpYpM6DQDL0e0CpzgeuOJwmCJNexc5ICbIA", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 39914}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/L_gqTO2dmpYpM6DQDL0e0CpzgeuOJwmCJNexc5ICbIA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3859.0>, params: %{}, path_info: [".well-known", "acme-challenge", "L_gqTO2dmpYpM6DQDL0e0CpzgeuOJwmCJNexc5ICbIA"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:20:36.592 [info] GET /.well-known/acme-challenge/nnQ0yqkjj5En5EOWrRFfk27UfQgzjkjVXC4-_4Erb1I 13:20:36.593 [debug] QUERY OK source="settings" db=0.7ms idle=503.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 [] 13:20:36.594 [debug] QUERY OK source="settings" db=0.4ms idle=197.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 [] 13:20:36.594 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:20:36.595 [error] #PID<0.3861.0> running PinchflatWeb.Endpoint (connection #PID<0.3860.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/nnQ0yqkjj5En5EOWrRFfk27UfQgzjkjVXC4-_4Erb1I ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/nnQ0yqkjj5En5EOWrRFfk27UfQgzjkjVXC4-_4Erb1I (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3860.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/nnQ0yqkjj5En5EOWrRFfk27UfQgzjkjVXC4-_4Erb1I", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 48584}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/nnQ0yqkjj5En5EOWrRFfk27UfQgzjkjVXC4-_4Erb1I", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3861.0>, params: %{}, path_info: [".well-known", "acme-challenge", "nnQ0yqkjj5En5EOWrRFfk27UfQgzjkjVXC4-_4Erb1I"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/nnQ0yqkjj5En5EOWrRFfk27UfQgzjkjVXC4-_4Erb1I"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/nnQ0yqkjj5En5EOWrRFfk27UfQgzjkjVXC4-_4Erb1I", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDf5wqYN1QI4S8AALiC"} ], 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.3860.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/nnQ0yqkjj5En5EOWrRFfk27UfQgzjkjVXC4-_4Erb1I", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 48584}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/nnQ0yqkjj5En5EOWrRFfk27UfQgzjkjVXC4-_4Erb1I", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/nnQ0yqkjj5En5EOWrRFfk27UfQgzjkjVXC4-_4Erb1I (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3860.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/nnQ0yqkjj5En5EOWrRFfk27UfQgzjkjVXC4-_4Erb1I", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 48584}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/nnQ0yqkjj5En5EOWrRFfk27UfQgzjkjVXC4-_4Erb1I", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3861.0>, params: %{}, path_info: [".well-known", "acme-challenge", "nnQ0yqkjj5En5EOWrRFfk27UfQgzjkjVXC4-_4Erb1I"], 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://pinchflat.f2fv7 (truncated) 13:20:38.661 [info] GET /sources/6/media/7358/force_download 13:20:38.662 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=566.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 [] 13:20:38.663 [debug] QUERY OK source="settings" db=0.2ms idle=266.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 [] 13:20:38.663 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:20:38.664 [error] #PID<0.3863.0> running PinchflatWeb.Endpoint (connection #PID<0.3862.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /sources/6/media/7358/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/6/media/7358/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3862.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/7358/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48598}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "47.128.19.188", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3863.0>, params: %{}, path_info: ["sources", "6", "media", "7358", "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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"host", "pinchflat.suranyami.com"}, {"priority", "u=0, i"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "47.128.19.188"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/6/media/7358/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDf54Xp4r4fr88AALii"} ], 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.3862.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/7358/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48598}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "47.128.19.188", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/7358/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3862.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/7358/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48598}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespide (truncated) 13:20:38.933 [info] GET /.well-known/acme-challenge/uQA23FBzF4dKjTg63UAHivP8Xfc7_nL1gESdDBSa4RY 13:20:38.934 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=537.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 [] 13:20:38.935 [debug] QUERY OK source="settings" db=0.2ms idle=538.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 [] 13:20:38.935 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:20:38.936 [error] #PID<0.3864.0> running PinchflatWeb.Endpoint (connection #PID<0.3862.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/uQA23FBzF4dKjTg63UAHivP8Xfc7_nL1gESdDBSa4RY ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/uQA23FBzF4dKjTg63UAHivP8Xfc7_nL1gESdDBSa4RY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3862.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/uQA23FBzF4dKjTg63UAHivP8Xfc7_nL1gESdDBSa4RY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48598}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/uQA23FBzF4dKjTg63UAHivP8Xfc7_nL1gESdDBSa4RY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3864.0>, params: %{}, path_info: [".well-known", "acme-challenge", "uQA23FBzF4dKjTg63UAHivP8Xfc7_nL1gESdDBSa4RY"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/uQA23FBzF4dKjTg63UAHivP8Xfc7_nL1gESdDBSa4RY"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/uQA23FBzF4dKjTg63UAHivP8Xfc7_nL1gESdDBSa4RY", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDf55Ye9WJ2dpIAALjC"} ], 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.3862.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/uQA23FBzF4dKjTg63UAHivP8Xfc7_nL1gESdDBSa4RY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48598}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/uQA23FBzF4dKjTg63UAHivP8Xfc7_nL1gESdDBSa4RY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/uQA23FBzF4dKjTg63UAHivP8Xfc7_nL1gESdDBSa4RY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3862.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/uQA23FBzF4dKjTg63UAHivP8Xfc7_nL1gESdDBSa4RY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48598}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/uQA23FBzF4dKjTg63UAHivP8Xfc7_nL1gESdDBSa4RY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3864.0>, params: %{}, path_info: [".well-known", "acme-challenge", "uQA23FBzF4dKjTg63UAHivP8Xfc7_nL1gESdDBSa4RY"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:20:49.318 [info] GET /.well-known/acme-challenge/2W7nTSex8WiTIwxC9jzNh2CG063j791YKfNZAxMPti0 13:20:49.319 [debug] QUERY OK source="settings" db=0.2ms idle=1188.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 [] 13:20:49.320 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:20:49.320 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:20:49.321 [error] #PID<0.3868.0> running PinchflatWeb.Endpoint (connection #PID<0.3867.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/2W7nTSex8WiTIwxC9jzNh2CG063j791YKfNZAxMPti0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/2W7nTSex8WiTIwxC9jzNh2CG063j791YKfNZAxMPti0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3867.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/2W7nTSex8WiTIwxC9jzNh2CG063j791YKfNZAxMPti0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 59312}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/2W7nTSex8WiTIwxC9jzNh2CG063j791YKfNZAxMPti0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3868.0>, params: %{}, path_info: [".well-known", "acme-challenge", "2W7nTSex8WiTIwxC9jzNh2CG063j791YKfNZAxMPti0"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/2W7nTSex8WiTIwxC9jzNh2CG063j791YKfNZAxMPti0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/2W7nTSex8WiTIwxC9jzNh2CG063j791YKfNZAxMPti0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDf6gEqKpUj5yoAALji"} ], 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.3867.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/2W7nTSex8WiTIwxC9jzNh2CG063j791YKfNZAxMPti0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 59312}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/2W7nTSex8WiTIwxC9jzNh2CG063j791YKfNZAxMPti0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/2W7nTSex8WiTIwxC9jzNh2CG063j791YKfNZAxMPti0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3867.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/2W7nTSex8WiTIwxC9jzNh2CG063j791YKfNZAxMPti0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 59312}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/2W7nTSex8WiTIwxC9jzNh2CG063j791YKfNZAxMPti0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3868.0>, params: %{}, path_info: [".well-known", "acme-challenge", "2W7nTSex8WiTIwxC9jzNh2CG063j791YKfNZAxMPti0"], 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://pinchflat.f2fv7 (truncated) 13:20:51.123 [info] GET /.well-known/acme-challenge/r5YbYoWra_cfZssIxuIqcJ81zHRn2xcvmwESg2Mwk3c 13:20:51.124 [debug] QUERY OK source="settings" db=0.8ms idle=987.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 [] 13:20:51.125 [debug] QUERY OK source="settings" db=0.6ms idle=728.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 [] 13:20:51.126 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:20:51.127 [error] #PID<0.3869.0> running PinchflatWeb.Endpoint (connection #PID<0.3867.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/r5YbYoWra_cfZssIxuIqcJ81zHRn2xcvmwESg2Mwk3c ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/r5YbYoWra_cfZssIxuIqcJ81zHRn2xcvmwESg2Mwk3c (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3867.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/r5YbYoWra_cfZssIxuIqcJ81zHRn2xcvmwESg2Mwk3c", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 59312}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/r5YbYoWra_cfZssIxuIqcJ81zHRn2xcvmwESg2Mwk3c", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3869.0>, params: %{}, path_info: [".well-known", "acme-challenge", "r5YbYoWra_cfZssIxuIqcJ81zHRn2xcvmwESg2Mwk3c"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/r5YbYoWra_cfZssIxuIqcJ81zHRn2xcvmwESg2Mwk3c"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/r5YbYoWra_cfZssIxuIqcJ81zHRn2xcvmwESg2Mwk3c", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDf6my5gSjVy5gAALkC"} ], 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.3867.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/r5YbYoWra_cfZssIxuIqcJ81zHRn2xcvmwESg2Mwk3c", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 59312}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/r5YbYoWra_cfZssIxuIqcJ81zHRn2xcvmwESg2Mwk3c", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/r5YbYoWra_cfZssIxuIqcJ81zHRn2xcvmwESg2Mwk3c (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3867.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/r5YbYoWra_cfZssIxuIqcJ81zHRn2xcvmwESg2Mwk3c", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 59312}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/r5YbYoWra_cfZssIxuIqcJ81zHRn2xcvmwESg2Mwk3c", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.3869.0>, params: %{}, path_info: [".well-known", "acme-challenge", "r5YbYoWra_cfZssIxuIqcJ81zHRn2xcvmwESg2Mwk3c"], 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://pinchflat.f2fv7 (truncated) 13:20:51.217 [info] {"source":"oban","duration":1751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:55.887 [info] GET /.well-known/acme-challenge/Nsk-mYkEV0c6bzRq_hzTP5a3CxFiS62w4oxHSUTLJ2c 13:20:55.889 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1492.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 [] 13:20:55.890 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1493.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 [] 13:20:55.890 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:20:55.891 [error] #PID<0.3871.0> running PinchflatWeb.Endpoint (connection #PID<0.3870.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/Nsk-mYkEV0c6bzRq_hzTP5a3CxFiS62w4oxHSUTLJ2c ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Nsk-mYkEV0c6bzRq_hzTP5a3CxFiS62w4oxHSUTLJ2c (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3870.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Nsk-mYkEV0c6bzRq_hzTP5a3CxFiS62w4oxHSUTLJ2c", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48628}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Nsk-mYkEV0c6bzRq_hzTP5a3CxFiS62w4oxHSUTLJ2c", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3871.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Nsk-mYkEV0c6bzRq_hzTP5a3CxFiS62w4oxHSUTLJ2c"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/Nsk-mYkEV0c6bzRq_hzTP5a3CxFiS62w4oxHSUTLJ2c"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/Nsk-mYkEV0c6bzRq_hzTP5a3CxFiS62w4oxHSUTLJ2c", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDf64iwz7LG5b4AALki"} ], 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.3870.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Nsk-mYkEV0c6bzRq_hzTP5a3CxFiS62w4oxHSUTLJ2c", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48628}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Nsk-mYkEV0c6bzRq_hzTP5a3CxFiS62w4oxHSUTLJ2c", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Nsk-mYkEV0c6bzRq_hzTP5a3CxFiS62w4oxHSUTLJ2c (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3870.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Nsk-mYkEV0c6bzRq_hzTP5a3CxFiS62w4oxHSUTLJ2c", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48628}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Nsk-mYkEV0c6bzRq_hzTP5a3CxFiS62w4oxHSUTLJ2c", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3871.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Nsk-mYkEV0c6bzRq_hzTP5a3CxFiS62w4oxHSUTLJ2c"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:20:58.442 [info] GET /.well-known/acme-challenge/6IIoR8WqDCkHPNSb2dIWbCOKCkI1DiRD43DrtDpxODY 13:20:58.444 [debug] QUERY OK source="settings" db=0.3ms idle=1047.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 [] 13:20:58.444 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1048.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 [] 13:20:58.444 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:20:58.445 [error] #PID<0.3872.0> running PinchflatWeb.Endpoint (connection #PID<0.3870.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/6IIoR8WqDCkHPNSb2dIWbCOKCkI1DiRD43DrtDpxODY ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/6IIoR8WqDCkHPNSb2dIWbCOKCkI1DiRD43DrtDpxODY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3870.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6IIoR8WqDCkHPNSb2dIWbCOKCkI1DiRD43DrtDpxODY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48628}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/6IIoR8WqDCkHPNSb2dIWbCOKCkI1DiRD43DrtDpxODY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3872.0>, params: %{}, path_info: [".well-known", "acme-challenge", "6IIoR8WqDCkHPNSb2dIWbCOKCkI1DiRD43DrtDpxODY"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/6IIoR8WqDCkHPNSb2dIWbCOKCkI1DiRD43DrtDpxODY"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/6IIoR8WqDCkHPNSb2dIWbCOKCkI1DiRD43DrtDpxODY", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDf7CD7t7iVv-IAALlC"} ], 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.3870.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6IIoR8WqDCkHPNSb2dIWbCOKCkI1DiRD43DrtDpxODY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48628}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/6IIoR8WqDCkHPNSb2dIWbCOKCkI1DiRD43DrtDpxODY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/6IIoR8WqDCkHPNSb2dIWbCOKCkI1DiRD43DrtDpxODY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3870.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/6IIoR8WqDCkHPNSb2dIWbCOKCkI1DiRD43DrtDpxODY", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 48628}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/6IIoR8WqDCkHPNSb2dIWbCOKCkI1DiRD43DrtDpxODY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3872.0>, params: %{}, path_info: [".well-known", "acme-challenge", "6IIoR8WqDCkHPNSb2dIWbCOKCkI1DiRD43DrtDpxODY"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:21:00.191 [info] {"args":{"id":2},"id":1695,"meta":{},"system_time":1774664460190987936,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:21:00.193 [debug] QUERY OK source="sources" db=1.7ms idle=1747.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" = ?) [2] 13:21:00.201 [debug] QUERY OK source="settings" db=7.7ms queue=0.1ms idle=1748.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 [] 13:21:00.202 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1035.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] 13:21:00.206 [debug] QUERY OK source="settings" db=4.2ms idle=31.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 [] 13:21:00.207 [debug] Fetching recent media IDs from YouTube API for playlist: UUjzi56cxvmEDwjo1Bd2Yxpg 13:21:00.207 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:21:00.207 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:21:00.792 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:21:02.760 [debug] QUERY OK source="media_items" db=2.4ms idle=1361.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "CzjE_CAAdm8", "Hw2_s31u_4Q", "b4x9IzQtiA0", "16aM5Bop7Qw", "3hBk9xqT9hs", "xDa45wnAzc8", "Yq41acIvzj8", "Ttn_Q1B2ALc", "-bV0F6OP31U", "qAstyiKRt10", "NF2StvrYme0", "_Q-2UzYr3AA", "FeEEy3jZvlM", "EHaNwda0xto", "KL0u63mAy5M", "fzklfnO42ts", "oZ4kddHCFVY", "spSOp5s_6_A", "C48yl9fSYv8", "654RgtNwXZ8", "4wu_B_XF6wk", "wFLJxWyDJPs", "J5NKnYfn6qw", "fcVRuF6c-bc", "xNAFpSnpqjs", "cavmWZnCeJI", "_J0gQ5GdUSk", "_oISg668F40", "v34wa9QhF0s", "iEen_cClzkg", "CD9wUM2v-0U", "E8k9oqjl5_E", "lQDUMfg_SJc", "pPMD0YPBHQ4", "qq1IN4umTI8", "L63goFhe8KM", "5OXvwQ3CB1I", "doZvHBPoVCw", "9SXMTDO4lIo", "8JmSUN8jp3Q", "7oSgaaUEjZM", "sKSPwnFSRCw", "gdY_Q9ltw8w", "uHbviTslBFY", "gMzXgYFT4Ck", "NdsMuD-_5To", "9JXltNRqLu4", "7ThBvLBMacw", "7BTWa3jFBMw", ...] 13:21:02.843 [debug] QUERY OK source="media_items" db=80.7ms idle=1366.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 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] 13:21:02.850 [debug] QUERY OK source="tasks" db=0.5ms idle=89.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1701, 2, ~U[2026-03-28 02:21:02Z], ~U[2026-03-28 02:21:02Z]] 13:21:02.857 [info] {"args":{"id":2},"id":1695,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":2659530,"event":"job:stop","queue_time":280939,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:21:04.190 [info] {"args":{"id":4},"id":1696,"meta":{},"system_time":1774664464190016254,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:21:04.190 [debug] QUERY OK source="sources" db=0.4ms idle=1332.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] 13:21:04.191 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1325.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 [] 13:21:04.192 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1013.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] 13:21:04.193 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=10.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 [] 13:21:04.193 [debug] Fetching recent media IDs from YouTube API for playlist: UUEiui9T4ZYx8K8nuZ5YFSTw 13:21:04.195 [debug] QUERY OK source="settings" db=1.1ms 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 [] 13:21:04.195 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:21:04.703 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=509.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [4, "gthI7e6zPWo", "psRX1C7auj8", "2ZtSRjGhStw", "Z8KiNkDP9c4", "AZibPvCnG4k", "QXNPI7Ucivo", "WtxCD4567G4", "80bkfWoOHaE", "pYBAEGrhggM", "9M3wLySdGXY", "mcvbD_Ipbf8", "E_Y7kLO3Iaw", "gPdh5lVJYD0", "qrkTK1UcvSM", "45UcuOLjxeY", "gnbhO9hJ198", "fiFzXo1wNno", "TM5mKkwC0Ok", "kS2A72peqmg", "ueDcEpRFW_M", "AN4-pHYBK2M", "TMNa6ocIv8o", "S1Vt1tQJczE", "_BEmUjtwhLw", "1bxoWiQ2AQY", "CZeRfNeKEBE", "2nftRe3tjLQ", "v1biAguVbg8", "cLDsQImoeHQ", "hhH7mchDBXY", "uQj2W5ej104", "vYRV_nprXBA", "1v_qsQL3mo8", "hfHxFTbVaTo", "mfWqziOaR4A", "AmCWMmKgHkI", "ZWgq-s8r2FE", "1dAkTDsD1c4", "ozdDp_eMPZY", "iHogtXxywLQ", "7ysd04ltGag", "5jq8kH9s0V8", "AB6bC9gtfoc", "R7Tm3zvyy9U", "dUHzocz0hLo", "9Oh6oVrf7kM", "LzUhByZ4jtc", "j7evpR_Fbsw", "_iGhJt3ah8E", ...] 13:21:04.716 [debug] QUERY OK source="media_items" db=7.9ms queue=0.1ms idle=516.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 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] 13:21:04.895 [debug] QUERY OK source="tasks" db=0.3ms idle=3.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1702, 4, ~U[2026-03-28 02:21:04Z], ~U[2026-03-28 02:21:04Z]] 13:21:04.896 [info] {"args":{"id":4},"id":1696,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":705728,"event":"job:stop","queue_time":242616,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:21:07.246 [info] GET /.well-known/acme-challenge/FlF6znOrX6mGArnB7S66J4pVlEbrC2AF4BiCfw9kXG0 13:21:07.248 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=850.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 [] 13:21:07.249 [debug] QUERY OK source="settings" db=0.5ms queue=0.3ms idle=852.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 [] 13:21:07.249 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:21:07.250 [error] #PID<0.3876.0> running PinchflatWeb.Endpoint (connection #PID<0.3875.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/FlF6znOrX6mGArnB7S66J4pVlEbrC2AF4BiCfw9kXG0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/FlF6znOrX6mGArnB7S66J4pVlEbrC2AF4BiCfw9kXG0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3875.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/FlF6znOrX6mGArnB7S66J4pVlEbrC2AF4BiCfw9kXG0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53190}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/FlF6znOrX6mGArnB7S66J4pVlEbrC2AF4BiCfw9kXG0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3876.0>, params: %{}, path_info: [".well-known", "acme-challenge", "FlF6znOrX6mGArnB7S66J4pVlEbrC2AF4BiCfw9kXG0"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/FlF6znOrX6mGArnB7S66J4pVlEbrC2AF4BiCfw9kXG0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/FlF6znOrX6mGArnB7S66J4pVlEbrC2AF4BiCfw9kXG0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDf7i2_C-f3wOsAAMci"} ], 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.3875.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/FlF6znOrX6mGArnB7S66J4pVlEbrC2AF4BiCfw9kXG0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53190}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/FlF6znOrX6mGArnB7S66J4pVlEbrC2AF4BiCfw9kXG0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/FlF6znOrX6mGArnB7S66J4pVlEbrC2AF4BiCfw9kXG0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3875.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/FlF6znOrX6mGArnB7S66J4pVlEbrC2AF4BiCfw9kXG0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53190}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/FlF6znOrX6mGArnB7S66J4pVlEbrC2AF4BiCfw9kXG0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.3876.0>, params: %{}, path_info: [".well-known", "acme-challenge", "FlF6znOrX6mGArnB7S66J4pVlEbrC2AF4BiCfw9kXG0"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:21:09.478 [info] GET / 13:21:09.479 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:21:09.480 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1083.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 [] 13:21:09.481 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1084.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:21:09.481 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1085.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:21:09.532 [debug] QUERY OK source="media_items" db=50.6ms queue=0.1ms idle=1085.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:21:09.536 [debug] QUERY OK source="media_items" db=3.1ms idle=336.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:21:09.538 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=56.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 [] 13:21:09.538 [debug] QUERY OK source="settings" db=0.2ms idle=57.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 [] 13:21:09.539 [debug] QUERY OK source="settings" db=0.2ms idle=57.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 [] 13:21:09.544 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 13:21:09.546 [debug] QUERY OK source="media_items" db=0.6ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:21:09.547 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=9.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" IN (?,?)) [2, 6] 13:21:09.610 [debug] QUERY OK source="media_items" db=55.8ms queue=0.1ms idle=15.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 (((((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"))) [] 13:21:09.674 [debug] QUERY OK source="media_items" db=63.4ms queue=0.2ms idle=71.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:21:09.676 [debug] QUERY OK source="sources" db=0.5ms idle=130.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] 13:21:09.681 [debug] QUERY OK source="tasks" db=0.7ms idle=135.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:21:09.683 [debug] QUERY OK source="media_items" db=0.4ms idle=135.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3613, 3616] 13:21:09.687 [info] Sent 200 in 208ms 13:21:18.156 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=80-73S4OJmU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/3b/c1/3bc141551e9775ec974b01a05fb684ef213ad8ee1fa7edfafadbf7808f672fb0.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:21:18.261 [debug] Running yt-dlp command for action: download_thumbnail 13:21:18.263 [debug] QUERY OK source="settings" db=0.2ms idle=1040.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 [] 13:21:18.264 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=867.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 [] 13:21:18.264 [debug] QUERY OK source="settings" db=0.5ms idle=867.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 [] 13:21:18.265 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=80-73S4OJmU --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3616/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/71/98/7198ec2dd643a9cb0ecff20acea37afa77cbf0948e7a844f706d3be053ffaed0.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:21:21.222 [info] {"source":"oban","duration":3782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:27.017 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=80-73S4OJmU --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3616/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/71/98/7198ec2dd643a9cb0ecff20acea37afa77cbf0948e7a844f706d3be053ffaed0.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:21:27.020 [debug] QUERY OK db=0.4ms idle=1623.5ms begin [] 13:21:27.026 [debug] QUERY OK source="media_items" db=5.5ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 02:21:18Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e081999 - Caipirinha - the Brazilian Classic, 2 Ways.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e081999 - Caipirinha - the Brazilian Classic, 2 Ways.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e081999 - Caipirinha - the Brazilian Classic, 2 Ways.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e081999 - Caipirinha - the Brazilian Classic, 2 Ways.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e081999 - Caipirinha - the Brazilian Classic, 2 Ways.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e081999 - Caipirinha - the Brazilian Classic, 2 Ways-thumb.jpg", ~U[2026-03-28 02:21:27Z], 3616] 13:21:27.029 [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/3616/metadata.json.gz", "/config/metadata/media_items/3616/thumbnail.jpg", 3616, ~U[2026-03-28 02:21:27Z], ~U[2026-03-28 02:21:27Z]] 13:21:27.031 [debug] QUERY OK db=1.2ms commit [] 13:21:27.063 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=1663.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [120120762, ~U[2026-03-28 02:21:27Z], 3616] 13:21:27.063 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:21:27.072 [info] {"args":{"id":3616},"id":650,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":218539640,"event":"job:stop","queue_time":79554523077,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:21:27.082 [info] {"args":{"id":3619},"id":651,"meta":{},"system_time":1774664487082254332,"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"]} 13:21:27.088 [debug] QUERY OK source="media_items" db=5.0ms queue=0.2ms idle=687.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" = ?) [3619] 13:21:27.089 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:21:27.095 [debug] QUERY OK source="sources" db=6.1ms idle=58.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" = ?) [4] 13:21:27.096 [debug] QUERY OK source="media_profiles" db=0.4ms idle=33.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] 13:21:27.097 [debug] QUERY OK source="media_items" db=0.8ms idle=24.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 [3619] 13:21:27.100 [debug] QUERY OK source="media_metadata" db=0.2ms idle=17.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" = ?) [3619] 13:21:27.101 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.2ms 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] 13:21:27.103 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 13:21:27.104 [debug] QUERY OK source="settings" db=0.5ms queue=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 [] 13:21:27.105 [debug] Running yt-dlp command for action: get_downloadable_status 13:21:27.108 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms 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 [] 13:21:27.109 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms 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 [] 13:21:27.110 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms 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 [] 13:21:27.110 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Cvhnux3fsOU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/00/fa/00faa62c4f9761006e181c31da03b41104341432da275ede7a9c2cd7ead3341c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:21:34.284 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Cvhnux3fsOU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/00/fa/00faa62c4f9761006e181c31da03b41104341432da275ede7a9c2cd7ead3341c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:21:34.284 [debug] Running yt-dlp command for action: download 13:21:34.285 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1888.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 [] 13:21:34.286 [debug] QUERY OK source="settings" db=0.4ms idle=1889.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 [] 13:21:34.286 [debug] QUERY OK source="settings" db=0.3ms idle=1890.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 [] 13:21:34.287 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Cvhnux3fsOU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c5/d8/c5d89b93a83d02d7ece06b7e2750d2557c67146510c98944b0d15f91c7439d4c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:21:42.640 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4Y4C4aLR7P0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ef/36/ef367acd2774b46ea4804e819c56cfb64d8e32aa44cebcd2baf0da502c7b8605.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:21:42.744 [debug] Running yt-dlp command for action: download_thumbnail 13:21:42.747 [debug] QUERY OK source="settings" db=0.6ms idle=1350.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 [] 13:21:42.748 [debug] QUERY OK source="settings" db=0.3ms idle=440.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 [] 13:21:42.748 [debug] QUERY OK source="settings" db=0.3ms idle=351.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 [] 13:21:42.749 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4Y4C4aLR7P0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3613/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/49/b7/49b7f83ad79e5f4b670bbddb732b177d806ea4ae27bf186b834ba11292fc64e1.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:21:50.118 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4Y4C4aLR7P0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3613/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/49/b7/49b7f83ad79e5f4b670bbddb732b177d806ea4ae27bf186b834ba11292fc64e1.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:21:50.119 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1722.7ms begin [] 13:21:50.121 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [493, ~U[2026-03-28 02:21:42Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e082699 - IKEA Should Be Selling These Bottled Cocktails!.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e082699 - IKEA Should Be Selling These Bottled Cocktails!.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e082699 - IKEA Should Be Selling These Bottled Cocktails!.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e082699 - IKEA Should Be Selling These Bottled Cocktails!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e082699 - IKEA Should Be Selling These Bottled Cocktails!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e082699 - IKEA Should Be Selling These Bottled Cocktails!-thumb.jpg", ~U[2026-03-28 02:21:50Z], 3613] 13:21:50.126 [debug] QUERY OK source="media_metadata" db=5.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/3613/metadata.json.gz", "/config/metadata/media_items/3613/thumbnail.jpg", 3613, ~U[2026-03-28 02:21:50Z], ~U[2026-03-28 02:21:50Z]] 13:21:50.127 [debug] QUERY OK db=0.5ms commit [] 13:21:50.132 [debug] QUERY OK source="media_items" db=2.1ms idle=1733.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [173909597, ~U[2026-03-28 02:21:50Z], 3613] 13:21:50.132 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:21:50.133 [info] {"args":{"id":3613},"id":649,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":276546400,"event":"job:stop","queue_time":79524570065,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:21:50.140 [info] {"args":{"id":3622},"id":652,"meta":{},"system_time":1774664510140448332,"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"]} 13:21:50.141 [debug] QUERY OK source="media_items" db=0.7ms idle=814.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" = ?) [3622] 13:21:50.142 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:21:50.143 [debug] QUERY OK source="sources" db=0.8ms idle=14.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" = ?) [4] 13:21:50.144 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 13:21:50.145 [debug] QUERY OK source="media_items" db=1.1ms idle=11.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 [3622] 13:21:50.148 [debug] QUERY OK source="media_metadata" db=0.2ms idle=7.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" = ?) [3622] 13:21:50.149 [debug] QUERY OK source="media_profiles" db=0.5ms idle=6.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] 13:21:50.149 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:21:50.150 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:21:50.150 [debug] Running yt-dlp command for action: get_downloadable_status 13:21:50.151 [debug] QUERY OK source="settings" db=0.1ms idle=5.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 [] 13:21:50.151 [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 [] 13:21:50.152 [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 [] 13:21:50.152 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2YqpPAdYNa8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5d/74/5d74856342a9844be197e482a7033bcad653996095fd8e60b84505bfc4cffb5b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:21:51.225 [info] {"source":"oban","duration":1161,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:58.200 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2YqpPAdYNa8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5d/74/5d74856342a9844be197e482a7033bcad653996095fd8e60b84505bfc4cffb5b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:21:58.201 [debug] Running yt-dlp command for action: download 13:21:58.201 [debug] QUERY OK source="settings" db=0.3ms idle=1805.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 [] 13:21:58.203 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=852.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 [] 13:21:58.204 [debug] QUERY OK source="settings" db=0.3ms queue=0.9ms idle=807.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 [] 13:21:58.206 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2YqpPAdYNa8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8a/e6/8ae633b5d86ed4765532e8d906aff0cadf6144878e1e07e2b3e06fd71c54772b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:22:00.793 [info] {"source":"oban","duration":437,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:22:01.372 [info] {"args":{"id":5},"id":1697,"meta":{},"system_time":1774664521371757840,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:22:01.373 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=1976.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] 13:22:01.375 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1015.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 [] 13:22:01.376 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=581.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] 13:22:01.377 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:22:01.377 [debug] Fetching recent media IDs from YouTube API for playlist: UUVwfqPkv08OTuHzkPU3EaDw 13:22:01.378 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=6.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 [] 13:22:01.379 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:22:01.898 [debug] QUERY OK source="media_items" db=3.1ms idle=521.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [5, "k8Yr1jU-0EE", "NFrnhg8hI0c", "20XMhcpSNV0", "YVGFnwJho6E", "xQXiSGDXknA", "uZl0TO8i96g", "Hs5ewNKWUwk", "E5suxhHY0aY", "sCou7ut2L-o", "a0INtLdzUiE", "n0x8sH0M9CE", "W4Af6DIMqnE", "Q-sUbLem5aI", "s-jMj11w68U", "DS9HZG5JRBc", "_wLy-vzLi3E", "iFpZfYwRcns", "nPovqKKSKcE", "j_w4tRYm7Og", "laZpTO7IFtA", "FM5e9Vb1noE", "cK6g53lLgnw", "1X5WYEhzGyI", "QVpu66njzdE", "tfnANe2YUwM", "0-QK6hxLxgM", "TYUeXqSlcDg", "0322Pk-GKto", "1Em1UrRSEXc", "x2RT9Awsyi8", "4Yth52yml8E", "ky9Zo2FmjQ8", "npU2QpX5piA", "XEb_1Sq8jNo", "L3QQDAKxUIk", "l3s8S6bBbOs", "WyWBU1NpDf8", "7wZ0NVuoDWg", "-Ig2-rBZtSI", "5BG06-J1t4Y", "GcQ6vQEeQew", "ap8S88LeiB0", "4LvXP3XR6gw", "I9o65_aIq0Q", "Ut9XjFkGK6s", "PcFkjR5NELA", "Yl67318oP-s", "umbar5BKBus", "FEfCtNhVjJ0", ...] 13:22:01.907 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=527.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 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")))) [5] 13:22:02.097 [debug] QUERY OK source="tasks" db=0.4ms idle=7.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1703, 5, ~U[2026-03-28 02:22:02Z], ~U[2026-03-28 02:22:02Z]] 13:22:02.098 [info] {"args":{"id":5},"id":1697,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":725846,"event":"job:stop","queue_time":410851,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:22:09.855 [info] GET / 13:22:09.855 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:22:09.857 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms 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 [] 13:22:09.857 [debug] QUERY OK source="media_profiles" db=0.2ms idle=461.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:22:09.858 [debug] QUERY OK source="sources" db=0.1ms idle=461.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:22:09.898 [debug] QUERY OK source="media_items" db=40.5ms idle=461.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:22:09.903 [debug] QUERY OK source="media_items" db=4.3ms queue=0.1ms idle=502.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:22:09.904 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=47.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 [] 13:22:09.905 [debug] QUERY OK source="settings" db=0.7ms idle=47.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 [] 13:22:09.906 [debug] QUERY OK source="settings" db=0.4ms idle=47.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 [] 13:22:09.916 [debug] QUERY OK source="media_items" db=8.9ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 13:22:09.917 [debug] QUERY OK source="media_items" db=0.6ms idle=13.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:22:09.918 [debug] QUERY OK source="sources" db=0.2ms 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" IN (?,?)) [2, 6] 13:22:09.973 [debug] QUERY OK source="media_items" db=52.6ms idle=15.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 (((((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"))) [] 13:22:10.036 [debug] QUERY OK source="media_items" db=63.1ms idle=67.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:22:10.038 [debug] QUERY OK source="sources" db=0.3ms idle=121.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" = ?) [6] 13:22:10.045 [debug] QUERY OK source="tasks" db=0.6ms idle=127.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:22:10.046 [debug] QUERY OK source="media_items" db=0.6ms idle=127.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3619, 3622] 13:22:10.048 [info] Sent 200 in 192ms 13:22:21.230 [info] {"source":"oban","duration":4280,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:51.234 [info] {"source":"oban","duration":3025,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:54.579 [info] {"args":{"id":1},"id":1698,"meta":{},"system_time":1774664574578835772,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:22:54.591 [debug] QUERY OK source="sources" db=11.5ms idle=1028.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] 13:22:54.593 [debug] QUERY OK source="settings" db=1.6ms queue=0.1ms 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 [] 13:22:54.595 [debug] QUERY OK source="media_profiles" db=0.8ms idle=197.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] 13:22:54.605 [debug] QUERY OK source="settings" db=10.1ms queue=0.1ms idle=39.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 [] 13:22:54.605 [debug] Fetching recent media IDs from YouTube API for playlist: UUISrVZmDM4x-Rq9mmNUw7Zw 13:22:54.606 [debug] QUERY OK source="settings" db=0.3ms idle=27.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 [] 13:22:54.606 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:22:55.193 [debug] QUERY OK source="media_items" db=1.4ms idle=600.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "Q0qmHym16H4", "WcWL0_PlcO8", "dQV1WkSly7k", "Xpohopi2_tA", "fsZdCn4jIUY", "hgk2jMPnG2w", "oDh4gg7xiUs", "3LfUmSMW_qc", "5gN9QvwPLq8", "uSBe19ms3aw", "Eq1BmJikpHA", "OsKelxcQUNo", "zNP6Q_Yk9hU", "ZPPCc15thCc", "UzARiS2CyJ4", "r8X8HVGVV1o", "_JI7oYBFZIo", "niCh-EI1Kfo", "92mSBlpBEJo", "_6OAB_8iwqs", "tJbcC43WELc", "cPz1rUCNI0o", "hFzt_dOdElw", "nC-QKeluT0c", "i8ARsrsVUMM", "X30l-491qck", "rzQeUM-lMUY", "BkUHm95UvCw", "MQ2cHq3-J7A", "CtF5dLHITYA", "SGJkxRdkRGg", "OUCt85aJaAA", "9gARPYZOka4", "-uH-Gi5tjEw", "qwUBBQKYX94", "s8VLDSQJ8nA", "EvPfr0lKkh4", "msXzAxF49gA", "hQCWaSvjkU0", "RcmjVsy3a-g", "xtuNc9vYJG4", "fj2tcg8OzsM", "2FZ4IfPACDM", "2Q9DzW20YJ8", "IVsWFGOE_mw", "vPxpMcv2Z4Y", "Zverj_ldlhY", "pQK8xasPd9Q", "_Yo7nh8u9pk", ...] 13:22:55.196 [debug] QUERY OK source="media_items" db=1.6ms idle=601.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 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] 13:22:55.238 [debug] QUERY OK source="tasks" db=0.8ms idle=16.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1704, 1, ~U[2026-03-28 02:22:55Z], ~U[2026-03-28 02:22:55Z]] 13:22:55.243 [info] {"args":{"id":1},"id":1698,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":659735,"event":"job:stop","queue_time":454392,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:23:00.795 [info] {"source":"oban","duration":524,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:23:10.311 [info] GET / 13:23:10.311 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:23:10.313 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1915.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 [] 13:23:10.313 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=1916.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:23:10.314 [debug] QUERY OK source="sources" db=0.2ms idle=1917.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:23:10.374 [debug] QUERY OK source="media_items" db=59.8ms idle=1697.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:23:10.378 [debug] QUERY OK source="media_items" db=4.3ms idle=753.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:23:10.380 [debug] QUERY OK source="settings" db=0.6ms idle=66.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 [] 13:23:10.380 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:23:10.382 [debug] QUERY OK source="settings" db=0.2ms idle=68.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 [] 13:23:10.389 [debug] QUERY OK source="media_items" db=4.8ms idle=10.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 (NOT (m0."media_filepath" IS NULL)) [] 13:23:10.391 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=11.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:23:10.393 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=11.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" IN (?,?)) [2, 6] 13:23:10.465 [debug] QUERY OK source="media_items" db=64.7ms queue=0.1ms idle=19.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 (((((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"))) [] 13:23:10.522 [debug] QUERY OK source="media_items" db=56.6ms queue=0.1ms idle=83.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:23:10.524 [debug] QUERY OK source="sources" db=0.4ms idle=134.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] 13:23:10.529 [debug] QUERY OK source="tasks" db=0.6ms idle=138.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:23:10.531 [debug] QUERY OK source="media_items" db=0.4ms idle=137.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3619, 3622] 13:23:10.534 [info] Sent 200 in 223ms 13:23:21.236 [info] {"source":"oban","duration":1753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:37.426 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Cvhnux3fsOU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c5/d8/c5d89b93a83d02d7ece06b7e2750d2557c67146510c98944b0d15f91c7439d4c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:23:37.465 [debug] Running yt-dlp command for action: download_thumbnail 13:23:37.468 [debug] QUERY OK source="settings" db=0.5ms idle=1070.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 [] 13:23:37.468 [debug] QUERY OK source="settings" db=0.3ms idle=1071.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 [] 13:23:37.469 [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 [] 13:23:37.469 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Cvhnux3fsOU --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3619/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/2a/e4/2ae4dfbd7f202f09fe03398a6c2763f0ae0b3a98bae2e67911f73228d2ec0d6b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:23:44.644 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Cvhnux3fsOU --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3619/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/2a/e4/2ae4dfbd7f202f09fe03398a6c2763f0ae0b3a98bae2e67911f73228d2ec0d6b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:23:44.645 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1247.8ms begin [] 13:23:44.651 [debug] QUERY OK source="media_items" db=5.2ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 02:23:37Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e081299 - Clover Club Cocktail History + Hacks!.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e081299 - Clover Club Cocktail History + Hacks!.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e081299 - Clover Club Cocktail History + Hacks!.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e081299 - Clover Club Cocktail History + Hacks!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e081299 - Clover Club Cocktail History + Hacks!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e081299 - Clover Club Cocktail History + Hacks!-thumb.jpg", ~U[2026-03-28 02:23:44Z], 3619] 13:23:44.655 [debug] QUERY OK source="media_metadata" db=4.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/3619/metadata.json.gz", "/config/metadata/media_items/3619/thumbnail.jpg", 3619, ~U[2026-03-28 02:23:44Z], ~U[2026-03-28 02:23:44Z]] 13:23:44.659 [debug] QUERY OK db=3.4ms commit [] 13:23:44.669 [debug] QUERY OK source="media_items" db=6.4ms idle=1265.4ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [70369610, ~U[2026-03-28 02:23:44Z], 3619] 13:23:44.669 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:23:44.683 [info] {"args":{"id":3619},"id":651,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":137587415,"event":"job:stop","queue_time":79768079187,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:23:44.701 [info] {"args":{"id":3625},"id":653,"meta":{},"system_time":1774664624700839242,"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"]} 13:23:44.702 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=960.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" = ?) [3625] 13:23:44.703 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:23:44.710 [debug] QUERY OK source="sources" db=6.5ms queue=0.1ms idle=44.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" = ?) [4] 13:23:44.711 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.2ms idle=41.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] 13:23:44.712 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=28.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 [3625] 13:23:44.714 [debug] QUERY OK source="media_metadata" db=0.1ms idle=13.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" = ?) [3625] 13:23:44.715 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms 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] 13:23:44.715 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:23:44.716 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:23:44.717 [debug] Running yt-dlp command for action: get_downloadable_status 13:23:44.718 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:23:44.718 [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 [] 13:23:44.719 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:23:44.719 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3E-5ib-xroQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/61/62/61626e653e641e654ad4f5703bd31023cc4703f5c8682d6d7d9ccaf027cd2e69.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:23:51.239 [info] {"source":"oban","duration":1175,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:52.545 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3E-5ib-xroQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/61/62/61626e653e641e654ad4f5703bd31023cc4703f5c8682d6d7d9ccaf027cd2e69.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:23:52.546 [debug] Running yt-dlp command for action: download 13:23:52.547 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=777.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 [] 13:23:52.548 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=150.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 [] 13:23:52.550 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=151.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 [] 13:23:52.551 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3E-5ib-xroQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ef/67/ef67193cb33c9b27ba9ef1e6cfd99347b01ffc9c365425edda903fd0f3bb210c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:24:00.796 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:24:09.843 [info] {"args":{"id":6},"id":1699,"meta":{},"system_time":1774664649843624122,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:24:09.844 [debug] QUERY OK source="sources" db=0.3ms idle=1435.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" = ?) [6] 13:24:09.845 [debug] QUERY OK source="settings" db=0.3ms idle=1436.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 [] 13:24:09.845 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1011.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] 13:24:09.846 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:24:09.846 [debug] Fetching recent media IDs from YouTube API for playlist: UUOzMAa6IhV6uwYQATYG_2kg 13:24:09.846 [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 [] 13:24:09.846 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:24:10.758 [info] GET / 13:24:10.759 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:24:10.760 [debug] QUERY OK source="settings" db=0.3ms idle=915.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 [] 13:24:10.760 [debug] QUERY OK source="media_profiles" db=0.3ms idle=915.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:24:10.761 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=915.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:24:10.787 [debug] QUERY OK source="media_items" db=25.4ms idle=915.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:24:10.791 [debug] QUERY OK source="media_items" db=3.2ms idle=941.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:24:10.792 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=31.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 [] 13:24:10.793 [debug] QUERY OK source="settings" db=0.5ms idle=31.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 [] 13:24:10.794 [debug] QUERY OK source="settings" db=0.3ms idle=32.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 [] 13:24:10.798 [debug] QUERY OK source="media_items" db=3.1ms idle=7.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 (NOT (m0."media_filepath" IS NULL)) [] 13:24:10.799 [debug] QUERY OK source="media_items" db=0.9ms idle=7.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:24:10.801 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=8.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" IN (?,?)) [2, 6] 13:24:10.862 [debug] QUERY OK source="media_items" db=54.4ms queue=0.1ms idle=14.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 (((((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"))) [] 13:24:10.901 [debug] QUERY OK source="media_items" db=38.4ms idle=64.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:24:10.903 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=103.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] 13:24:10.910 [debug] QUERY OK source="tasks" db=1.9ms queue=0.1ms idle=107.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:24:10.912 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=72.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3622, 3625] 13:24:10.912 [debug] QUERY OK source="sources" db=1.0ms idle=49.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] 13:24:10.917 [info] Sent 200 in 158ms 13:24:11.467 [debug] QUERY OK source="media_items" db=2.7ms idle=562.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6, "dnia-38h1GA", "iZaN9NRWc28", "CJrLdBStrzc", "u-eoT-Foth8", "XHineC0YKjs", "VdlejwGkNoI", "ikIigkz2pMg", "qUdPPQ9-9Tg", "k9fuSOPjSXM", "hb-oXWK9r7k", "hDfrtCQmNOo", "zRIUM4OhyWU", "W7c0iVM4P2I", "KCFDp_kxT_4", "aZhuGRngq-g", "BgWbezF2M28", "ZJfHw71KKsk", "MisOg5bX0a4", "2UampQ_86ek", "7-iImzOel-s", "O8E47Ib_RoU", "RcVBMZd2_u8", "b-DHev8Uc6I", "0apH8xkS6PE", "I8m3hyPVsxA", "urqkKHRaT-8", "shyrhINSaPk", "Ze3bKcLbPWg", "ydk9KfgHUPo", "sFlgR1oiUXk", "jCieQsNXdBM", "Nz4uVkNMKdI", "tyX3PvjLSC8", "VeDDo4HhNVo", "2RmXPeBn3x0", "1sA4iEo0x1o", "KqAYebG_Bs0", "FelCut8wQ3o", "wY5Xb_t79SM", "-YqD-IWgaz8", "BdV0pSziReE", "u5VKDy7Dgj8", "hn89XxHJLQ0", "wE60s-NuU6c", "LBwtYK3W-vw", "FGpCwqNklsw", "79hW_qeneEY", "aNpJxLXZATY", "9JhGit6JRw0", ...] 13:24:11.469 [debug] QUERY OK source="settings" db=0.4ms idle=566.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 [] 13:24:11.470 [debug] QUERY OK source="settings" db=0.3ms idle=559.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 [] 13:24:11.470 [debug] Running yt-dlp command for action: get_media_attributes 13:24:11.473 [debug] QUERY OK source="settings" db=0.3ms idle=560.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 [] 13:24:11.473 [debug] QUERY OK source="settings" db=0.1ms idle=560.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 [] 13:24:11.474 [debug] QUERY OK source="settings" db=0.1ms idle=6.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 [] 13:24:11.474 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/ab/92/ab92d3cb8ef4345d8bb957b720cb629840ad0d3e52e3b49bca614288849632c0.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:24:14.939 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/ab/92/ab92d3cb8ef4345d8bb957b720cb629840ad0d3e52e3b49bca614288849632c0.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days. 13:24:14.940 [error] Error creating media item 'u-eoT-Foth8' from URL: {:error, "ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days.\n", 1} 13:24:14.966 [debug] QUERY OK source="media_items" db=25.7ms queue=0.1ms idle=1532.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 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] 13:24:15.173 [debug] QUERY OK source="tasks" db=7.0ms idle=7.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1705, 6, ~U[2026-03-28 02:24:15Z], ~U[2026-03-28 02:24:15Z]] 13:24:15.181 [info] {"args":{"id":6},"id":1699,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":5330011,"event":"job:stop","queue_time":314816,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:24:21.242 [info] {"source":"oban","duration":1937,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:31.859 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2YqpPAdYNa8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8a/e6/8ae633b5d86ed4765532e8d906aff0cadf6144878e1e07e2b3e06fd71c54772b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:24:31.897 [debug] Running yt-dlp command for action: download_thumbnail 13:24:31.898 [debug] QUERY OK source="settings" db=0.3ms idle=1489.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 [] 13:24:31.899 [debug] QUERY OK source="settings" db=0.3ms idle=1490.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 [] 13:24:31.899 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:24:31.900 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2YqpPAdYNa8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3622/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ab/47/ab472f061ae0fec43f133faa037d209149f406cc4bf5944dd64f91e871c733b8.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:24:40.468 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2YqpPAdYNa8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3622/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ab/47/ab472f061ae0fec43f133faa037d209149f406cc4bf5944dd64f91e871c733b8.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:24:40.468 [debug] QUERY OK db=0.0ms idle=1060.0ms begin [] 13:24:40.471 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [368, ~U[2026-03-28 02:24:31Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e080599 - Your Cocktail Needs Yogurt! | Homemade Yogurt Liqueur.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e080599 - Your Cocktail Needs Yogurt! | Homemade Yogurt Liqueur.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e080599 - Your Cocktail Needs Yogurt! | Homemade Yogurt Liqueur.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e080599 - Your Cocktail Needs Yogurt! | Homemade Yogurt Liqueur.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e080599 - Your Cocktail Needs Yogurt! | Homemade Yogurt Liqueur.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e080599 - Your Cocktail Needs Yogurt! | Homemade Yogurt Liqueur-thumb.jpg", ~U[2026-03-28 02:24:40Z], 3622] 13:24:40.473 [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/3622/metadata.json.gz", "/config/metadata/media_items/3622/thumbnail.jpg", 3622, ~U[2026-03-28 02:24:40Z], ~U[2026-03-28 02:24:40Z]] 13:24:40.474 [debug] QUERY OK db=0.4ms commit [] 13:24:40.481 [debug] QUERY OK source="media_items" db=2.3ms idle=1070.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [75835530, ~U[2026-03-28 02:24:40Z], 3622] 13:24:40.482 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:24:40.483 [info] {"args":{"id":3622},"id":652,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":170341704,"event":"job:stop","queue_time":79785139102,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:24:40.491 [info] {"args":{"id":3628},"id":654,"meta":{},"system_time":1774664680491110542,"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"]} 13:24:40.492 [debug] QUERY OK source="media_items" db=0.6ms idle=83.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" = ?) [3628] 13:24:40.492 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:24:40.493 [debug] QUERY OK source="sources" db=0.7ms 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" = ?) [4] 13:24:40.494 [debug] QUERY OK source="media_profiles" db=0.5ms idle=11.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] 13:24:40.495 [debug] QUERY OK source="media_items" db=0.8ms idle=11.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 [3628] 13:24:40.497 [debug] QUERY OK source="media_metadata" db=0.2ms idle=6.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" = ?) [3628] 13:24:40.497 [debug] QUERY OK source="media_profiles" db=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] 13:24:40.498 [debug] QUERY OK source="settings" db=0.1ms idle=5.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 [] 13:24:40.499 [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 [] 13:24:40.500 [debug] Running yt-dlp command for action: get_downloadable_status 13:24:40.501 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:24:40.502 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:24:40.502 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:24:40.502 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8lfWBxtH6hk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/62/ae/62aeafc9ec30f9b67c19c465fe6faca0d7237951a14b9b2f02a282e7614cb766.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:24:47.118 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8lfWBxtH6hk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/62/ae/62aeafc9ec30f9b67c19c465fe6faca0d7237951a14b9b2f02a282e7614cb766.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:24:47.119 [debug] Running yt-dlp command for action: download 13:24:47.120 [debug] QUERY OK source="settings" db=0.7ms idle=711.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 [] 13:24:47.121 [debug] QUERY OK source="settings" db=0.9ms idle=712.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 [] 13:24:47.122 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=713.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 [] 13:24:47.122 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8lfWBxtH6hk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/70/16/701615d64abf745f55ee0cb745f9d1048ed6249471cfc8d005f22c82aee6f806.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:24:51.245 [info] {"source":"oban","duration":2150,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:00.799 [info] {"source":"oban","duration":916,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:25:11.186 [info] GET / 13:25:11.187 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:25:11.188 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=779.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 [] 13:25:11.188 [debug] QUERY OK source="media_profiles" db=0.2ms idle=779.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:25:11.189 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=780.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:25:11.241 [debug] QUERY OK source="media_items" db=51.3ms queue=0.1ms idle=781.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:25:11.245 [debug] QUERY OK source="media_items" db=3.1ms queue=0.2ms idle=169.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:25:11.246 [debug] QUERY OK source="settings" db=0.6ms idle=57.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 [] 13:25:11.247 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=57.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 [] 13:25:11.248 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=58.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 [] 13:25:11.253 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 13:25:11.255 [debug] QUERY OK source="media_items" db=0.7ms queue=0.2ms idle=9.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:25:11.257 [debug] QUERY OK source="sources" db=0.4ms queue=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" IN (?,?)) [2, 6] 13:25:11.315 [debug] QUERY OK source="media_items" db=55.6ms idle=12.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 (((((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"))) [] 13:25:11.376 [debug] QUERY OK source="media_items" db=60.3ms idle=67.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:25:11.377 [debug] QUERY OK source="sources" db=0.4ms idle=123.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] 13:25:11.382 [debug] QUERY OK source="tasks" db=0.6ms idle=126.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:25:11.384 [debug] QUERY OK source="media_items" db=0.4ms idle=126.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3625, 3628] 13:25:11.387 [info] Sent 200 in 200ms 13:25:21.248 [info] {"source":"oban","duration":2085,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:51.252 [info] {"source":"oban","duration":3717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:00.801 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:26:11.551 [info] GET / 13:26:11.551 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:26:11.552 [debug] QUERY OK source="settings" db=0.7ms idle=1143.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 [] 13:26:11.553 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1144.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:26:11.553 [debug] QUERY OK source="sources" db=0.2ms idle=1144.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:26:11.635 [debug] QUERY OK source="media_items" db=81.2ms idle=1144.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:26:11.638 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=381.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:26:11.639 [debug] QUERY OK source="settings" db=0.4ms idle=86.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 [] 13:26:11.639 [debug] QUERY OK source="settings" db=0.2ms idle=86.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 [] 13:26:11.640 [debug] QUERY OK source="settings" db=0.2ms idle=86.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 [] 13:26:11.643 [debug] QUERY OK source="media_items" db=2.1ms idle=6.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 (NOT (m0."media_filepath" IS NULL)) [] 13:26:11.644 [debug] QUERY OK source="media_items" db=0.7ms idle=5.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:26:11.645 [debug] QUERY OK source="sources" db=0.4ms idle=5.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" IN (?,?)) [2, 6] 13:26:11.748 [debug] QUERY OK source="media_items" db=100.4ms idle=8.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 (((((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"))) [] 13:26:11.764 [debug] QUERY OK source="media_items" db=14.9ms idle=108.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:26:11.765 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=121.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] 13:26:11.768 [debug] QUERY OK source="tasks" db=0.4ms idle=123.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:26:11.769 [debug] QUERY OK source="media_items" db=0.3ms idle=123.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3625, 3628] 13:26:11.771 [info] Sent 200 in 220ms 13:26:21.256 [info] {"source":"oban","duration":1818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:51.259 [info] {"source":"oban","duration":2761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:00.802 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:27:04.216 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3E-5ib-xroQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ef/67/ef67193cb33c9b27ba9ef1e6cfd99347b01ffc9c365425edda903fd0f3bb210c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:27:04.279 [debug] Running yt-dlp command for action: download_thumbnail 13:27:04.281 [debug] QUERY OK source="settings" db=0.2ms idle=1872.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 [] 13:27:04.282 [debug] QUERY OK source="settings" db=0.3ms idle=1873.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 [] 13:27:04.282 [debug] QUERY OK source="settings" db=0.1ms idle=1873.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 [] 13:27:04.282 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3E-5ib-xroQ --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3625/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/f2/14/f214f91e8350ca6013de8398ec9c5d969a796791cf9a46522887b2d467b454f0.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:27:11.972 [info] GET / 13:27:11.972 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:27:11.974 [debug] QUERY OK source="settings" db=0.8ms idle=1564.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 [] 13:27:11.974 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1544.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:27:11.975 [debug] QUERY OK source="sources" db=0.1ms idle=566.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:27:12.006 [debug] QUERY OK source="media_items" db=31.1ms idle=566.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:27:12.018 [debug] QUERY OK source="media_items" db=10.0ms queue=0.5ms idle=572.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:27:12.021 [debug] QUERY OK source="settings" db=1.4ms queue=0.5ms idle=45.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 [] 13:27:12.023 [debug] QUERY OK source="settings" db=1.0ms queue=0.5ms idle=47.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 [] 13:27:12.026 [debug] QUERY OK source="settings" db=1.2ms queue=0.2ms idle=50.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 [] 13:27:12.047 [debug] QUERY OK source="media_items" db=16.2ms queue=0.3ms idle=24.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 (NOT (m0."media_filepath" IS NULL)) [] 13:27:12.051 [debug] QUERY OK source="media_items" db=2.7ms queue=0.4ms idle=30.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:27:12.056 [debug] QUERY OK source="sources" db=1.3ms queue=0.7ms idle=33.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" IN (?,?)) [2, 6] 13:27:12.122 [debug] QUERY OK source="media_items" db=59.4ms idle=39.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 (((((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"))) [] 13:27:12.174 [debug] QUERY OK source="media_items" db=51.4ms idle=96.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:27:12.176 [debug] QUERY OK source="sources" db=0.8ms idle=127.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] 13:27:12.185 [debug] QUERY OK source="tasks" db=0.7ms queue=0.2ms idle=132.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:27:12.187 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=129.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3625, 3628] 13:27:12.191 [info] Sent 200 in 218ms 13:27:12.905 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3E-5ib-xroQ --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3625/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/f2/14/f214f91e8350ca6013de8398ec9c5d969a796791cf9a46522887b2d467b454f0.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:27:12.906 [debug] QUERY OK db=0.1ms queue=0.1ms idle=732.4ms begin [] 13:27:12.913 [debug] QUERY OK source="media_items" db=6.0ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 02:27:04Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e072999 - Life Hack! Pre-batched Whiskey Sour, Margarita & Mojito!.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e072999 - Life Hack! Pre-batched Whiskey Sour, Margarita & Mojito!.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e072999 - Life Hack! Pre-batched Whiskey Sour, Margarita & Mojito!.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e072999 - Life Hack! Pre-batched Whiskey Sour, Margarita & Mojito!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e072999 - Life Hack! Pre-batched Whiskey Sour, Margarita & Mojito!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e072999 - Life Hack! Pre-batched Whiskey Sour, Margarita & Mojito!-thumb.jpg", ~U[2026-03-28 02:27:12Z], 3625] 13:27:12.915 [debug] QUERY OK source="media_metadata" db=1.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/3625/metadata.json.gz", "/config/metadata/media_items/3625/thumbnail.jpg", 3625, ~U[2026-03-28 02:27:12Z], ~U[2026-03-28 02:27:12Z]] 13:27:12.917 [debug] QUERY OK db=1.8ms commit [] 13:27:12.947 [debug] QUERY OK source="media_items" db=14.3ms idle=756.4ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [109476678, ~U[2026-03-28 02:27:12Z], 3625] 13:27:12.947 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:27:12.966 [info] {"args":{"id":3625},"id":653,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":208246844,"event":"job:stop","queue_time":79893690060,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:27:12.994 [info] {"args":{"id":3630},"id":655,"meta":{},"system_time":1774664832993648068,"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"]} 13:27:13.032 [debug] QUERY OK source="media_items" db=37.3ms queue=0.1ms idle=557.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" = ?) [3630] 13:27:13.033 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:27:13.067 [debug] QUERY OK source="sources" db=32.3ms queue=0.5ms idle=117.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" = ?) [4] 13:27:13.069 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.2ms idle=121.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] 13:27:13.071 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=104.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 [3630] 13:27:13.075 [debug] QUERY OK source="media_metadata" db=0.3ms queue=0.1ms idle=81.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" = ?) [3630] 13:27:13.076 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.2ms idle=43.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] 13:27:13.079 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms 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 [] 13:27:13.079 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:27:13.080 [debug] Running yt-dlp command for action: get_downloadable_status 13:27:13.081 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:27:13.082 [debug] QUERY OK source="settings" db=0.6ms 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 [] 13:27:13.085 [debug] QUERY OK source="settings" db=1.5ms queue=0.1ms 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 [] 13:27:13.085 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3TJqEwp5CXM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/db/c0/dbc0535f915e220203d447a904f12ccbb7670351fc4c7d7d470ed981dfded03e.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:27:20.341 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3TJqEwp5CXM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/db/c0/dbc0535f915e220203d447a904f12ccbb7670351fc4c7d7d470ed981dfded03e.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:27:20.342 [debug] Running yt-dlp command for action: download 13:27:20.343 [debug] QUERY OK source="settings" db=0.6ms idle=1934.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 [] 13:27:20.344 [debug] QUERY OK source="settings" db=0.5ms idle=1882.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 [] 13:27:20.344 [debug] QUERY OK source="settings" db=0.3ms idle=936.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 [] 13:27:20.345 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3TJqEwp5CXM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/52/18/5218e0b8eb4a0e4292ec19e591bb16d1e91dbe6082009a1152cb7175b92105bc.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:27:21.263 [info] {"source":"oban","duration":1825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:46.509 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3TJqEwp5CXM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/52/18/5218e0b8eb4a0e4292ec19e591bb16d1e91dbe6082009a1152cb7175b92105bc.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:27:46.561 [debug] Running yt-dlp command for action: download_thumbnail 13:27:46.563 [debug] QUERY OK source="settings" db=0.2ms idle=1155.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 [] 13:27:46.564 [debug] QUERY OK source="settings" db=0.1ms idle=1155.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 [] 13:27:46.564 [debug] QUERY OK source="settings" db=0.1ms idle=1009.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 [] 13:27:46.564 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3TJqEwp5CXM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3630/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/75/07/750789681474be461fb368fc59183adadec036286892e9ffadadd53145a75c05.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:27:51.266 [info] {"source":"oban","duration":2425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:54.066 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3TJqEwp5CXM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3630/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/75/07/750789681474be461fb368fc59183adadec036286892e9ffadadd53145a75c05.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:27:54.067 [debug] QUERY OK db=0.1ms idle=1658.8ms begin [] 13:27:54.071 [debug] QUERY OK source="media_items" db=3.3ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 02:27:46Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e071599 - Cocktail Time with Kevin Kos - Channel Trailer 2.0.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e071599 - Cocktail Time with Kevin Kos - Channel Trailer 2.0.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e071599 - Cocktail Time with Kevin Kos - Channel Trailer 2.0.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e071599 - Cocktail Time with Kevin Kos - Channel Trailer 2.0.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e071599 - Cocktail Time with Kevin Kos - Channel Trailer 2.0.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e071599 - Cocktail Time with Kevin Kos - Channel Trailer 2.0-thumb.jpg", ~U[2026-03-28 02:27:54Z], 3630] 13:27:54.072 [debug] QUERY OK source="media_metadata" db=1.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/3630/metadata.json.gz", "/config/metadata/media_items/3630/thumbnail.jpg", 3630, ~U[2026-03-28 02:27:54Z], ~U[2026-03-28 02:27:54Z]] 13:27:54.073 [debug] QUERY OK db=0.5ms commit [] 13:27:54.131 [debug] QUERY OK source="media_items" db=5.0ms queue=0.3ms idle=1717.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [9013872, ~U[2026-03-28 02:27:54Z], 3630] 13:27:54.132 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:27:54.133 [info] {"args":{"id":3630},"id":655,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":41138792,"event":"job:stop","queue_time":80090972097,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:27:54.141 [info] {"args":{"id":3634},"id":656,"meta":{},"system_time":1774664874141661004,"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"]} 13:27:54.142 [debug] QUERY OK source="media_items" db=0.4ms idle=561.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" = ?) [3634] 13:27:54.142 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:27:54.143 [debug] QUERY OK source="sources" db=0.4ms idle=69.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" = ?) [4] 13:27:54.144 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=12.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] 13:27:54.146 [debug] QUERY OK source="media_items" db=1.2ms queue=0.2ms 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 [3634] 13:27:54.147 [debug] QUERY OK source="media_metadata" db=0.2ms idle=5.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" = ?) [3634] 13:27:54.149 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms 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] 13:27:54.149 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:27:54.150 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:27:54.151 [debug] Running yt-dlp command for action: get_downloadable_status 13:27:54.154 [debug] QUERY OK source="settings" db=0.2ms idle=6.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 [] 13:27:54.154 [debug] QUERY OK source="settings" db=0.5ms 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 [] 13:27:54.155 [debug] QUERY OK source="settings" db=0.5ms queue=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 [] 13:27:54.156 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hIGx_31EY_E --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/17/c3/17c3645b3bf3e03aac0d4acee19a59008af5dc5a95f1ad33f8e4a774a689b4ac.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:28:00.805 [info] {"source":"oban","duration":881,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:28:02.007 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hIGx_31EY_E --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/17/c3/17c3645b3bf3e03aac0d4acee19a59008af5dc5a95f1ad33f8e4a774a689b4ac.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:28:02.007 [debug] Running yt-dlp command for action: download 13:28:02.008 [debug] QUERY OK source="settings" db=0.2ms idle=1403.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 [] 13:28:02.008 [debug] QUERY OK source="settings" db=0.2ms idle=1203.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 [] 13:28:02.008 [debug] QUERY OK source="settings" db=0.1ms idle=600.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 [] 13:28:02.009 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hIGx_31EY_E --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/52/47/5247910177b943dcbaa5ed1f82df7137c5f762f5d8a0374a38938834c2ce97be.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:28:02.021 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8lfWBxtH6hk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/70/16/701615d64abf745f55ee0cb745f9d1048ed6249471cfc8d005f22c82aee6f806.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:28:02.068 [debug] Running yt-dlp command for action: download_thumbnail 13:28:02.071 [debug] QUERY OK source="settings" db=0.4ms queue=0.3ms idle=662.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 [] 13:28:02.072 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms 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 [] 13:28:02.073 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=64.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 [] 13:28:02.073 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8lfWBxtH6hk --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3628/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ed/30/ed3012cb561d0d7b911ddbd2752fa9228f23f58f4689bfd9fdbfc97ac7c11fde.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:28:04.609 [info] GET / 13:28:04.610 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:28:04.611 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1202.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 [] 13:28:04.612 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1203.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:28:04.613 [debug] QUERY OK source="sources" db=0.2ms idle=1204.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:28:04.678 [debug] QUERY OK source="media_items" db=64.7ms idle=1204.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:28:04.682 [debug] QUERY OK source="media_items" db=3.3ms idle=66.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:28:04.683 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=69.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 [] 13:28:04.684 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=70.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 [] 13:28:04.685 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=62.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 [] 13:28:04.694 [debug] QUERY OK source="media_items" db=7.3ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 13:28:04.697 [debug] QUERY OK source="media_items" db=1.8ms queue=0.2ms idle=13.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:28:04.699 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=15.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" IN (?,?)) [2, 6] 13:28:04.784 [debug] QUERY OK source="media_items" db=78.4ms idle=21.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 (((((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"))) [] 13:28:04.842 [debug] QUERY OK source="media_items" db=57.1ms queue=0.1ms idle=99.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:28:04.843 [debug] QUERY OK source="sources" db=0.3ms idle=148.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] 13:28:04.846 [debug] QUERY OK source="tasks" db=0.6ms idle=148.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:28:04.847 [debug] QUERY OK source="media_items" db=0.4ms idle=147.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3628, 3634] 13:28:04.848 [info] Sent 200 in 238ms 13:28:08.465 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8lfWBxtH6hk --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3628/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ed/30/ed3012cb561d0d7b911ddbd2752fa9228f23f58f4689bfd9fdbfc97ac7c11fde.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:28:08.466 [debug] QUERY OK db=0.0ms queue=0.1ms idle=836.7ms begin [] 13:28:08.470 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [623, ~U[2026-03-28 02:28:02Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e072299 - Stop Using Egg White! Super Syrup is here!.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e072299 - Stop Using Egg White! Super Syrup is here!.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e072299 - Stop Using Egg White! Super Syrup is here!.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e072299 - Stop Using Egg White! Super Syrup is here!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e072299 - Stop Using Egg White! Super Syrup is here!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e072299 - Stop Using Egg White! Super Syrup is here!-thumb.jpg", ~U[2026-03-28 02:28:08Z], 3628] 13:28:08.472 [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/3628/metadata.json.gz", "/config/metadata/media_items/3628/thumbnail.jpg", 3628, ~U[2026-03-28 02:28:08Z], ~U[2026-03-28 02:28:08Z]] 13:28:08.473 [debug] QUERY OK db=1.0ms commit [] 13:28:08.505 [debug] QUERY OK source="media_items" db=11.6ms queue=0.1ms idle=85.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [105757620, ~U[2026-03-28 02:28:08Z], 3628] 13:28:08.506 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:28:08.507 [info] {"args":{"id":3628},"id":654,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":208015255,"event":"job:stop","queue_time":79944489055,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:28:08.515 [info] {"args":{"id":3636},"id":657,"meta":{},"system_time":1774664888514975526,"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"]} 13:28:08.522 [debug] QUERY OK source="media_items" db=6.7ms queue=0.1ms idle=107.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" = ?) [3636] 13:28:08.523 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:28:08.528 [debug] QUERY OK source="sources" db=4.0ms queue=0.1ms idle=50.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" = ?) [4] 13:28:08.529 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.3ms idle=23.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] 13:28:08.530 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=22.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 [3636] 13:28:08.531 [debug] QUERY OK source="media_metadata" db=0.1ms idle=16.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" = ?) [3636] 13:28:08.532 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.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] 13:28:08.533 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:28:08.533 [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 [] 13:28:08.534 [debug] Running yt-dlp command for action: get_downloadable_status 13:28:08.535 [debug] QUERY OK source="settings" db=0.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 [] 13:28:08.536 [debug] QUERY OK source="settings" db=0.1ms queue=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 [] 13:28:08.536 [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 [] 13:28:08.536 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IBHXSv4YGUo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b8/12/b81297df6c0123bddf9caeeb8580edbd494c7e73c4dad9d7cc46bc233abcf1ea.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:28:12.423 [info] GET / 13:28:12.423 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:28:12.424 [debug] QUERY OK source="settings" db=0.3ms idle=782.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 [] 13:28:12.424 [debug] QUERY OK source="media_profiles" db=0.2ms idle=16.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:28:12.425 [debug] QUERY OK source="sources" db=0.1ms idle=16.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:28:12.450 [debug] QUERY OK source="media_items" db=24.5ms idle=17.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:28:12.458 [debug] QUERY OK source="media_items" db=7.3ms queue=0.1ms idle=42.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:28:12.459 [debug] QUERY OK source="settings" db=0.6ms idle=34.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 [] 13:28:12.460 [debug] QUERY OK source="settings" db=0.5ms idle=34.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 [] 13:28:12.462 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=36.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 [] 13:28:12.471 [debug] QUERY OK source="media_items" db=7.5ms idle=13.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 (NOT (m0."media_filepath" IS NULL)) [] 13:28:12.474 [debug] QUERY OK source="media_items" db=1.6ms queue=0.2ms idle=14.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:28:12.475 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=15.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" IN (?,?)) [2, 6] 13:28:12.557 [debug] QUERY OK source="media_items" db=74.7ms idle=22.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 (((((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"))) [] 13:28:12.612 [debug] QUERY OK source="media_items" db=54.0ms queue=0.2ms idle=96.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:28:12.613 [debug] QUERY OK source="sources" db=0.2ms idle=142.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] 13:28:12.619 [debug] QUERY OK source="tasks" db=0.6ms idle=144.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:28:12.620 [debug] QUERY OK source="media_items" db=0.5ms idle=144.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3634, 3636] 13:28:12.623 [info] Sent 200 in 200ms 13:28:16.434 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IBHXSv4YGUo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b8/12/b81297df6c0123bddf9caeeb8580edbd494c7e73c4dad9d7cc46bc233abcf1ea.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:28:16.435 [debug] Running yt-dlp command for action: download 13:28:16.436 [debug] QUERY OK source="settings" db=0.3ms idle=779.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 [] 13:28:16.436 [debug] QUERY OK source="settings" db=0.1ms idle=27.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 [] 13:28:16.436 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=28.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 [] 13:28:16.437 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IBHXSv4YGUo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/80/e4/80e4e2e83df6763b04e125c32ff10f097cd4ad6216b94baaa37759e1583bc862.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:28:21.269 [info] {"source":"oban","duration":1804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:51.273 [info] {"source":"oban","duration":3667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:00.806 [info] {"source":"oban","duration":475,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:29:12.802 [info] GET / 13:29:12.802 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:29:12.803 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=930.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 [] 13:29:12.804 [debug] QUERY OK source="media_profiles" db=0.3ms idle=395.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:29:12.804 [debug] QUERY OK source="sources" db=0.2ms idle=396.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:29:12.861 [debug] QUERY OK source="media_items" db=56.4ms idle=396.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:29:12.866 [debug] QUERY OK source="media_items" db=4.8ms queue=0.1ms idle=453.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:29:12.867 [debug] QUERY OK source="settings" db=0.1ms idle=63.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 [] 13:29:12.867 [debug] QUERY OK source="settings" db=0.1ms idle=63.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 [] 13:29:12.868 [debug] QUERY OK source="settings" db=0.1ms idle=63.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 [] 13:29:12.870 [debug] QUERY OK source="media_items" db=1.6ms idle=7.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 (NOT (m0."media_filepath" IS NULL)) [] 13:29:12.871 [debug] QUERY OK source="media_items" db=0.4ms idle=4.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:29:12.871 [debug] QUERY OK source="sources" db=0.2ms idle=4.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" IN (?,?)) [2, 6] 13:29:12.928 [debug] QUERY OK source="media_items" db=54.1ms 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 (((((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"))) [] 13:29:12.974 [debug] QUERY OK source="media_items" db=45.5ms idle=58.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:29:12.975 [debug] QUERY OK source="sources" db=0.3ms idle=103.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] 13:29:12.977 [debug] QUERY OK source="tasks" db=0.4ms idle=105.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:29:12.978 [debug] QUERY OK source="media_items" db=0.3ms idle=103.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3634, 3636] 13:29:12.979 [info] Sent 200 in 177ms 13:29:21.277 [info] {"source":"oban","duration":2430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:51.281 [info] {"source":"oban","duration":3335,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:59.071 [info] {"args":{"id":3},"id":1700,"meta":{},"system_time":1774664999070761932,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:29:59.086 [debug] QUERY OK source="sources" db=14.5ms queue=0.2ms idle=662.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" = ?) [3] 13:29:59.100 [debug] QUERY OK source="settings" db=12.1ms queue=0.6ms idle=678.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 [] 13:29:59.114 [debug] QUERY OK source="media_profiles" db=12.9ms queue=0.1ms idle=691.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] 13:29:59.124 [debug] QUERY OK source="settings" db=8.8ms queue=0.1ms idle=52.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 [] 13:29:59.124 [debug] Fetching recent media IDs from YouTube API for playlist: UUwnKziETDbHJtx78nIkfYug 13:29:59.124 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=53.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 [] 13:29:59.124 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:29:59.865 [debug] QUERY OK source="media_items" db=2.2ms idle=776.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "QtpFa0LdXEY", "8Rv4wwcQ89Y", "2cRKv1oqyX8", "mQfQwLW6CNw", "y0TZuhNixNk", "GZ7wE3XOwFU", "-aRdX-kZ9g4", "99bldMr1byI", "EzCiEv1IqiA", "mC5NdpSMDks", "ccV3u3D9ONE", "cVCDjEfPzII", "n0X2rqzKTgM", "dcuCvRNqmpY", "GG1qX8jHKGo", "k9wkleHFvo0", "CWoYVlMuUNQ", "xlfeieH4z38", "eZM2Ik-FHEU", "CtcTG8-qzbA", "6Mmj7mf1qlg", "InwVO9qBjqs", "1Hp-W2bpPrw", "VtE5sTpkn7k", "8dOJypt2F70", "Evm4t4prtWo", "taLzgvbrnv0", "rgCrnyf5JEI", "PHhc-48JT3U", "vFKjpNNjNGw", "VJQlOI70ubw", "E5cfNq0DO90", "DNBGSsZatbY", "pna1NyaHTls", "CUHao-vA98g", "cPN9BJe_RQw", "rCBt4XgCX-0", "f4g6KKGMmEI", "P_I5Jsc3xRw", "fPaU2l7RktM", "0PVwt01b6fs", "0qMDM4Y4Hwo", "Ld285PDsHvs", "p1mQC71wplA", "9k5JhKK6WlA", "WPxrifmtlQI", "nVNBmK7a1y8", "QDnMYztaxfI", "gxsaWhXG1Gg", ...] 13:29:59.870 [debug] QUERY OK source="media_items" db=3.6ms idle=766.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 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] 13:29:59.873 [debug] QUERY OK source="tasks" db=0.4ms idle=748.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1706, 3, ~U[2026-03-28 02:29:59Z], ~U[2026-03-28 02:29:59Z]] 13:29:59.874 [info] {"args":{"id":3},"id":1700,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":802995,"event":"job:stop","queue_time":421631,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:30:00.807 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:30:13.172 [info] GET / 13:30:13.172 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:30:13.173 [debug] QUERY OK source="settings" db=0.2ms idle=1763.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 [] 13:30:13.173 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1763.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:30:13.174 [debug] QUERY OK source="sources" db=0.4ms idle=1059.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:30:13.198 [debug] QUERY OK source="media_items" db=23.8ms idle=765.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:30:13.201 [debug] QUERY OK source="media_items" db=3.0ms idle=82.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:30:13.202 [debug] QUERY OK source="settings" db=0.2ms idle=28.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 [] 13:30:13.202 [debug] QUERY OK source="settings" db=0.2ms idle=28.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 [] 13:30:13.203 [debug] QUERY OK source="settings" db=0.2ms idle=28.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 [] 13:30:13.207 [debug] QUERY OK source="media_items" db=3.1ms idle=5.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 (NOT (m0."media_filepath" IS NULL)) [] 13:30:13.208 [debug] QUERY OK source="media_items" db=0.6ms idle=6.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:30:13.210 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=7.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" IN (?,?)) [2, 6] 13:30:13.277 [debug] QUERY OK source="media_items" db=60.3ms queue=0.1ms idle=14.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 (((((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"))) [] 13:30:13.332 [debug] QUERY OK source="media_items" db=54.2ms queue=0.2ms idle=74.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:30:13.333 [debug] QUERY OK source="sources" db=0.3ms idle=125.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] 13:30:13.336 [debug] QUERY OK source="tasks" db=0.5ms idle=126.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:30:13.336 [debug] QUERY OK source="media_items" db=0.4ms idle=125.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3634, 3636] 13:30:13.338 [info] Sent 200 in 165ms 13:30:21.285 [info] {"source":"oban","duration":3579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:27.347 [info] GET /.well-known/acme-challenge/L7nmoErDtpFuCWRXUcstJ6RBzScGY48_r4FipIm4xPI 13:30:27.348 [debug] QUERY OK source="settings" db=0.4ms idle=938.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 [] 13:30:27.349 [debug] QUERY OK source="settings" db=0.3ms idle=939.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 [] 13:30:27.349 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:30:27.350 [error] #PID<0.4006.0> running PinchflatWeb.Endpoint (connection #PID<0.4005.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/L7nmoErDtpFuCWRXUcstJ6RBzScGY48_r4FipIm4xPI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/L7nmoErDtpFuCWRXUcstJ6RBzScGY48_r4FipIm4xPI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/L7nmoErDtpFuCWRXUcstJ6RBzScGY48_r4FipIm4xPI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 47264}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/L7nmoErDtpFuCWRXUcstJ6RBzScGY48_r4FipIm4xPI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4006.0>, params: %{}, path_info: [".well-known", "acme-challenge", "L7nmoErDtpFuCWRXUcstJ6RBzScGY48_r4FipIm4xPI"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/L7nmoErDtpFuCWRXUcstJ6RBzScGY48_r4FipIm4xPI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/L7nmoErDtpFuCWRXUcstJ6RBzScGY48_r4FipIm4xPI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDgcJZVn2rAPzkAAM9i"} ], 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.4005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/L7nmoErDtpFuCWRXUcstJ6RBzScGY48_r4FipIm4xPI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 47264}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/L7nmoErDtpFuCWRXUcstJ6RBzScGY48_r4FipIm4xPI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/L7nmoErDtpFuCWRXUcstJ6RBzScGY48_r4FipIm4xPI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/L7nmoErDtpFuCWRXUcstJ6RBzScGY48_r4FipIm4xPI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 47264}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/L7nmoErDtpFuCWRXUcstJ6RBzScGY48_r4FipIm4xPI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4006.0>, params: %{}, path_info: [".well-known", "acme-challenge", "L7nmoErDtpFuCWRXUcstJ6RBzScGY48_r4FipIm4xPI"], 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://pinchflat.f2fv7 (truncated) 13:30:27.502 [info] GET /.well-known/acme-challenge/afe2fCqIz3ueWMpJ6YHcJ-VlXfQQatT2hgpcHmpXMx0 13:30:27.504 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1093.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 [] 13:30:27.505 [debug] QUERY OK source="settings" db=0.5ms idle=1094.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 [] 13:30:27.505 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:30:27.506 [error] #PID<0.4008.0> running PinchflatWeb.Endpoint (connection #PID<0.4007.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/afe2fCqIz3ueWMpJ6YHcJ-VlXfQQatT2hgpcHmpXMx0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/afe2fCqIz3ueWMpJ6YHcJ-VlXfQQatT2hgpcHmpXMx0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4007.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/afe2fCqIz3ueWMpJ6YHcJ-VlXfQQatT2hgpcHmpXMx0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 47272}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/afe2fCqIz3ueWMpJ6YHcJ-VlXfQQatT2hgpcHmpXMx0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4008.0>, params: %{}, path_info: [".well-known", "acme-challenge", "afe2fCqIz3ueWMpJ6YHcJ-VlXfQQatT2hgpcHmpXMx0"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/afe2fCqIz3ueWMpJ6YHcJ-VlXfQQatT2hgpcHmpXMx0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/afe2fCqIz3ueWMpJ6YHcJ-VlXfQQatT2hgpcHmpXMx0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDgcJ-Q24Cj7x4AAJ9B"} ], 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.4007.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/afe2fCqIz3ueWMpJ6YHcJ-VlXfQQatT2hgpcHmpXMx0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 47272}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/afe2fCqIz3ueWMpJ6YHcJ-VlXfQQatT2hgpcHmpXMx0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/afe2fCqIz3ueWMpJ6YHcJ-VlXfQQatT2hgpcHmpXMx0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4007.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/afe2fCqIz3ueWMpJ6YHcJ-VlXfQQatT2hgpcHmpXMx0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 47272}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/afe2fCqIz3ueWMpJ6YHcJ-VlXfQQatT2hgpcHmpXMx0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4008.0>, params: %{}, path_info: [".well-known", "acme-challenge", "afe2fCqIz3ueWMpJ6YHcJ-VlXfQQatT2hgpcHmpXMx0"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:30:40.667 [info] GET /.well-known/acme-challenge/CoFKwWZWNJN_zG8PYVh8Chzh8IUdXJgdrugCMHgWZyY 13:30:40.669 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1259.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 [] 13:30:40.670 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1260.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 [] 13:30:40.670 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:30:40.671 [error] #PID<0.4010.0> running PinchflatWeb.Endpoint (connection #PID<0.4009.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/CoFKwWZWNJN_zG8PYVh8Chzh8IUdXJgdrugCMHgWZyY ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/CoFKwWZWNJN_zG8PYVh8Chzh8IUdXJgdrugCMHgWZyY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4009.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/CoFKwWZWNJN_zG8PYVh8Chzh8IUdXJgdrugCMHgWZyY", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 33854}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/CoFKwWZWNJN_zG8PYVh8Chzh8IUdXJgdrugCMHgWZyY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4010.0>, params: %{}, path_info: [".well-known", "acme-challenge", "CoFKwWZWNJN_zG8PYVh8Chzh8IUdXJgdrugCMHgWZyY"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/CoFKwWZWNJN_zG8PYVh8Chzh8IUdXJgdrugCMHgWZyY"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/CoFKwWZWNJN_zG8PYVh8Chzh8IUdXJgdrugCMHgWZyY", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDgc7BODE3I2MYAAJ9h"} ], 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.4009.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/CoFKwWZWNJN_zG8PYVh8Chzh8IUdXJgdrugCMHgWZyY", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 33854}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/CoFKwWZWNJN_zG8PYVh8Chzh8IUdXJgdrugCMHgWZyY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/CoFKwWZWNJN_zG8PYVh8Chzh8IUdXJgdrugCMHgWZyY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4009.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/CoFKwWZWNJN_zG8PYVh8Chzh8IUdXJgdrugCMHgWZyY", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 33854}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/CoFKwWZWNJN_zG8PYVh8Chzh8IUdXJgdrugCMHgWZyY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4010.0>, params: %{}, path_info: [".well-known", "acme-challenge", "CoFKwWZWNJN_zG8PYVh8Chzh8IUdXJgdrugCMHgWZyY"], 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://pinchflat.f2fv7 (truncated) 13:30:43.005 [info] GET /.well-known/acme-challenge/toF-X1hgN9q2bfSwyN8YI3KLfKzqjbo-0lLC-MMZfgI 13:30:43.007 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=813.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 [] 13:30:43.008 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms 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 [] 13:30:43.009 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:30:43.010 [error] #PID<0.4012.0> running PinchflatWeb.Endpoint (connection #PID<0.4011.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/toF-X1hgN9q2bfSwyN8YI3KLfKzqjbo-0lLC-MMZfgI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/toF-X1hgN9q2bfSwyN8YI3KLfKzqjbo-0lLC-MMZfgI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4011.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/toF-X1hgN9q2bfSwyN8YI3KLfKzqjbo-0lLC-MMZfgI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33864}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/toF-X1hgN9q2bfSwyN8YI3KLfKzqjbo-0lLC-MMZfgI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4012.0>, params: %{}, path_info: [".well-known", "acme-challenge", "toF-X1hgN9q2bfSwyN8YI3KLfKzqjbo-0lLC-MMZfgI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/toF-X1hgN9q2bfSwyN8YI3KLfKzqjbo-0lLC-MMZfgI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/toF-X1hgN9q2bfSwyN8YI3KLfKzqjbo-0lLC-MMZfgI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDgdDucVa7iC3kAAJ-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.4011.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/toF-X1hgN9q2bfSwyN8YI3KLfKzqjbo-0lLC-MMZfgI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33864}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/toF-X1hgN9q2bfSwyN8YI3KLfKzqjbo-0lLC-MMZfgI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/toF-X1hgN9q2bfSwyN8YI3KLfKzqjbo-0lLC-MMZfgI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4011.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/toF-X1hgN9q2bfSwyN8YI3KLfKzqjbo-0lLC-MMZfgI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 33864}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/toF-X1hgN9q2bfSwyN8YI3KLfKzqjbo-0lLC-MMZfgI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4012.0>, params: %{}, path_info: [".well-known", "acme-challenge", "toF-X1hgN9q2bfSwyN8YI3KLfKzqjbo-0lLC-MMZfgI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:30:44.685 [info] GET /.well-known/acme-challenge/hma-en4MAMXWvgsfFRqOMlfL8CmXl_mbERRJfFVsqEg 13:30:44.687 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=487.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 [] 13:30:44.688 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=278.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 [] 13:30:44.688 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:30:44.689 [error] #PID<0.4015.0> running PinchflatWeb.Endpoint (connection #PID<0.4009.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/hma-en4MAMXWvgsfFRqOMlfL8CmXl_mbERRJfFVsqEg ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/hma-en4MAMXWvgsfFRqOMlfL8CmXl_mbERRJfFVsqEg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4009.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/hma-en4MAMXWvgsfFRqOMlfL8CmXl_mbERRJfFVsqEg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 33854}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/hma-en4MAMXWvgsfFRqOMlfL8CmXl_mbERRJfFVsqEg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4015.0>, params: %{}, path_info: [".well-known", "acme-challenge", "hma-en4MAMXWvgsfFRqOMlfL8CmXl_mbERRJfFVsqEg"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/hma-en4MAMXWvgsfFRqOMlfL8CmXl_mbERRJfFVsqEg"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/hma-en4MAMXWvgsfFRqOMlfL8CmXl_mbERRJfFVsqEg", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDgdJ_KKToxDbIAAJ_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.4009.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/hma-en4MAMXWvgsfFRqOMlfL8CmXl_mbERRJfFVsqEg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 33854}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/hma-en4MAMXWvgsfFRqOMlfL8CmXl_mbERRJfFVsqEg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/hma-en4MAMXWvgsfFRqOMlfL8CmXl_mbERRJfFVsqEg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4009.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/hma-en4MAMXWvgsfFRqOMlfL8CmXl_mbERRJfFVsqEg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 33854}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/hma-en4MAMXWvgsfFRqOMlfL8CmXl_mbERRJfFVsqEg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4015.0>, params: %{}, path_info: [".well-known", "acme-challenge", "hma-en4MAMXWvgsfFRqOMlfL8CmXl_mbERRJfFVsqEg"], 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://pinchflat.f2fv7 (truncated) 13:30:51.288 [info] {"source":"oban","duration":2334,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:53.699 [info] GET /.well-known/acme-challenge/MQ8d7gjfy-jDjd_fNl4uCyC8F8MOa0ZSbjC4DOg05Z4 13:30:53.700 [debug] QUERY OK source="settings" db=0.6ms idle=1290.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 [] 13:30:53.701 [debug] QUERY OK source="settings" db=0.5ms idle=1291.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 [] 13:30:53.702 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:30:53.702 [error] #PID<0.4017.0> running PinchflatWeb.Endpoint (connection #PID<0.4016.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/MQ8d7gjfy-jDjd_fNl4uCyC8F8MOa0ZSbjC4DOg05Z4 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/MQ8d7gjfy-jDjd_fNl4uCyC8F8MOa0ZSbjC4DOg05Z4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4016.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/MQ8d7gjfy-jDjd_fNl4uCyC8F8MOa0ZSbjC4DOg05Z4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 43160}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/MQ8d7gjfy-jDjd_fNl4uCyC8F8MOa0ZSbjC4DOg05Z4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4017.0>, params: %{}, path_info: [".well-known", "acme-challenge", "MQ8d7gjfy-jDjd_fNl4uCyC8F8MOa0ZSbjC4DOg05Z4"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/MQ8d7gjfy-jDjd_fNl4uCyC8F8MOa0ZSbjC4DOg05Z4"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/MQ8d7gjfy-jDjd_fNl4uCyC8F8MOa0ZSbjC4DOg05Z4", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDgdrkQiP0XKioAAJ_h"} ], 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.4016.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/MQ8d7gjfy-jDjd_fNl4uCyC8F8MOa0ZSbjC4DOg05Z4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 43160}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/MQ8d7gjfy-jDjd_fNl4uCyC8F8MOa0ZSbjC4DOg05Z4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/MQ8d7gjfy-jDjd_fNl4uCyC8F8MOa0ZSbjC4DOg05Z4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4016.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/MQ8d7gjfy-jDjd_fNl4uCyC8F8MOa0ZSbjC4DOg05Z4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 43160}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/MQ8d7gjfy-jDjd_fNl4uCyC8F8MOa0ZSbjC4DOg05Z4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4017.0>, params: %{}, path_info: [".well-known", "acme-challenge", "MQ8d7gjfy-jDjd_fNl4uCyC8F8MOa0ZSbjC4DOg05Z4"], 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://pinchflat.f2fv7 (truncated) 13:30:55.394 [info] GET /.well-known/acme-challenge/Tm1YNh1NW63RWwNvM_NAURLyG65w41f6fB8tgzQDHSU 13:30:55.396 [debug] QUERY OK source="settings" db=0.3ms idle=1693.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 [] 13:30:55.396 [debug] QUERY OK source="settings" db=0.2ms idle=1162.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 [] 13:30:55.396 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:30:55.397 [error] #PID<0.4018.0> running PinchflatWeb.Endpoint (connection #PID<0.4016.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/Tm1YNh1NW63RWwNvM_NAURLyG65w41f6fB8tgzQDHSU ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Tm1YNh1NW63RWwNvM_NAURLyG65w41f6fB8tgzQDHSU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4016.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Tm1YNh1NW63RWwNvM_NAURLyG65w41f6fB8tgzQDHSU", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 43160}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Tm1YNh1NW63RWwNvM_NAURLyG65w41f6fB8tgzQDHSU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4018.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Tm1YNh1NW63RWwNvM_NAURLyG65w41f6fB8tgzQDHSU"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Tm1YNh1NW63RWwNvM_NAURLyG65w41f6fB8tgzQDHSU"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/Tm1YNh1NW63RWwNvM_NAURLyG65w41f6fB8tgzQDHSU", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDgdx4axIJ0mbEAAKAB"} ], 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.4016.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Tm1YNh1NW63RWwNvM_NAURLyG65w41f6fB8tgzQDHSU", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 43160}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Tm1YNh1NW63RWwNvM_NAURLyG65w41f6fB8tgzQDHSU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Tm1YNh1NW63RWwNvM_NAURLyG65w41f6fB8tgzQDHSU (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4016.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Tm1YNh1NW63RWwNvM_NAURLyG65w41f6fB8tgzQDHSU", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 43160}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/Tm1YNh1NW63RWwNvM_NAURLyG65w41f6fB8tgzQDHSU", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4018.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Tm1YNh1NW63RWwNvM_NAURLyG65w41f6fB8tgzQDHSU"], 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://pinchflat.f2fv7 (truncated) 13:30:59.667 [info] GET /.well-known/acme-challenge/9xqP8RKW0VT0nIlqdKR6TKsd1EJ82wOVIj4T_KQ80Ng 13:30:59.668 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1258.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 [] 13:30:59.669 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1259.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 [] 13:30:59.669 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:30:59.669 [error] #PID<0.4020.0> running PinchflatWeb.Endpoint (connection #PID<0.4019.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/9xqP8RKW0VT0nIlqdKR6TKsd1EJ82wOVIj4T_KQ80Ng ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/9xqP8RKW0VT0nIlqdKR6TKsd1EJ82wOVIj4T_KQ80Ng (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4019.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/9xqP8RKW0VT0nIlqdKR6TKsd1EJ82wOVIj4T_KQ80Ng", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 34378}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/9xqP8RKW0VT0nIlqdKR6TKsd1EJ82wOVIj4T_KQ80Ng", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4020.0>, params: %{}, path_info: [".well-known", "acme-challenge", "9xqP8RKW0VT0nIlqdKR6TKsd1EJ82wOVIj4T_KQ80Ng"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/9xqP8RKW0VT0nIlqdKR6TKsd1EJ82wOVIj4T_KQ80Ng"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/9xqP8RKW0VT0nIlqdKR6TKsd1EJ82wOVIj4T_KQ80Ng", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDgeBzAuRJJ75MAAM-C"} ], 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.4019.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/9xqP8RKW0VT0nIlqdKR6TKsd1EJ82wOVIj4T_KQ80Ng", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 34378}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/9xqP8RKW0VT0nIlqdKR6TKsd1EJ82wOVIj4T_KQ80Ng", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/9xqP8RKW0VT0nIlqdKR6TKsd1EJ82wOVIj4T_KQ80Ng (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4019.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/9xqP8RKW0VT0nIlqdKR6TKsd1EJ82wOVIj4T_KQ80Ng", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 34378}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/9xqP8RKW0VT0nIlqdKR6TKsd1EJ82wOVIj4T_KQ80Ng", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4020.0>, params: %{}, path_info: [".well-known", "acme-challenge", "9xqP8RKW0VT0nIlqdKR6TKsd1EJ82wOVIj4T_KQ80Ng"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:31:00.808 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:31:03.286 [info] {"args":{"id":2},"id":1701,"meta":{},"system_time":1774665063286193199,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:31:03.294 [debug] QUERY OK source="sources" db=7.3ms idle=877.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] 13:31:03.295 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=885.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 [] 13:31:03.296 [debug] QUERY OK source="media_profiles" db=0.6ms idle=886.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] 13:31:03.304 [debug] QUERY OK source="settings" db=7.7ms idle=27.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 [] 13:31:03.304 [debug] Fetching recent media IDs from YouTube API for playlist: UUjzi56cxvmEDwjo1Bd2Yxpg 13:31:03.305 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=18.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 [] 13:31:03.306 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:31:03.816 [debug] QUERY OK source="media_items" db=3.2ms idle=519.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "CzjE_CAAdm8", "Hw2_s31u_4Q", "b4x9IzQtiA0", "16aM5Bop7Qw", "3hBk9xqT9hs", "xDa45wnAzc8", "Yq41acIvzj8", "Ttn_Q1B2ALc", "-bV0F6OP31U", "qAstyiKRt10", "NF2StvrYme0", "_Q-2UzYr3AA", "FeEEy3jZvlM", "EHaNwda0xto", "KL0u63mAy5M", "fzklfnO42ts", "oZ4kddHCFVY", "spSOp5s_6_A", "C48yl9fSYv8", "654RgtNwXZ8", "4wu_B_XF6wk", "wFLJxWyDJPs", "J5NKnYfn6qw", "fcVRuF6c-bc", "xNAFpSnpqjs", "cavmWZnCeJI", "_J0gQ5GdUSk", "_oISg668F40", "v34wa9QhF0s", "iEen_cClzkg", "CD9wUM2v-0U", "E8k9oqjl5_E", "lQDUMfg_SJc", "pPMD0YPBHQ4", "qq1IN4umTI8", "L63goFhe8KM", "5OXvwQ3CB1I", "doZvHBPoVCw", "9SXMTDO4lIo", "8JmSUN8jp3Q", "7oSgaaUEjZM", "sKSPwnFSRCw", "gdY_Q9ltw8w", "uHbviTslBFY", "gMzXgYFT4Ck", "NdsMuD-_5To", "9JXltNRqLu4", "7ThBvLBMacw", "7BTWa3jFBMw", ...] 13:31:03.880 [info] GET /.well-known/acme-challenge/1w7GkLwmftACl1pnsLiGpM2xWHGaO0-8ql_DR_m1eK8 13:31:03.882 [debug] QUERY OK source="settings" db=1.2ms queue=0.2ms idle=584.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 [] 13:31:03.883 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=578.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 [] 13:31:03.883 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:31:03.884 [error] #PID<0.4022.0> running PinchflatWeb.Endpoint (connection #PID<0.4019.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/1w7GkLwmftACl1pnsLiGpM2xWHGaO0-8ql_DR_m1eK8 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/1w7GkLwmftACl1pnsLiGpM2xWHGaO0-8ql_DR_m1eK8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4019.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/1w7GkLwmftACl1pnsLiGpM2xWHGaO0-8ql_DR_m1eK8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 34378}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/1w7GkLwmftACl1pnsLiGpM2xWHGaO0-8ql_DR_m1eK8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4022.0>, params: %{}, path_info: [".well-known", "acme-challenge", "1w7GkLwmftACl1pnsLiGpM2xWHGaO0-8ql_DR_m1eK8"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/1w7GkLwmftACl1pnsLiGpM2xWHGaO0-8ql_DR_m1eK8"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/1w7GkLwmftACl1pnsLiGpM2xWHGaO0-8ql_DR_m1eK8", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDgeRfc_UBt9c4AAKAh"} ], 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.4019.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/1w7GkLwmftACl1pnsLiGpM2xWHGaO0-8ql_DR_m1eK8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 34378}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/1w7GkLwmftACl1pnsLiGpM2xWHGaO0-8ql_DR_m1eK8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/1w7GkLwmftACl1pnsLiGpM2xWHGaO0-8ql_DR_m1eK8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4019.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/1w7GkLwmftACl1pnsLiGpM2xWHGaO0-8ql_DR_m1eK8", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 34378}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/1w7GkLwmftACl1pnsLiGpM2xWHGaO0-8ql_DR_m1eK8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4022.0>, params: %{}, path_info: [".well-known", "acme-challenge", "1w7GkLwmftACl1pnsLiGpM2xWHGaO0-8ql_DR_m1eK8"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:31:03.890 [debug] QUERY OK source="media_items" db=71.7ms idle=523.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 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] 13:31:03.894 [debug] QUERY OK source="tasks" db=0.2ms idle=11.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1707, 2, ~U[2026-03-28 02:31:03Z], ~U[2026-03-28 02:31:03Z]] 13:31:03.901 [info] {"args":{"id":2},"id":1701,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":608629,"event":"job:stop","queue_time":426902,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:31:05.284 [info] {"args":{"id":4},"id":1702,"meta":{},"system_time":1774665065284480722,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:31:05.286 [debug] QUERY OK source="sources" db=0.9ms idle=1383.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" = ?) [4] 13:31:05.287 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1378.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 [] 13:31:05.288 [debug] QUERY OK source="media_profiles" db=0.6ms idle=1016.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] 13:31:05.289 [debug] QUERY OK source="settings" db=0.6ms 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 [] 13:31:05.289 [debug] Fetching recent media IDs from YouTube API for playlist: UUEiui9T4ZYx8K8nuZ5YFSTw 13:31:05.290 [debug] QUERY OK source="settings" db=0.6ms idle=5.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 [] 13:31:05.290 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:31:05.834 [debug] QUERY OK source="media_items" db=4.2ms idle=544.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [4, "gthI7e6zPWo", "psRX1C7auj8", "2ZtSRjGhStw", "Z8KiNkDP9c4", "AZibPvCnG4k", "QXNPI7Ucivo", "WtxCD4567G4", "80bkfWoOHaE", "pYBAEGrhggM", "9M3wLySdGXY", "mcvbD_Ipbf8", "E_Y7kLO3Iaw", "gPdh5lVJYD0", "qrkTK1UcvSM", "45UcuOLjxeY", "gnbhO9hJ198", "fiFzXo1wNno", "TM5mKkwC0Ok", "kS2A72peqmg", "ueDcEpRFW_M", "AN4-pHYBK2M", "TMNa6ocIv8o", "S1Vt1tQJczE", "_BEmUjtwhLw", "1bxoWiQ2AQY", "CZeRfNeKEBE", "2nftRe3tjLQ", "v1biAguVbg8", "cLDsQImoeHQ", "hhH7mchDBXY", "uQj2W5ej104", "vYRV_nprXBA", "1v_qsQL3mo8", "hfHxFTbVaTo", "mfWqziOaR4A", "AmCWMmKgHkI", "ZWgq-s8r2FE", "1dAkTDsD1c4", "ozdDp_eMPZY", "iHogtXxywLQ", "7ysd04ltGag", "5jq8kH9s0V8", "AB6bC9gtfoc", "R7Tm3zvyy9U", "dUHzocz0hLo", "9Oh6oVrf7kM", "LzUhByZ4jtc", "j7evpR_Fbsw", "_iGhJt3ah8E", ...] 13:31:05.845 [debug] QUERY OK source="media_items" db=8.9ms idle=549.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 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] 13:31:06.140 [debug] QUERY OK source="tasks" db=0.6ms idle=6.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1708, 4, ~U[2026-03-28 02:31:06Z], ~U[2026-03-28 02:31:06Z]] 13:31:06.140 [info] {"args":{"id":4},"id":1702,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":855715,"event":"job:stop","queue_time":387277,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:31:11.095 [info] GET /.well-known/acme-challenge/UuXaDOGmpkLp0op6RNqgdbS2g3VzDOy9Y-xGBeYt6eI 13:31:11.095 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1686.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 [] 13:31:11.096 [debug] QUERY OK source="settings" db=0.5ms idle=1686.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 [] 13:31:11.097 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:31:11.097 [error] #PID<0.4025.0> running PinchflatWeb.Endpoint (connection #PID<0.4024.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/UuXaDOGmpkLp0op6RNqgdbS2g3VzDOy9Y-xGBeYt6eI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/UuXaDOGmpkLp0op6RNqgdbS2g3VzDOy9Y-xGBeYt6eI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4024.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/UuXaDOGmpkLp0op6RNqgdbS2g3VzDOy9Y-xGBeYt6eI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 60502}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/UuXaDOGmpkLp0op6RNqgdbS2g3VzDOy9Y-xGBeYt6eI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4025.0>, params: %{}, path_info: [".well-known", "acme-challenge", "UuXaDOGmpkLp0op6RNqgdbS2g3VzDOy9Y-xGBeYt6eI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/UuXaDOGmpkLp0op6RNqgdbS2g3VzDOy9Y-xGBeYt6eI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/UuXaDOGmpkLp0op6RNqgdbS2g3VzDOy9Y-xGBeYt6eI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDgesXqwEXiOHIAAKFB"} ], 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.4024.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/UuXaDOGmpkLp0op6RNqgdbS2g3VzDOy9Y-xGBeYt6eI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 60502}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/UuXaDOGmpkLp0op6RNqgdbS2g3VzDOy9Y-xGBeYt6eI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/UuXaDOGmpkLp0op6RNqgdbS2g3VzDOy9Y-xGBeYt6eI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4024.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/UuXaDOGmpkLp0op6RNqgdbS2g3VzDOy9Y-xGBeYt6eI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 60502}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/UuXaDOGmpkLp0op6RNqgdbS2g3VzDOy9Y-xGBeYt6eI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4025.0>, params: %{}, path_info: [".well-known", "acme-challenge", "UuXaDOGmpkLp0op6RNqgdbS2g3VzDOy9Y-xGBeYt6eI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:31:13.575 [info] GET / 13:31:13.576 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:31:13.577 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1167.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 [] 13:31:13.578 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=1168.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:31:13.579 [debug] QUERY OK source="sources" db=0.3ms queue=0.2ms idle=280.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:31:13.641 [debug] QUERY OK source="media_items" db=61.4ms queue=0.1ms idle=170.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:31:13.644 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=232.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:31:13.646 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=67.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 [] 13:31:13.646 [debug] QUERY OK source="settings" db=0.1ms idle=67.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 [] 13:31:13.647 [debug] QUERY OK source="settings" db=0.1ms idle=68.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 [] 13:31:13.652 [debug] QUERY OK source="media_items" db=3.0ms 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 (NOT (m0."media_filepath" IS NULL)) [] 13:31:13.653 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=7.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:31:13.654 [debug] QUERY OK source="sources" db=0.3ms idle=8.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" IN (?,?)) [2, 6] 13:31:13.713 [debug] QUERY OK source="media_items" db=52.6ms idle=13.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 (((((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"))) [] 13:31:13.766 [debug] QUERY OK source="media_items" db=52.1ms queue=0.2ms idle=66.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:31:13.767 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=114.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] 13:31:13.773 [debug] QUERY OK source="tasks" db=0.6ms idle=118.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:31:13.774 [debug] QUERY OK source="media_items" db=0.4ms idle=118.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3634, 3636] 13:31:13.776 [info] Sent 200 in 200ms 13:31:21.292 [info] {"source":"oban","duration":2620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:51.297 [info] {"source":"oban","duration":3222,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:00.810 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:32:02.478 [info] {"args":{"id":5},"id":1703,"meta":{},"system_time":1774665122478771966,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:32:02.483 [debug] QUERY OK source="sources" db=4.2ms idle=69.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" = ?) [5] 13:32:02.489 [debug] QUERY OK source="settings" db=5.8ms idle=74.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 [] 13:32:02.490 [debug] QUERY OK source="media_profiles" db=0.3ms idle=80.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] 13:32:02.499 [debug] QUERY OK source="settings" db=8.3ms queue=0.1ms idle=19.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 [] 13:32:02.499 [debug] Fetching recent media IDs from YouTube API for playlist: UUVwfqPkv08OTuHzkPU3EaDw 13:32:02.500 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=21.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 [] 13:32:02.500 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:32:02.868 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hIGx_31EY_E --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/52/47/5247910177b943dcbaa5ed1f82df7137c5f762f5d8a0374a38938834c2ce97be.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:32:02.917 [debug] Running yt-dlp command for action: download_thumbnail 13:32:02.918 [debug] QUERY OK source="settings" db=0.2ms idle=434.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 [] 13:32:02.918 [debug] QUERY OK source="settings" db=0.2ms idle=428.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 [] 13:32:02.919 [debug] QUERY OK source="settings" db=0.3ms idle=428.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 [] 13:32:02.919 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hIGx_31EY_E --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3634/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ce/09/ce0988251d754347cb7f03f786976f2c4c6ec460c3d6ae758e00f2083a0f1c3c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:32:02.997 [debug] QUERY OK source="media_items" db=4.4ms idle=493.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [5, "k8Yr1jU-0EE", "NFrnhg8hI0c", "20XMhcpSNV0", "YVGFnwJho6E", "xQXiSGDXknA", "uZl0TO8i96g", "Hs5ewNKWUwk", "E5suxhHY0aY", "sCou7ut2L-o", "a0INtLdzUiE", "n0x8sH0M9CE", "W4Af6DIMqnE", "Q-sUbLem5aI", "s-jMj11w68U", "DS9HZG5JRBc", "_wLy-vzLi3E", "iFpZfYwRcns", "nPovqKKSKcE", "j_w4tRYm7Og", "laZpTO7IFtA", "FM5e9Vb1noE", "cK6g53lLgnw", "1X5WYEhzGyI", "QVpu66njzdE", "tfnANe2YUwM", "0-QK6hxLxgM", "TYUeXqSlcDg", "0322Pk-GKto", "1Em1UrRSEXc", "x2RT9Awsyi8", "4Yth52yml8E", "ky9Zo2FmjQ8", "npU2QpX5piA", "XEb_1Sq8jNo", "L3QQDAKxUIk", "l3s8S6bBbOs", "WyWBU1NpDf8", "7wZ0NVuoDWg", "-Ig2-rBZtSI", "5BG06-J1t4Y", "GcQ6vQEeQew", "ap8S88LeiB0", "4LvXP3XR6gw", "I9o65_aIq0Q", "Ut9XjFkGK6s", "PcFkjR5NELA", "Yl67318oP-s", "umbar5BKBus", "FEfCtNhVjJ0", ...] 13:32:03.005 [debug] QUERY OK source="media_items" db=5.3ms idle=499.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 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")))) [5] 13:32:03.324 [debug] QUERY OK source="tasks" db=1.3ms queue=0.1ms idle=12.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1709, 5, ~U[2026-03-28 02:32:03Z], ~U[2026-03-28 02:32:03Z]] 13:32:03.326 [info] {"args":{"id":5},"id":1703,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":845498,"event":"job:stop","queue_time":381566,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:32:11.426 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hIGx_31EY_E --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3634/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ce/09/ce0988251d754347cb7f03f786976f2c4c6ec460c3d6ae758e00f2083a0f1c3c.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:32:11.427 [debug] QUERY OK db=0.0ms queue=0.1ms idle=1017.3ms begin [] 13:32:11.430 [debug] QUERY OK source="media_items" db=2.6ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [447, ~U[2026-03-28 02:32:02Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e070899 - How to Make Cold Brew & Espresso Martini.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e070899 - How to Make Cold Brew & Espresso Martini.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e070899 - How to Make Cold Brew & Espresso Martini.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e070899 - How to Make Cold Brew & Espresso Martini.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e070899 - How to Make Cold Brew & Espresso Martini.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e070899 - How to Make Cold Brew & Espresso Martini-thumb.jpg", ~U[2026-03-28 02:32:11Z], 3634] 13:32:11.432 [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/3634/metadata.json.gz", "/config/metadata/media_items/3634/thumbnail.jpg", 3634, ~U[2026-03-28 02:32:11Z], ~U[2026-03-28 02:32:11Z]] 13:32:11.432 [debug] QUERY OK db=0.4ms commit [] 13:32:11.450 [debug] QUERY OK source="media_items" db=2.4ms idle=1038.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [91850993, ~U[2026-03-28 02:32:11Z], 3634] 13:32:11.450 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:32:11.452 [info] {"args":{"id":3634},"id":656,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":257309265,"event":"job:stop","queue_time":80125139063,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:11.460 [info] {"args":{"id":3639},"id":658,"meta":{},"system_time":1774665131460228018,"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"]} 13:32:11.461 [debug] QUERY OK source="media_items" db=0.6ms idle=953.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" = ?) [3639] 13:32:11.461 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:32:11.462 [debug] QUERY OK source="sources" db=0.6ms idle=28.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" = ?) [4] 13:32:11.463 [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] 13:32:11.464 [debug] QUERY OK source="media_items" db=0.8ms idle=11.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 [3639] 13:32:11.466 [debug] QUERY OK source="media_metadata" db=0.3ms idle=5.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" = ?) [3639] 13:32:11.467 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 13:32:11.468 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:32:11.469 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:32:11.470 [debug] Running yt-dlp command for action: get_downloadable_status 13:32:11.471 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:32:11.471 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:32:11.472 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 13:32:11.473 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VUad1GHdYJQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/66/38/6638ea2698a7c97ee31a1bfc51fd7adde6bc5c9f7a696dc159755d1a0efed348.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:32:14.015 [info] GET / 13:32:14.015 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:32:14.016 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=606.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 [] 13:32:14.017 [debug] QUERY OK source="media_profiles" db=0.2ms idle=607.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:32:14.018 [debug] QUERY OK source="sources" db=0.6ms idle=608.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:32:14.065 [debug] QUERY OK source="media_items" db=45.9ms idle=609.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:32:14.073 [debug] QUERY OK source="media_items" db=7.5ms queue=0.2ms idle=547.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:32:14.074 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=57.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 [] 13:32:14.075 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=57.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 [] 13:32:14.077 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=58.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 [] 13:32:14.087 [debug] QUERY OK source="media_items" db=7.6ms queue=0.1ms idle=15.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 (NOT (m0."media_filepath" IS NULL)) [] 13:32:14.090 [debug] QUERY OK source="media_items" db=1.9ms idle=14.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:32:14.092 [debug] QUERY OK source="sources" db=0.4ms queue=0.2ms idle=17.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" IN (?,?)) [2, 6] 13:32:14.176 [debug] QUERY OK source="media_items" db=75.0ms queue=0.1ms idle=25.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 (((((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"))) [] 13:32:14.237 [debug] QUERY OK source="media_items" db=60.3ms queue=0.1ms idle=98.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:32:14.238 [debug] QUERY OK source="sources" db=0.6ms idle=149.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] 13:32:14.244 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=153.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:32:14.246 [debug] QUERY OK source="media_items" db=0.8ms idle=153.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3636, 3639] 13:32:14.247 [info] Sent 200 in 232ms 13:32:20.930 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VUad1GHdYJQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/66/38/6638ea2698a7c97ee31a1bfc51fd7adde6bc5c9f7a696dc159755d1a0efed348.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:32:20.931 [debug] Running yt-dlp command for action: download 13:32:20.931 [debug] QUERY OK source="settings" db=0.2ms idle=1522.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 [] 13:32:20.932 [debug] QUERY OK source="settings" db=0.3ms idle=1522.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 [] 13:32:20.933 [debug] QUERY OK source="settings" db=0.1ms idle=1523.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 [] 13:32:20.933 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VUad1GHdYJQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/15/06/1506cdc4abc3c12794f86204db7ace5d9e43761648c49a120739707b5f4ff481.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:32:21.300 [info] {"source":"oban","duration":2094,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:51.303 [info] {"source":"oban","duration":2552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:55.684 [info] {"args":{"id":1},"id":1704,"meta":{},"system_time":1774665175683878552,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:32:55.685 [debug] QUERY OK source="sources" db=0.7ms idle=1275.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] 13:32:55.693 [debug] QUERY OK source="settings" db=7.8ms queue=0.1ms idle=1016.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 [] 13:32:55.700 [debug] QUERY OK source="media_profiles" db=5.8ms idle=285.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] 13:32:55.701 [debug] QUERY OK source="settings" db=0.3ms idle=27.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 [] 13:32:55.701 [debug] Fetching recent media IDs from YouTube API for playlist: UUISrVZmDM4x-Rq9mmNUw7Zw 13:32:55.702 [debug] QUERY OK source="settings" db=0.5ms idle=17.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 [] 13:32:55.702 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:32:56.178 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=491.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "Q0qmHym16H4", "WcWL0_PlcO8", "dQV1WkSly7k", "Xpohopi2_tA", "fsZdCn4jIUY", "hgk2jMPnG2w", "oDh4gg7xiUs", "3LfUmSMW_qc", "5gN9QvwPLq8", "uSBe19ms3aw", "Eq1BmJikpHA", "OsKelxcQUNo", "zNP6Q_Yk9hU", "ZPPCc15thCc", "UzARiS2CyJ4", "r8X8HVGVV1o", "_JI7oYBFZIo", "niCh-EI1Kfo", "92mSBlpBEJo", "_6OAB_8iwqs", "tJbcC43WELc", "cPz1rUCNI0o", "hFzt_dOdElw", "nC-QKeluT0c", "i8ARsrsVUMM", "X30l-491qck", "rzQeUM-lMUY", "BkUHm95UvCw", "MQ2cHq3-J7A", "CtF5dLHITYA", "SGJkxRdkRGg", "OUCt85aJaAA", "9gARPYZOka4", "-uH-Gi5tjEw", "qwUBBQKYX94", "s8VLDSQJ8nA", "EvPfr0lKkh4", "msXzAxF49gA", "hQCWaSvjkU0", "RcmjVsy3a-g", "xtuNc9vYJG4", "fj2tcg8OzsM", "2FZ4IfPACDM", "2Q9DzW20YJ8", "IVsWFGOE_mw", "vPxpMcv2Z4Y", "Zverj_ldlhY", "pQK8xasPd9Q", "_Yo7nh8u9pk", ...] 13:32:56.184 [debug] QUERY OK source="media_items" db=4.2ms idle=486.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 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] 13:32:56.243 [debug] QUERY OK source="tasks" db=0.8ms idle=18.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1710, 1, ~U[2026-03-28 02:32:56Z], ~U[2026-03-28 02:32:56Z]] 13:32:56.245 [info] {"args":{"id":1},"id":1704,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":560188,"event":"job:stop","queue_time":442637,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:32:57.138 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IBHXSv4YGUo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/80/e4/80e4e2e83df6763b04e125c32ff10f097cd4ad6216b94baaa37759e1583bc862.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:32:57.179 [debug] Running yt-dlp command for action: download_thumbnail 13:32:57.182 [debug] QUERY OK source="settings" db=0.4ms idle=938.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 [] 13:32:57.182 [debug] QUERY OK source="settings" db=0.2ms idle=938.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 [] 13:32:57.183 [debug] QUERY OK source="settings" db=0.2ms idle=937.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 [] 13:32:57.183 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IBHXSv4YGUo --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3636/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/a3/4b/a34b017344246b8582874913b11300b059d7a1911049df8f6369336d30e0dfcc.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:33:00.812 [info] {"source":"oban","duration":905,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:33:05.695 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IBHXSv4YGUo --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3636/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/a3/4b/a34b017344246b8582874913b11300b059d7a1911049df8f6369336d30e0dfcc.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:33:05.696 [debug] QUERY OK db=0.1ms idle=1286.0ms begin [] 13:33:05.702 [debug] QUERY OK source="media_items" db=5.6ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 02:32:57Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e070399 - Baklava Punch Cocktail | Food-pairing with Chef Rudakova.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e070399 - Baklava Punch Cocktail | Food-pairing with Chef Rudakova.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e070399 - Baklava Punch Cocktail | Food-pairing with Chef Rudakova.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e070399 - Baklava Punch Cocktail | Food-pairing with Chef Rudakova.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e070399 - Baklava Punch Cocktail | Food-pairing with Chef Rudakova.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e070399 - Baklava Punch Cocktail | Food-pairing with Chef Rudakova-thumb.jpg", ~U[2026-03-28 02:33:05Z], 3636] 13:33:05.705 [debug] QUERY OK source="media_metadata" db=2.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/3636/metadata.json.gz", "/config/metadata/media_items/3636/thumbnail.jpg", 3636, ~U[2026-03-28 02:33:05Z], ~U[2026-03-28 02:33:05Z]] 13:33:05.706 [debug] QUERY OK db=0.7ms commit [] 13:33:05.716 [debug] QUERY OK source="media_items" db=6.0ms idle=1299.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [165599851, ~U[2026-03-28 02:33:05Z], 3636] 13:33:05.716 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:33:05.717 [info] {"args":{"id":3636},"id":657,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":297201776,"event":"job:stop","queue_time":80133513053,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:33:05.725 [info] {"args":{"id":3642},"id":659,"meta":{},"system_time":1774665185725422676,"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"]} 13:33:05.726 [debug] QUERY OK source="media_items" db=0.7ms idle=21.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" = ?) [3642] 13:33:05.727 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:33:05.728 [debug] QUERY OK source="sources" db=0.7ms idle=20.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" = ?) [4] 13:33:05.728 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 13:33:05.730 [debug] QUERY OK source="media_items" db=1.0ms idle=11.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 [3642] 13:33:05.733 [debug] QUERY OK source="media_metadata" db=0.4ms idle=7.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" = ?) [3642] 13:33:05.734 [debug] QUERY OK source="media_profiles" db=0.4ms idle=6.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] 13:33:05.734 [debug] QUERY OK source="settings" db=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 [] 13:33:05.735 [debug] QUERY OK source="settings" db=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 [] 13:33:05.735 [debug] Running yt-dlp command for action: get_downloadable_status 13:33:05.736 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:33:05.737 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:33:05.737 [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 [] 13:33:05.737 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OGMV2vLDJOw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e5/aa/e5aaf316ef8dbdbce4d17d321cfe0a54c46d1796b4da705c23705b257b07da8b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:33:13.128 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OGMV2vLDJOw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e5/aa/e5aaf316ef8dbdbce4d17d321cfe0a54c46d1796b4da705c23705b257b07da8b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:33:13.129 [debug] Running yt-dlp command for action: download 13:33:13.129 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1718.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 [] 13:33:13.130 [debug] QUERY OK source="settings" db=0.2ms idle=1719.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 [] 13:33:13.130 [debug] QUERY OK source="settings" db=0.1ms idle=1719.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 [] 13:33:13.131 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OGMV2vLDJOw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/97/0c/970c47b5121e88c50ffb4677da26d7141cc2044f8a42681ce02180b45b22f99d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:33:14.441 [info] GET / 13:33:14.441 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:33:14.442 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1031.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 [] 13:33:14.443 [debug] QUERY OK source="media_profiles" db=0.3ms idle=704.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:33:14.443 [debug] QUERY OK source="sources" db=0.2ms idle=33.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:33:14.469 [debug] QUERY OK source="media_items" db=25.7ms idle=33.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:33:14.473 [debug] QUERY OK source="media_items" db=3.4ms idle=59.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:33:14.474 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=31.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 [] 13:33:14.475 [debug] QUERY OK source="settings" db=0.2ms idle=31.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 [] 13:33:14.476 [debug] QUERY OK source="settings" db=0.1ms idle=32.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 [] 13:33:14.481 [debug] QUERY OK source="media_items" db=3.1ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 13:33:14.482 [debug] QUERY OK source="media_items" db=0.6ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:33:14.486 [debug] QUERY OK source="sources" db=2.5ms idle=8.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" IN (?,?)) [2, 6] 13:33:14.544 [debug] QUERY OK source="media_items" db=54.8ms idle=13.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 (((((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"))) [] 13:33:14.603 [debug] QUERY OK source="media_items" db=58.6ms queue=0.1ms idle=67.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:33:14.604 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=122.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] 13:33:14.610 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=126.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:33:14.611 [debug] QUERY OK source="media_items" db=0.4ms idle=124.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3639, 3642] 13:33:14.614 [info] Sent 200 in 173ms 13:33:21.307 [info] {"source":"oban","duration":3438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:51.310 [info] {"source":"oban","duration":2028,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:00.815 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:34:14.895 [info] GET / 13:34:14.895 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:34:14.896 [debug] QUERY OK source="settings" db=0.7ms idle=931.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 [] 13:34:14.897 [debug] QUERY OK source="media_profiles" db=0.2ms idle=486.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:34:14.898 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=487.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:34:14.947 [debug] QUERY OK source="media_items" db=48.3ms queue=0.1ms idle=488.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:34:14.954 [debug] QUERY OK source="media_items" db=6.3ms queue=0.1ms idle=537.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:34:14.956 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=58.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 [] 13:34:14.956 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=58.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 [] 13:34:14.957 [debug] QUERY OK source="settings" db=0.2ms idle=59.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 [] 13:34:14.965 [debug] QUERY OK source="media_items" db=6.6ms idle=11.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 (NOT (m0."media_filepath" IS NULL)) [] 13:34:14.967 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=11.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:34:14.970 [debug] QUERY OK source="sources" db=1.0ms queue=0.2ms idle=11.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" IN (?,?)) [2, 6] 13:34:15.035 [debug] QUERY OK source="media_items" db=57.6ms queue=0.1ms idle=19.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 (((((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"))) [] 13:34:15.051 [debug] QUERY OK source="media_items" db=15.6ms queue=0.1ms idle=70.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:34:15.053 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=84.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] 13:34:15.061 [debug] QUERY OK source="tasks" db=2.2ms queue=0.1ms idle=89.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:34:15.065 [debug] QUERY OK source="media_items" db=2.8ms idle=93.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3639, 3642] 13:34:15.067 [info] Sent 200 in 172ms 13:34:16.001 [info] {"args":{"id":6},"id":1705,"meta":{},"system_time":1774665256001185249,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:34:16.014 [debug] QUERY OK source="sources" db=12.0ms queue=0.1ms idle=948.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" = ?) [6] 13:34:16.015 [debug] QUERY OK source="settings" db=0.9ms idle=953.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 [] 13:34:16.016 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=950.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] 13:34:16.028 [debug] QUERY OK source="settings" db=11.6ms idle=43.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 [] 13:34:16.029 [debug] Fetching recent media IDs from YouTube API for playlist: UUOzMAa6IhV6uwYQATYG_2kg 13:34:16.030 [debug] QUERY OK source="settings" db=0.5ms idle=28.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 [] 13:34:16.030 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:34:16.490 [debug] QUERY OK source="media_items" db=2.0ms idle=473.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6, "dnia-38h1GA", "iZaN9NRWc28", "CJrLdBStrzc", "u-eoT-Foth8", "XHineC0YKjs", "VdlejwGkNoI", "ikIigkz2pMg", "qUdPPQ9-9Tg", "k9fuSOPjSXM", "hb-oXWK9r7k", "hDfrtCQmNOo", "zRIUM4OhyWU", "W7c0iVM4P2I", "KCFDp_kxT_4", "aZhuGRngq-g", "BgWbezF2M28", "ZJfHw71KKsk", "MisOg5bX0a4", "2UampQ_86ek", "7-iImzOel-s", "O8E47Ib_RoU", "RcVBMZd2_u8", "b-DHev8Uc6I", "0apH8xkS6PE", "I8m3hyPVsxA", "urqkKHRaT-8", "shyrhINSaPk", "Ze3bKcLbPWg", "ydk9KfgHUPo", "sFlgR1oiUXk", "jCieQsNXdBM", "Nz4uVkNMKdI", "tyX3PvjLSC8", "VeDDo4HhNVo", "2RmXPeBn3x0", "1sA4iEo0x1o", "KqAYebG_Bs0", "FelCut8wQ3o", "wY5Xb_t79SM", "-YqD-IWgaz8", "BdV0pSziReE", "u5VKDy7Dgj8", "hn89XxHJLQ0", "wE60s-NuU6c", "LBwtYK3W-vw", "FGpCwqNklsw", "79hW_qeneEY", "aNpJxLXZATY", "9JhGit6JRw0", ...] 13:34:16.492 [debug] QUERY OK source="settings" db=0.3ms idle=475.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 [] 13:34:16.492 [debug] QUERY OK source="settings" db=0.3ms idle=475.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 [] 13:34:16.492 [debug] Running yt-dlp command for action: get_media_attributes 13:34:16.495 [debug] QUERY OK source="settings" db=0.2ms idle=466.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 [] 13:34:16.495 [debug] QUERY OK source="settings" db=0.1ms idle=465.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 [] 13:34:16.496 [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 [] 13:34:16.496 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/9c/a3/9ca314c8b5f7a064c9eed5cbc4937b977e5c58843f7a5e5e4eb9d1aec1d3a9d8.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:34:20.017 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/9c/a3/9ca314c8b5f7a064c9eed5cbc4937b977e5c58843f7a5e5e4eb9d1aec1d3a9d8.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days. 13:34:20.017 [error] Error creating media item 'u-eoT-Foth8' from URL: {:error, "ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days.\n", 1} 13:34:20.038 [debug] QUERY OK source="media_items" db=20.3ms idle=1608.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 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] 13:34:20.238 [debug] QUERY OK source="tasks" db=0.3ms idle=6.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1711, 6, ~U[2026-03-28 02:34:20Z], ~U[2026-03-28 02:34:20Z]] 13:34:20.239 [info] {"args":{"id":6},"id":1705,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":4237831,"event":"job:stop","queue_time":815121,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:34:21.315 [info] {"source":"oban","duration":4358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:51.319 [info] {"source":"oban","duration":3237,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:00.817 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:35:15.346 [info] GET / 13:35:15.346 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:35:15.347 [debug] QUERY OK source="settings" db=0.3ms idle=1155.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 [] 13:35:15.347 [debug] QUERY OK source="media_profiles" db=0.0ms idle=937.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:35:15.348 [debug] QUERY OK source="sources" db=0.1ms idle=937.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:35:15.372 [debug] QUERY OK source="media_items" db=24.3ms idle=938.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:35:15.376 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=179.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:35:15.377 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:35:15.377 [debug] QUERY OK source="settings" db=0.2ms idle=29.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 [] 13:35:15.379 [debug] QUERY OK source="settings" db=0.2ms idle=30.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 [] 13:35:15.384 [debug] QUERY OK source="media_items" db=3.3ms 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 (NOT (m0."media_filepath" IS NULL)) [] 13:35:15.385 [debug] QUERY OK source="media_items" db=0.7ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:35:15.387 [debug] QUERY OK source="sources" db=0.3ms idle=9.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" IN (?,?)) [2, 6] 13:35:15.447 [debug] QUERY OK source="media_items" db=54.1ms queue=0.1ms idle=15.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 (((((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"))) [] 13:35:15.506 [debug] QUERY OK source="media_items" db=58.5ms idle=68.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:35:15.508 [debug] QUERY OK source="sources" db=0.4ms idle=123.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" = ?) [6] 13:35:15.513 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=127.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:35:15.514 [debug] QUERY OK source="media_items" db=0.3ms idle=127.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3639, 3642] 13:35:15.517 [info] Sent 200 in 171ms 13:35:21.323 [info] {"source":"oban","duration":2653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:22.525 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VUad1GHdYJQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/15/06/1506cdc4abc3c12794f86204db7ace5d9e43761648c49a120739707b5f4ff481.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:35:22.573 [debug] Running yt-dlp command for action: download_thumbnail 13:35:22.575 [debug] QUERY OK source="settings" db=0.3ms idle=1164.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 [] 13:35:22.575 [debug] QUERY OK source="settings" db=0.1ms idle=1164.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 [] 13:35:22.575 [debug] QUERY OK source="settings" db=0.1ms idle=1164.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 [] 13:35:22.576 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VUad1GHdYJQ --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3639/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/a1/fa/a1fa77efc91395f3449b4554f212917f9597ad4381f529970b2c3e41f50f229f.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:35:30.606 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VUad1GHdYJQ --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3639/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/a1/fa/a1fa77efc91395f3449b4554f212917f9597ad4381f529970b2c3e41f50f229f.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:35:30.607 [debug] QUERY OK db=0.1ms idle=362.2ms begin [] 13:35:30.611 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 02:35:22Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e062499 - Daiquiri Cocktail Recipes Through History.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e062499 - Daiquiri Cocktail Recipes Through History.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e062499 - Daiquiri Cocktail Recipes Through History.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e062499 - Daiquiri Cocktail Recipes Through History.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e062499 - Daiquiri Cocktail Recipes Through History.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e062499 - Daiquiri Cocktail Recipes Through History-thumb.jpg", ~U[2026-03-28 02:35:30Z], 3639] 13:35:30.614 [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/3639/metadata.json.gz", "/config/metadata/media_items/3639/thumbnail.jpg", 3639, ~U[2026-03-28 02:35:30Z], ~U[2026-03-28 02:35:30Z]] 13:35:30.616 [debug] QUERY OK db=2.3ms commit [] 13:35:30.658 [debug] QUERY OK source="media_items" db=19.6ms idle=228.6ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [101513559, ~U[2026-03-28 02:35:30Z], 3639] 13:35:30.659 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:35:30.660 [info] {"args":{"id":3639},"id":658,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":199198864,"event":"job:stop","queue_time":80371458052,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:35:30.681 [info] {"args":{"id":3645},"id":660,"meta":{},"system_time":1774665330680865028,"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"]} 13:35:30.682 [debug] QUERY OK source="media_items" db=0.8ms idle=271.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" = ?) [3645] 13:35:30.682 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:35:30.692 [debug] QUERY OK source="sources" db=9.4ms idle=66.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" = ?) [4] 13:35:30.693 [debug] QUERY OK source="media_profiles" db=0.8ms idle=34.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] 13:35:30.695 [debug] QUERY OK source="media_items" db=0.9ms idle=33.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 [3645] 13:35:30.697 [debug] QUERY OK source="media_metadata" db=0.3ms idle=15.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" = ?) [3645] 13:35:30.697 [debug] QUERY OK source="media_profiles" db=0.5ms idle=15.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] 13:35:30.698 [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 [] 13:35:30.698 [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 [] 13:35:30.699 [debug] Running yt-dlp command for action: get_downloadable_status 13:35:30.700 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:35:30.700 [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 [] 13:35:30.700 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:35:30.701 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=utLbaQny8zw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c9/02/c90272d78386e6970b042d96a88f0e4275dd14572b08184dd29a0b88b6407c6d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:35:37.278 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=utLbaQny8zw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c9/02/c90272d78386e6970b042d96a88f0e4275dd14572b08184dd29a0b88b6407c6d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:35:37.278 [debug] Running yt-dlp command for action: download 13:35:37.279 [debug] QUERY OK source="settings" db=0.5ms idle=868.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 [] 13:35:37.280 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=869.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 [] 13:35:37.281 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=870.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 [] 13:35:37.282 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=utLbaQny8zw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/65/d1/65d1519a69b6cac83c179c3fba2fc8d545d4485ab1137439dec89e86de2ade01.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:35:51.326 [info] {"source":"oban","duration":1930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:55.195 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OGMV2vLDJOw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/97/0c/970c47b5121e88c50ffb4677da26d7141cc2044f8a42681ce02180b45b22f99d.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:35:55.233 [debug] Running yt-dlp command for action: download_thumbnail 13:35:55.235 [debug] QUERY OK source="settings" db=0.6ms idle=918.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 [] 13:35:55.236 [debug] QUERY OK source="settings" db=0.4ms idle=825.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 [] 13:35:55.237 [debug] QUERY OK source="settings" db=0.3ms idle=826.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 [] 13:35:55.238 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OGMV2vLDJOw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3642/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/65/75/657554dece21c78acac39e713318301c33d9151fa46371327f6dcc39a107e29b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:36:00.819 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:36:02.681 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OGMV2vLDJOw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3642/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/65/75/657554dece21c78acac39e713318301c33d9151fa46371327f6dcc39a107e29b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:36:02.682 [debug] QUERY OK db=0.0ms idle=336.5ms begin [] 13:36:02.685 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 02:35:55Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e061799 - Cocktail With a Zero Waste Homemade Sorbet.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e061799 - Cocktail With a Zero Waste Homemade Sorbet.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e061799 - Cocktail With a Zero Waste Homemade Sorbet.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e061799 - Cocktail With a Zero Waste Homemade Sorbet.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e061799 - Cocktail With a Zero Waste Homemade Sorbet.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e061799 - Cocktail With a Zero Waste Homemade Sorbet-thumb.jpg", ~U[2026-03-28 02:36:02Z], 3642] 13:36:02.686 [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/3642/metadata.json.gz", "/config/metadata/media_items/3642/thumbnail.jpg", 3642, ~U[2026-03-28 02:36:02Z], ~U[2026-03-28 02:36:02Z]] 13:36:02.687 [debug] QUERY OK db=0.3ms commit [] 13:36:02.692 [debug] QUERY OK source="media_items" db=2.0ms idle=279.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [91831296, ~U[2026-03-28 02:36:02Z], 3642] 13:36:02.692 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:36:02.693 [info] {"args":{"id":3642},"id":659,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":176967403,"event":"job:stop","queue_time":80419723064,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:36:02.701 [info] {"args":{"id":3648},"id":661,"meta":{},"system_time":1774665362701577984,"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"]} 13:36:02.703 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=291.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" = ?) [3648] 13:36:02.703 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:36:02.704 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=16.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" = ?) [4] 13:36:02.705 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=12.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] 13:36:02.706 [debug] QUERY OK source="media_items" db=0.3ms idle=12.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 [3648] 13:36:02.707 [debug] QUERY OK source="media_metadata" db=0.1ms idle=6.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" = ?) [3648] 13:36:02.708 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.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] 13:36:02.709 [debug] QUERY OK source="settings" db=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 [] 13:36:02.709 [debug] QUERY OK source="settings" db=0.1ms queue=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 [] 13:36:02.710 [debug] Running yt-dlp command for action: get_downloadable_status 13:36:02.711 [debug] QUERY OK source="settings" db=0.1ms idle=5.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 [] 13:36:02.712 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:36:02.712 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:36:02.713 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=NZit_l-nQYw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/31/a1/31a1a542e503c044eb3357fa3634e4cfd5bd065f30ae58a6ffcbb318afc31dab.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:36:11.138 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=NZit_l-nQYw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/31/a1/31a1a542e503c044eb3357fa3634e4cfd5bd065f30ae58a6ffcbb318afc31dab.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:36:11.138 [debug] Running yt-dlp command for action: download 13:36:11.139 [debug] QUERY OK source="settings" db=0.2ms idle=761.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 [] 13:36:11.139 [debug] QUERY OK source="settings" db=0.1ms idle=728.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 [] 13:36:11.139 [debug] QUERY OK source="settings" db=0.1ms idle=729.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 [] 13:36:11.140 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=NZit_l-nQYw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/aa/46/aa4655a6f15e1402e35657449484fe97040793d1d7c5e9fde0cd9a1d92301a14.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:36:15.732 [info] GET / 13:36:15.732 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:36:15.734 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1323.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 [] 13:36:15.734 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=1324.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:36:15.735 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1324.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:36:15.785 [debug] QUERY OK source="media_items" db=49.5ms queue=0.1ms idle=1325.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:36:15.789 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=392.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:36:15.790 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=55.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 [] 13:36:15.790 [debug] QUERY OK source="settings" db=0.1ms idle=55.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 [] 13:36:15.791 [debug] QUERY OK source="settings" db=0.1ms idle=55.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 [] 13:36:15.796 [debug] QUERY OK source="media_items" db=3.1ms idle=7.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 (NOT (m0."media_filepath" IS NULL)) [] 13:36:15.797 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=7.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:36:15.798 [debug] QUERY OK source="sources" db=0.3ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [2, 6] 13:36:15.860 [debug] QUERY OK source="media_items" db=55.6ms idle=14.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 (((((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"))) [] 13:36:15.924 [debug] QUERY OK source="media_items" db=63.4ms queue=0.1ms idle=69.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:36:15.926 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=129.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] 13:36:15.931 [debug] QUERY OK source="tasks" db=0.6ms idle=133.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:36:15.932 [debug] QUERY OK source="media_items" db=0.4ms idle=133.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3645, 3648] 13:36:15.935 [info] Sent 200 in 203ms 13:36:21.329 [info] {"source":"oban","duration":2009,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:51.333 [info] {"source":"oban","duration":3366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:00.821 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:37:16.143 [info] GET / 13:37:16.143 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:37:16.144 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1733.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 [] 13:37:16.145 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1734.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:37:16.146 [debug] QUERY OK source="sources" db=0.2ms idle=1735.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:37:16.152 [debug] QUERY OK source="media_items" db=6.2ms idle=1519.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:37:16.157 [debug] QUERY OK source="media_items" db=4.5ms queue=0.1ms idle=521.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:37:16.158 [debug] QUERY OK source="settings" db=0.2ms queue=0.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 [] 13:37:16.159 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:37:16.159 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:37:16.162 [debug] QUERY OK source="media_items" db=1.5ms 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 (NOT (m0."media_filepath" IS NULL)) [] 13:37:16.163 [debug] QUERY OK source="media_items" db=0.9ms idle=5.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:37:16.164 [debug] QUERY OK source="sources" db=0.6ms idle=5.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" IN (?,?)) [2, 6] 13:37:16.216 [debug] QUERY OK source="media_items" db=48.6ms idle=8.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 (((((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"))) [] 13:37:16.293 [debug] QUERY OK source="media_items" db=76.4ms idle=57.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:37:16.295 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=132.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] 13:37:16.302 [debug] QUERY OK source="tasks" db=1.5ms queue=0.1ms idle=136.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:37:16.304 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=138.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3645, 3648] 13:37:16.308 [info] Sent 200 in 165ms 13:37:21.336 [info] {"source":"oban","duration":2612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:51.339 [info] {"source":"oban","duration":1586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:00.822 [info] {"source":"oban","duration":317,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:38:09.988 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=utLbaQny8zw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/65/d1/65d1519a69b6cac83c179c3fba2fc8d545d4485ab1137439dec89e86de2ade01.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:38:10.041 [debug] Running yt-dlp command for action: download_thumbnail 13:38:10.044 [debug] QUERY OK source="settings" db=0.4ms idle=1632.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 [] 13:38:10.045 [debug] QUERY OK source="settings" db=0.8ms idle=1634.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 [] 13:38:10.047 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1636.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 [] 13:38:10.049 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=utLbaQny8zw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3645/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/97/20/97203f798da2dbeefb1d40b190c8a8c053be91cfa0a16d66e4af62a6d12a5044.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:38:16.543 [info] GET / 13:38:16.544 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:38:16.545 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1134.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 [] 13:38:16.546 [debug] QUERY OK source="media_profiles" db=0.8ms idle=1135.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:38:16.547 [debug] QUERY OK source="sources" db=0.3ms idle=1136.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:38:16.576 [debug] QUERY OK source="media_items" db=28.4ms idle=700.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:38:16.584 [debug] QUERY OK source="media_items" db=7.4ms queue=0.1ms idle=166.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:38:16.585 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=39.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 [] 13:38:16.586 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=38.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 [] 13:38:16.588 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=40.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 [] 13:38:16.597 [debug] QUERY OK source="media_items" db=6.2ms idle=14.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 (NOT (m0."media_filepath" IS NULL)) [] 13:38:16.598 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=13.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:38:16.600 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=14.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" IN (?,?)) [2, 6] 13:38:16.652 [debug] QUERY OK source="media_items" db=45.7ms idle=20.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 (((((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"))) [] 13:38:16.677 [debug] QUERY OK source="media_items" db=23.4ms queue=0.3ms idle=65.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:38:16.680 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=82.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] 13:38:16.687 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=87.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:38:16.688 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=87.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3645, 3648] 13:38:16.692 [info] Sent 200 in 148ms 13:38:18.042 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=utLbaQny8zw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3645/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/97/20/97203f798da2dbeefb1d40b190c8a8c053be91cfa0a16d66e4af62a6d12a5044.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:38:18.047 [debug] QUERY OK db=0.2ms queue=0.2ms idle=1366.9ms begin [] 13:38:18.055 [debug] QUERY OK source="media_items" db=6.6ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [426, ~U[2026-03-28 02:38:09Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e061099 - Pre-Batched Cocktail with Watermelon and Tequila.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e061099 - Pre-Batched Cocktail with Watermelon and Tequila.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e061099 - Pre-Batched Cocktail with Watermelon and Tequila.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e061099 - Pre-Batched Cocktail with Watermelon and Tequila.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e061099 - Pre-Batched Cocktail with Watermelon and Tequila.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e061099 - Pre-Batched Cocktail with Watermelon and Tequila-thumb.jpg", ~U[2026-03-28 02:38:18Z], 3645] 13:38:18.059 [debug] QUERY OK source="media_metadata" db=2.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/3645/metadata.json.gz", "/config/metadata/media_items/3645/thumbnail.jpg", 3645, ~U[2026-03-28 02:38:18Z], ~U[2026-03-28 02:38:18Z]] 13:38:18.062 [debug] QUERY OK db=2.7ms commit [] 13:38:18.076 [debug] QUERY OK source="media_items" db=4.4ms queue=0.2ms idle=1384.4ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [74966138, ~U[2026-03-28 02:38:18Z], 3645] 13:38:18.076 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:38:18.086 [info] {"args":{"id":3645},"id":660,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":167396142,"event":"job:stop","queue_time":80560667079,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:38:18.101 [info] {"args":{"id":3651},"id":662,"meta":{},"system_time":1774665498101191995,"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"]} 13:38:18.108 [debug] QUERY OK source="media_items" db=6.4ms queue=0.1ms idle=244.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" = ?) [3651] 13:38:18.108 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:38:18.119 [debug] QUERY OK source="sources" db=10.2ms queue=0.1ms idle=46.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" = ?) [4] 13:38:18.120 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=43.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] 13:38:18.121 [debug] QUERY OK source="media_items" db=0.4ms idle=34.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 [3651] 13:38:18.123 [debug] QUERY OK source="media_metadata" db=0.4ms idle=21.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" = ?) [3651] 13:38:18.124 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 13:38:18.124 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:38:18.125 [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 [] 13:38:18.126 [debug] Running yt-dlp command for action: get_downloadable_status 13:38:18.127 [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 [] 13:38:18.127 [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 [] 13:38:18.127 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:38:18.127 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ky9cRNf0Mk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/08/b3/08b3fcd57d68134ca73ccf2da9c09253b1ea1cf0864365d8b63da11fbda275c3.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:38:21.345 [info] {"source":"oban","duration":4176,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:24.842 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ky9cRNf0Mk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/08/b3/08b3fcd57d68134ca73ccf2da9c09253b1ea1cf0864365d8b63da11fbda275c3.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:38:24.843 [debug] Running yt-dlp command for action: download 13:38:24.844 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1433.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 [] 13:38:24.844 [debug] QUERY OK source="settings" db=0.2ms idle=1434.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 [] 13:38:24.845 [debug] QUERY OK source="settings" db=0.2ms idle=1434.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 [] 13:38:24.846 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ky9cRNf0Mk8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/cc/93/cc93032d9a3ad9c44c0271ad5e63e82760dc8575bd95a8e9d1c75f0e6e1f1a31.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:38:51.349 [info] {"source":"oban","duration":3256,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:00.823 [info] {"source":"oban","duration":482,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:39:16.902 [info] GET / 13:39:16.903 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:39:16.904 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=820.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 [] 13:39:16.905 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=494.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:39:16.905 [debug] QUERY OK source="sources" db=0.1ms queue=0.2ms idle=494.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:39:16.931 [debug] QUERY OK source="media_items" db=25.3ms queue=0.1ms idle=495.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:39:16.934 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=521.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:39:16.936 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=31.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 [] 13:39:16.936 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=31.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 [] 13:39:16.938 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=32.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 [] 13:39:16.943 [debug] QUERY OK source="media_items" db=3.2ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 13:39:16.944 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=9.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:39:16.946 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=9.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" IN (?,?)) [2, 6] 13:39:17.010 [debug] QUERY OK source="media_items" db=57.0ms idle=16.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 (((((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"))) [] 13:39:17.077 [debug] QUERY OK source="media_items" db=66.8ms queue=0.1ms idle=72.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:39:17.078 [debug] QUERY OK source="sources" db=0.2ms idle=134.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] 13:39:17.082 [debug] QUERY OK source="tasks" db=1.5ms idle=135.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:39:17.084 [debug] QUERY OK source="media_items" db=1.1ms idle=136.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3648, 3651] 13:39:17.085 [info] Sent 200 in 182ms 13:39:21.352 [info] {"source":"oban","duration":1789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:32.986 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=NZit_l-nQYw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/aa/46/aa4655a6f15e1402e35657449484fe97040793d1d7c5e9fde0cd9a1d92301a14.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:39:33.106 [debug] Running yt-dlp command for action: download_thumbnail 13:39:33.107 [debug] QUERY OK source="settings" db=0.2ms idle=975.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 [] 13:39:33.107 [debug] QUERY OK source="settings" db=0.1ms idle=697.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 [] 13:39:33.108 [debug] QUERY OK source="settings" db=0.2ms idle=697.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 [] 13:39:33.108 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=NZit_l-nQYw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3648/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/da/6c/da6c6827c9e4ac4c913246c744238b1372713d69f64955e23f8b021997878d78.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:39:41.816 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=NZit_l-nQYw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3648/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/da/6c/da6c6827c9e4ac4c913246c744238b1372713d69f64955e23f8b021997878d78.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:39:41.818 [debug] QUERY OK db=0.2ms queue=0.1ms idle=1407.4ms begin [] 13:39:41.825 [debug] QUERY OK source="media_items" db=5.8ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 02:39:33Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e060399 - Fluffy Jungle Bird Cocktail - Sprinkled with Campari Dust!.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e060399 - Fluffy Jungle Bird Cocktail - Sprinkled with Campari Dust!.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e060399 - Fluffy Jungle Bird Cocktail - Sprinkled with Campari Dust!.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e060399 - Fluffy Jungle Bird Cocktail - Sprinkled with Campari Dust!.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e060399 - Fluffy Jungle Bird Cocktail - Sprinkled with Campari Dust!.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e060399 - Fluffy Jungle Bird Cocktail - Sprinkled with Campari Dust!-thumb.jpg", ~U[2026-03-28 02:39:41Z], 3648] 13:39:41.841 [debug] QUERY OK source="media_metadata" db=15.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/3648/metadata.json.gz", "/config/metadata/media_items/3648/thumbnail.jpg", 3648, ~U[2026-03-28 02:39:41Z], ~U[2026-03-28 02:39:41Z]] 13:39:41.866 [debug] QUERY OK db=24.4ms commit [] 13:39:41.883 [debug] QUERY OK source="media_items" db=13.1ms idle=1460.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [116314922, ~U[2026-03-28 02:39:41Z], 3648] 13:39:41.884 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:39:41.885 [info] {"args":{"id":3648},"id":661,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":219182787,"event":"job:stop","queue_time":80586699095,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:39:41.913 [info] {"args":{"id":3654},"id":663,"meta":{},"system_time":1774665581912680765,"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"]} 13:39:41.930 [debug] QUERY OK source="media_items" db=15.9ms queue=0.1ms idle=758.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" = ?) [3654] 13:39:41.930 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:39:41.943 [debug] QUERY OK source="sources" db=11.8ms idle=64.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" = ?) [4] 13:39:41.944 [debug] QUERY OK source="media_profiles" db=0.8ms idle=59.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] 13:39:41.946 [debug] QUERY OK source="media_items" db=1.3ms idle=59.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 [3654] 13:39:41.949 [debug] QUERY OK source="media_metadata" db=0.4ms idle=36.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" = ?) [3654] 13:39:41.950 [debug] QUERY OK source="media_profiles" db=0.6ms idle=19.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] 13:39:41.951 [debug] QUERY OK source="settings" db=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 [] 13:39:41.951 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:39:41.952 [debug] Running yt-dlp command for action: get_downloadable_status 13:39:41.953 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:39:41.953 [debug] QUERY OK source="settings" db=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 [] 13:39:41.954 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:39:41.954 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HpdpxLVKU14 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/61/2c/612ce1a9e2426830302c5e0ce9a899ee6e0114ca6a93e41728f3e8e40ea80fe1.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:39:49.684 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HpdpxLVKU14 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/61/2c/612ce1a9e2426830302c5e0ce9a899ee6e0114ca6a93e41728f3e8e40ea80fe1.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:39:49.685 [debug] Running yt-dlp command for action: download 13:39:49.685 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=506.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 [] 13:39:49.686 [debug] QUERY OK source="settings" db=0.1ms idle=275.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 [] 13:39:49.686 [debug] QUERY OK source="settings" db=0.1ms idle=275.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 [] 13:39:49.687 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HpdpxLVKU14 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f4/16/f4162e0ce0cd09dd406b581c56ffe9eb2e25aeec7f5306ea25c927453939629a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:39:51.356 [info] {"source":"oban","duration":3051,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:00.220 [info] {"args":{"id":3},"id":1706,"meta":{},"system_time":1774665600220037802,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:40:00.221 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=810.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] 13:40:00.222 [debug] QUERY OK source="settings" db=0.3ms idle=811.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 [] 13:40:00.222 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=811.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] 13:40:00.223 [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 [] 13:40:00.223 [debug] Fetching recent media IDs from YouTube API for playlist: UUwnKziETDbHJtx78nIkfYug 13:40:00.224 [debug] QUERY OK source="settings" db=0.4ms 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 [] 13:40:00.224 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:40:00.826 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:40:00.844 [debug] QUERY OK source="media_items" db=3.8ms idle=618.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "QtpFa0LdXEY", "8Rv4wwcQ89Y", "2cRKv1oqyX8", "mQfQwLW6CNw", "y0TZuhNixNk", "GZ7wE3XOwFU", "-aRdX-kZ9g4", "99bldMr1byI", "EzCiEv1IqiA", "mC5NdpSMDks", "ccV3u3D9ONE", "cVCDjEfPzII", "n0X2rqzKTgM", "dcuCvRNqmpY", "GG1qX8jHKGo", "k9wkleHFvo0", "CWoYVlMuUNQ", "xlfeieH4z38", "eZM2Ik-FHEU", "CtcTG8-qzbA", "6Mmj7mf1qlg", "InwVO9qBjqs", "1Hp-W2bpPrw", "VtE5sTpkn7k", "8dOJypt2F70", "Evm4t4prtWo", "taLzgvbrnv0", "rgCrnyf5JEI", "PHhc-48JT3U", "vFKjpNNjNGw", "VJQlOI70ubw", "E5cfNq0DO90", "DNBGSsZatbY", "pna1NyaHTls", "CUHao-vA98g", "cPN9BJe_RQw", "rCBt4XgCX-0", "f4g6KKGMmEI", "P_I5Jsc3xRw", "fPaU2l7RktM", "0PVwt01b6fs", "0qMDM4Y4Hwo", "Ld285PDsHvs", "p1mQC71wplA", "9k5JhKK6WlA", "WPxrifmtlQI", "nVNBmK7a1y8", "QDnMYztaxfI", "gxsaWhXG1Gg", ...] 13:40:00.853 [debug] QUERY OK source="media_items" db=7.2ms idle=623.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 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] 13:40:00.858 [debug] QUERY OK source="tasks" db=0.5ms idle=31.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1712, 3, ~U[2026-03-28 02:40:00Z], ~U[2026-03-28 02:40:00Z]] 13:40:00.859 [info] {"args":{"id":3},"id":1706,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":638230,"event":"job:stop","queue_time":346899,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:40:17.300 [info] GET / 13:40:17.300 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:40:17.302 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=890.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 [] 13:40:17.303 [debug] QUERY OK source="media_profiles" db=0.6ms idle=892.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:40:17.304 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=893.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:40:17.338 [debug] QUERY OK source="media_items" db=34.0ms idle=894.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:40:17.342 [debug] QUERY OK source="media_items" db=2.9ms idle=63.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:40:17.342 [debug] QUERY OK source="settings" db=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 [] 13:40:17.343 [debug] QUERY OK source="settings" db=0.2ms idle=39.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 [] 13:40:17.344 [debug] QUERY OK source="settings" db=0.5ms idle=39.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 [] 13:40:17.348 [debug] QUERY OK source="media_items" db=3.1ms idle=6.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 (NOT (m0."media_filepath" IS NULL)) [] 13:40:17.349 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=6.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:40:17.350 [debug] QUERY OK source="sources" db=0.3ms idle=7.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" IN (?,?)) [2, 6] 13:40:17.409 [debug] QUERY OK source="media_items" db=54.8ms idle=10.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 (((((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"))) [] 13:40:17.470 [debug] QUERY OK source="media_items" db=60.7ms idle=64.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:40:17.471 [debug] QUERY OK source="sources" db=0.6ms idle=121.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] 13:40:17.473 [debug] QUERY OK source="tasks" db=0.4ms idle=123.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:40:17.474 [debug] QUERY OK source="media_items" db=0.4ms idle=123.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3651, 3654] 13:40:17.475 [info] Sent 200 in 175ms 13:40:21.359 [info] {"source":"oban","duration":2032,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:32.004 [info] GET /.well-known/acme-challenge/9Eeapi_wydHMkLnXoWtxylzvmaOZ4ZiD6v5v6_msntk 13:40:32.005 [debug] QUERY OK source="settings" db=0.4ms idle=1594.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 [] 13:40:32.006 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=684.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 [] 13:40:32.007 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:40:32.008 [error] #PID<0.4141.0> running PinchflatWeb.Endpoint (connection #PID<0.4140.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/9Eeapi_wydHMkLnXoWtxylzvmaOZ4ZiD6v5v6_msntk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/9Eeapi_wydHMkLnXoWtxylzvmaOZ4ZiD6v5v6_msntk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4140.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/9Eeapi_wydHMkLnXoWtxylzvmaOZ4ZiD6v5v6_msntk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52612}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/9Eeapi_wydHMkLnXoWtxylzvmaOZ4ZiD6v5v6_msntk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4141.0>, params: %{}, path_info: [".well-known", "acme-challenge", "9Eeapi_wydHMkLnXoWtxylzvmaOZ4ZiD6v5v6_msntk"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/9Eeapi_wydHMkLnXoWtxylzvmaOZ4ZiD6v5v6_msntk"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/9Eeapi_wydHMkLnXoWtxylzvmaOZ4ZiD6v5v6_msntk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDg_V64BeF2Hj4AAK_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.4140.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/9Eeapi_wydHMkLnXoWtxylzvmaOZ4ZiD6v5v6_msntk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52612}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/9Eeapi_wydHMkLnXoWtxylzvmaOZ4ZiD6v5v6_msntk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/9Eeapi_wydHMkLnXoWtxylzvmaOZ4ZiD6v5v6_msntk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4140.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/9Eeapi_wydHMkLnXoWtxylzvmaOZ4ZiD6v5v6_msntk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52612}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/9Eeapi_wydHMkLnXoWtxylzvmaOZ4ZiD6v5v6_msntk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4141.0>, params: %{}, path_info: [".well-known", "acme-challenge", "9Eeapi_wydHMkLnXoWtxylzvmaOZ4ZiD6v5v6_msntk"], 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://pinchflat.f2fv7 (truncated) 13:40:33.844 [info] GET /.well-known/acme-challenge/cIZbnSz4Hqpd4dJ8gkPCR3p_jvlBFigHRPNQVvTcw6M 13:40:33.846 [debug] QUERY OK source="settings" db=0.9ms idle=517.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 [] 13:40:33.847 [debug] QUERY OK source="settings" db=0.5ms idle=436.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 [] 13:40:33.847 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:40:33.848 [error] #PID<0.4143.0> running PinchflatWeb.Endpoint (connection #PID<0.4142.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/cIZbnSz4Hqpd4dJ8gkPCR3p_jvlBFigHRPNQVvTcw6M ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/cIZbnSz4Hqpd4dJ8gkPCR3p_jvlBFigHRPNQVvTcw6M (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4142.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/cIZbnSz4Hqpd4dJ8gkPCR3p_jvlBFigHRPNQVvTcw6M", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52626}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/cIZbnSz4Hqpd4dJ8gkPCR3p_jvlBFigHRPNQVvTcw6M", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4143.0>, params: %{}, path_info: [".well-known", "acme-challenge", "cIZbnSz4Hqpd4dJ8gkPCR3p_jvlBFigHRPNQVvTcw6M"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/cIZbnSz4Hqpd4dJ8gkPCR3p_jvlBFigHRPNQVvTcw6M"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/cIZbnSz4Hqpd4dJ8gkPCR3p_jvlBFigHRPNQVvTcw6M", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDg_cxofKJpeMcAAK_h"} ], 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.4142.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/cIZbnSz4Hqpd4dJ8gkPCR3p_jvlBFigHRPNQVvTcw6M", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52626}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/cIZbnSz4Hqpd4dJ8gkPCR3p_jvlBFigHRPNQVvTcw6M", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/cIZbnSz4Hqpd4dJ8gkPCR3p_jvlBFigHRPNQVvTcw6M (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4142.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/cIZbnSz4Hqpd4dJ8gkPCR3p_jvlBFigHRPNQVvTcw6M", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52626}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/cIZbnSz4Hqpd4dJ8gkPCR3p_jvlBFigHRPNQVvTcw6M", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4143.0>, params: %{}, path_info: [".well-known", "acme-challenge", "cIZbnSz4Hqpd4dJ8gkPCR3p_jvlBFigHRPNQVvTcw6M"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:40:44.935 [info] GET /.well-known/acme-challenge/8CmfLiTEXfT92GWcd0S0bfdwLjfAgjIdWC38B2S1gH4 13:40:44.936 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1525.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 [] 13:40:44.937 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1526.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 [] 13:40:44.937 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:40:44.938 [error] #PID<0.4145.0> running PinchflatWeb.Endpoint (connection #PID<0.4144.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/8CmfLiTEXfT92GWcd0S0bfdwLjfAgjIdWC38B2S1gH4 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/8CmfLiTEXfT92GWcd0S0bfdwLjfAgjIdWC38B2S1gH4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4144.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/8CmfLiTEXfT92GWcd0S0bfdwLjfAgjIdWC38B2S1gH4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60440}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/8CmfLiTEXfT92GWcd0S0bfdwLjfAgjIdWC38B2S1gH4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4145.0>, params: %{}, path_info: [".well-known", "acme-challenge", "8CmfLiTEXfT92GWcd0S0bfdwLjfAgjIdWC38B2S1gH4"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/8CmfLiTEXfT92GWcd0S0bfdwLjfAgjIdWC38B2S1gH4"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/8CmfLiTEXfT92GWcd0S0bfdwLjfAgjIdWC38B2S1gH4", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhAGFucfF2AmsAAOmC"} ], 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.4144.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/8CmfLiTEXfT92GWcd0S0bfdwLjfAgjIdWC38B2S1gH4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60440}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/8CmfLiTEXfT92GWcd0S0bfdwLjfAgjIdWC38B2S1gH4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/8CmfLiTEXfT92GWcd0S0bfdwLjfAgjIdWC38B2S1gH4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4144.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/8CmfLiTEXfT92GWcd0S0bfdwLjfAgjIdWC38B2S1gH4", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60440}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/8CmfLiTEXfT92GWcd0S0bfdwLjfAgjIdWC38B2S1gH4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4145.0>, params: %{}, path_info: [".well-known", "acme-challenge", "8CmfLiTEXfT92GWcd0S0bfdwLjfAgjIdWC38B2S1gH4"], 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://pinchflat.f2fv7 (truncated) 13:40:47.227 [info] GET /.well-known/acme-challenge/y2btW_T7ZDumfmT-7x4jYccTSq6E_YMgsZGx0r4Qoco 13:40:47.229 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=1817.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 [] 13:40:47.229 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1818.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 [] 13:40:47.230 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:40:47.231 [error] #PID<0.4149.0> running PinchflatWeb.Endpoint (connection #PID<0.4148.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/y2btW_T7ZDumfmT-7x4jYccTSq6E_YMgsZGx0r4Qoco ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/y2btW_T7ZDumfmT-7x4jYccTSq6E_YMgsZGx0r4Qoco (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4148.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/y2btW_T7ZDumfmT-7x4jYccTSq6E_YMgsZGx0r4Qoco", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 60450}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/y2btW_T7ZDumfmT-7x4jYccTSq6E_YMgsZGx0r4Qoco", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4149.0>, params: %{}, path_info: [".well-known", "acme-challenge", "y2btW_T7ZDumfmT-7x4jYccTSq6E_YMgsZGx0r4Qoco"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/y2btW_T7ZDumfmT-7x4jYccTSq6E_YMgsZGx0r4Qoco"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/y2btW_T7ZDumfmT-7x4jYccTSq6E_YMgsZGx0r4Qoco", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhAOoOTNtRin0AALAh"} ], 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.4148.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/y2btW_T7ZDumfmT-7x4jYccTSq6E_YMgsZGx0r4Qoco", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 60450}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/y2btW_T7ZDumfmT-7x4jYccTSq6E_YMgsZGx0r4Qoco", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/y2btW_T7ZDumfmT-7x4jYccTSq6E_YMgsZGx0r4Qoco (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4148.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/y2btW_T7ZDumfmT-7x4jYccTSq6E_YMgsZGx0r4Qoco", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 60450}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/y2btW_T7ZDumfmT-7x4jYccTSq6E_YMgsZGx0r4Qoco", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4149.0>, params: %{}, path_info: [".well-known", "acme-challenge", "y2btW_T7ZDumfmT-7x4jYccTSq6E_YMgsZGx0r4Qoco"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:40:49.556 [info] GET /.well-known/acme-challenge/4gCTc1B0obvFdAcHNuzuFPs_V4kHgQhlmrLFuGinoL0 13:40:49.559 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=1147.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 [] 13:40:49.560 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1149.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 [] 13:40:49.560 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:40:49.561 [error] #PID<0.4150.0> running PinchflatWeb.Endpoint (connection #PID<0.4144.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/4gCTc1B0obvFdAcHNuzuFPs_V4kHgQhlmrLFuGinoL0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/4gCTc1B0obvFdAcHNuzuFPs_V4kHgQhlmrLFuGinoL0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4144.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/4gCTc1B0obvFdAcHNuzuFPs_V4kHgQhlmrLFuGinoL0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60440}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/4gCTc1B0obvFdAcHNuzuFPs_V4kHgQhlmrLFuGinoL0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4150.0>, params: %{}, path_info: [".well-known", "acme-challenge", "4gCTc1B0obvFdAcHNuzuFPs_V4kHgQhlmrLFuGinoL0"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/4gCTc1B0obvFdAcHNuzuFPs_V4kHgQhlmrLFuGinoL0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/4gCTc1B0obvFdAcHNuzuFPs_V4kHgQhlmrLFuGinoL0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhAXTq44dlciMAAOmi"} ], 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.4144.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/4gCTc1B0obvFdAcHNuzuFPs_V4kHgQhlmrLFuGinoL0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60440}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/4gCTc1B0obvFdAcHNuzuFPs_V4kHgQhlmrLFuGinoL0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/4gCTc1B0obvFdAcHNuzuFPs_V4kHgQhlmrLFuGinoL0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4144.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/4gCTc1B0obvFdAcHNuzuFPs_V4kHgQhlmrLFuGinoL0", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 60440}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/4gCTc1B0obvFdAcHNuzuFPs_V4kHgQhlmrLFuGinoL0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4150.0>, params: %{}, path_info: [".well-known", "acme-challenge", "4gCTc1B0obvFdAcHNuzuFPs_V4kHgQhlmrLFuGinoL0"], 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://pinchflat.f2fv7 (truncated) 13:40:51.363 [info] {"source":"oban","duration":3505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:57.910 [info] GET /.well-known/acme-challenge/84vFC38rfMfB7CA2Bktl8JzESP0qe_Q7mGegHcfca0Q 13:40:57.912 [debug] QUERY OK source="settings" db=0.8ms idle=1501.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 [] 13:40:57.912 [debug] QUERY OK source="settings" db=0.4ms idle=1502.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 [] 13:40:57.913 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:40:57.913 [error] #PID<0.4152.0> running PinchflatWeb.Endpoint (connection #PID<0.4151.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/84vFC38rfMfB7CA2Bktl8JzESP0qe_Q7mGegHcfca0Q ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/84vFC38rfMfB7CA2Bktl8JzESP0qe_Q7mGegHcfca0Q (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4151.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/84vFC38rfMfB7CA2Bktl8JzESP0qe_Q7mGegHcfca0Q", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52488}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/84vFC38rfMfB7CA2Bktl8JzESP0qe_Q7mGegHcfca0Q", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4152.0>, params: %{}, path_info: [".well-known", "acme-challenge", "84vFC38rfMfB7CA2Bktl8JzESP0qe_Q7mGegHcfca0Q"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/84vFC38rfMfB7CA2Bktl8JzESP0qe_Q7mGegHcfca0Q"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/84vFC38rfMfB7CA2Bktl8JzESP0qe_Q7mGegHcfca0Q", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhA2bX9LiXQ24AAOnC"} ], 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.4151.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/84vFC38rfMfB7CA2Bktl8JzESP0qe_Q7mGegHcfca0Q", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52488}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/84vFC38rfMfB7CA2Bktl8JzESP0qe_Q7mGegHcfca0Q", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/84vFC38rfMfB7CA2Bktl8JzESP0qe_Q7mGegHcfca0Q (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4151.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/84vFC38rfMfB7CA2Bktl8JzESP0qe_Q7mGegHcfca0Q", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52488}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/84vFC38rfMfB7CA2Bktl8JzESP0qe_Q7mGegHcfca0Q", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4152.0>, params: %{}, path_info: [".well-known", "acme-challenge", "84vFC38rfMfB7CA2Bktl8JzESP0qe_Q7mGegHcfca0Q"], 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://pinchflat.f2fv7 (truncated) 13:40:59.454 [info] GET /.well-known/acme-challenge/2GYL9Wa2C217idbTUzGWE5pn0DiixnKvbFAr1BkayWI 13:40:59.456 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1044.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 [] 13:40:59.457 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=46.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 [] 13:40:59.457 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:40:59.458 [error] #PID<0.4153.0> running PinchflatWeb.Endpoint (connection #PID<0.4151.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/2GYL9Wa2C217idbTUzGWE5pn0DiixnKvbFAr1BkayWI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/2GYL9Wa2C217idbTUzGWE5pn0DiixnKvbFAr1BkayWI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4151.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/2GYL9Wa2C217idbTUzGWE5pn0DiixnKvbFAr1BkayWI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52488}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/2GYL9Wa2C217idbTUzGWE5pn0DiixnKvbFAr1BkayWI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4153.0>, params: %{}, path_info: [".well-known", "acme-challenge", "2GYL9Wa2C217idbTUzGWE5pn0DiixnKvbFAr1BkayWI"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/2GYL9Wa2C217idbTUzGWE5pn0DiixnKvbFAr1BkayWI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/2GYL9Wa2C217idbTUzGWE5pn0DiixnKvbFAr1BkayWI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhA8Lhrx8gdoMAAOni"} ], 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.4151.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/2GYL9Wa2C217idbTUzGWE5pn0DiixnKvbFAr1BkayWI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52488}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/2GYL9Wa2C217idbTUzGWE5pn0DiixnKvbFAr1BkayWI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/2GYL9Wa2C217idbTUzGWE5pn0DiixnKvbFAr1BkayWI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4151.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/2GYL9Wa2C217idbTUzGWE5pn0DiixnKvbFAr1BkayWI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52488}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/2GYL9Wa2C217idbTUzGWE5pn0DiixnKvbFAr1BkayWI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4153.0>, params: %{}, path_info: [".well-known", "acme-challenge", "2GYL9Wa2C217idbTUzGWE5pn0DiixnKvbFAr1BkayWI"], 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://pinchflat.f2fv7 (truncated) 13:41:00.827 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:41:04.100 [info] GET /.well-known/acme-challenge/tpZK8JgdO7_9hZh5Dqx3nNOXIcTC8GnN-MAuz9pn9YE 13:41:04.101 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1676.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 [] 13:41:04.102 [debug] QUERY OK source="settings" db=0.2ms idle=691.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 [] 13:41:04.102 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:41:04.103 [error] #PID<0.4155.0> running PinchflatWeb.Endpoint (connection #PID<0.4154.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/tpZK8JgdO7_9hZh5Dqx3nNOXIcTC8GnN-MAuz9pn9YE ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/tpZK8JgdO7_9hZh5Dqx3nNOXIcTC8GnN-MAuz9pn9YE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4154.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/tpZK8JgdO7_9hZh5Dqx3nNOXIcTC8GnN-MAuz9pn9YE", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52502}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/tpZK8JgdO7_9hZh5Dqx3nNOXIcTC8GnN-MAuz9pn9YE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4155.0>, params: %{}, path_info: [".well-known", "acme-challenge", "tpZK8JgdO7_9hZh5Dqx3nNOXIcTC8GnN-MAuz9pn9YE"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/tpZK8JgdO7_9hZh5Dqx3nNOXIcTC8GnN-MAuz9pn9YE"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/tpZK8JgdO7_9hZh5Dqx3nNOXIcTC8GnN-MAuz9pn9YE", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhBNfI6_AzqsMAALBB"} ], 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.4154.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/tpZK8JgdO7_9hZh5Dqx3nNOXIcTC8GnN-MAuz9pn9YE", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52502}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/tpZK8JgdO7_9hZh5Dqx3nNOXIcTC8GnN-MAuz9pn9YE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/tpZK8JgdO7_9hZh5Dqx3nNOXIcTC8GnN-MAuz9pn9YE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4154.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/tpZK8JgdO7_9hZh5Dqx3nNOXIcTC8GnN-MAuz9pn9YE", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52502}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/tpZK8JgdO7_9hZh5Dqx3nNOXIcTC8GnN-MAuz9pn9YE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4155.0>, params: %{}, path_info: [".well-known", "acme-challenge", "tpZK8JgdO7_9hZh5Dqx3nNOXIcTC8GnN-MAuz9pn9YE"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:41:04.459 [info] {"args":{"id":2},"id":1707,"meta":{},"system_time":1774665664458918342,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:41:04.472 [debug] QUERY OK source="sources" db=12.1ms idle=1031.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" = ?) [2] 13:41:04.473 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=370.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 [] 13:41:04.475 [debug] QUERY OK source="media_profiles" db=1.6ms idle=371.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] 13:41:04.494 [debug] QUERY OK source="settings" db=18.8ms idle=40.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 [] 13:41:04.495 [debug] Fetching recent media IDs from YouTube API for playlist: UUjzi56cxvmEDwjo1Bd2Yxpg 13:41:04.496 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=36.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 [] 13:41:04.496 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:41:06.453 [info] {"args":{"id":4},"id":1708,"meta":{},"system_time":1774665666452960317,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:41:06.454 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=43.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] 13:41:06.455 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=44.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 [] 13:41:06.456 [debug] QUERY OK source="media_profiles" db=0.8ms idle=45.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] 13:41:06.457 [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 [] 13:41:06.457 [debug] Fetching recent media IDs from YouTube API for playlist: UUEiui9T4ZYx8K8nuZ5YFSTw 13:41:06.458 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=5.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 [] 13:41:06.458 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:41:07.591 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=1132.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "CzjE_CAAdm8", "Hw2_s31u_4Q", "b4x9IzQtiA0", "16aM5Bop7Qw", "3hBk9xqT9hs", "xDa45wnAzc8", "Yq41acIvzj8", "Ttn_Q1B2ALc", "-bV0F6OP31U", "qAstyiKRt10", "NF2StvrYme0", "_Q-2UzYr3AA", "FeEEy3jZvlM", "EHaNwda0xto", "KL0u63mAy5M", "fzklfnO42ts", "oZ4kddHCFVY", "spSOp5s_6_A", "C48yl9fSYv8", "654RgtNwXZ8", "4wu_B_XF6wk", "wFLJxWyDJPs", "J5NKnYfn6qw", "fcVRuF6c-bc", "xNAFpSnpqjs", "cavmWZnCeJI", "_J0gQ5GdUSk", "_oISg668F40", "v34wa9QhF0s", "iEen_cClzkg", "CD9wUM2v-0U", "E8k9oqjl5_E", "lQDUMfg_SJc", "pPMD0YPBHQ4", "qq1IN4umTI8", "L63goFhe8KM", "5OXvwQ3CB1I", "doZvHBPoVCw", "9SXMTDO4lIo", "8JmSUN8jp3Q", "7oSgaaUEjZM", "sKSPwnFSRCw", "gdY_Q9ltw8w", "uHbviTslBFY", "gMzXgYFT4Ck", "NdsMuD-_5To", "9JXltNRqLu4", "7ThBvLBMacw", "7BTWa3jFBMw", ...] 13:41:07.651 [debug] QUERY OK source="media_items" db=55.3ms queue=0.1ms idle=1138.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 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] 13:41:07.656 [debug] QUERY OK source="tasks" db=0.3ms idle=64.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1713, 2, ~U[2026-03-28 02:41:07Z], ~U[2026-03-28 02:41:07Z]] 13:41:07.663 [info] {"args":{"id":2},"id":1707,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":3197412,"event":"job:stop","queue_time":547908,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:41:08.078 [debug] QUERY OK source="media_items" db=2.5ms queue=0.3ms idle=419.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [4, "gthI7e6zPWo", "psRX1C7auj8", "2ZtSRjGhStw", "Z8KiNkDP9c4", "AZibPvCnG4k", "QXNPI7Ucivo", "WtxCD4567G4", "80bkfWoOHaE", "pYBAEGrhggM", "9M3wLySdGXY", "mcvbD_Ipbf8", "E_Y7kLO3Iaw", "gPdh5lVJYD0", "qrkTK1UcvSM", "45UcuOLjxeY", "gnbhO9hJ198", "fiFzXo1wNno", "TM5mKkwC0Ok", "kS2A72peqmg", "ueDcEpRFW_M", "AN4-pHYBK2M", "TMNa6ocIv8o", "S1Vt1tQJczE", "_BEmUjtwhLw", "1bxoWiQ2AQY", "CZeRfNeKEBE", "2nftRe3tjLQ", "v1biAguVbg8", "cLDsQImoeHQ", "hhH7mchDBXY", "uQj2W5ej104", "vYRV_nprXBA", "1v_qsQL3mo8", "hfHxFTbVaTo", "mfWqziOaR4A", "AmCWMmKgHkI", "ZWgq-s8r2FE", "1dAkTDsD1c4", "ozdDp_eMPZY", "iHogtXxywLQ", "7ysd04ltGag", "5jq8kH9s0V8", "AB6bC9gtfoc", "R7Tm3zvyy9U", "dUHzocz0hLo", "9Oh6oVrf7kM", "LzUhByZ4jtc", "j7evpR_Fbsw", "_iGhJt3ah8E", ...] 13:41:08.085 [debug] QUERY OK source="media_items" db=4.2ms idle=424.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 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] 13:41:08.100 [info] GET /.well-known/acme-challenge/m24785Nhl9-q2pMz7ueGg0SoOpa1UCEXGJ-eiE-ntb0 13:41:08.102 [debug] QUERY OK source="settings" db=0.7ms idle=23.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 [] 13:41:08.102 [debug] QUERY OK source="settings" db=0.5ms idle=17.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 [] 13:41:08.103 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:41:08.104 [error] #PID<0.4158.0> running PinchflatWeb.Endpoint (connection #PID<0.4154.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/m24785Nhl9-q2pMz7ueGg0SoOpa1UCEXGJ-eiE-ntb0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/m24785Nhl9-q2pMz7ueGg0SoOpa1UCEXGJ-eiE-ntb0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4154.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/m24785Nhl9-q2pMz7ueGg0SoOpa1UCEXGJ-eiE-ntb0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52502}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/m24785Nhl9-q2pMz7ueGg0SoOpa1UCEXGJ-eiE-ntb0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4158.0>, params: %{}, path_info: [".well-known", "acme-challenge", "m24785Nhl9-q2pMz7ueGg0SoOpa1UCEXGJ-eiE-ntb0"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/m24785Nhl9-q2pMz7ueGg0SoOpa1UCEXGJ-eiE-ntb0"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/m24785Nhl9-q2pMz7ueGg0SoOpa1UCEXGJ-eiE-ntb0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhBcY7jC-jOewAALBh"} ], 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.4154.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/m24785Nhl9-q2pMz7ueGg0SoOpa1UCEXGJ-eiE-ntb0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52502}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/m24785Nhl9-q2pMz7ueGg0SoOpa1UCEXGJ-eiE-ntb0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/m24785Nhl9-q2pMz7ueGg0SoOpa1UCEXGJ-eiE-ntb0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4154.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/m24785Nhl9-q2pMz7ueGg0SoOpa1UCEXGJ-eiE-ntb0", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 52502}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/m24785Nhl9-q2pMz7ueGg0SoOpa1UCEXGJ-eiE-ntb0", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4158.0>, params: %{}, path_info: [".well-known", "acme-challenge", "m24785Nhl9-q2pMz7ueGg0SoOpa1UCEXGJ-eiE-ntb0"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:41:08.280 [debug] QUERY OK source="tasks" db=0.3ms idle=4.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1714, 4, ~U[2026-03-28 02:41:08Z], ~U[2026-03-28 02:41:08Z]] 13:41:08.281 [info] {"args":{"id":4},"id":1708,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":1827485,"event":"job:stop","queue_time":312148,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:41:14.852 [info] GET /.well-known/acme-challenge/gDzLWEUSFE7SwEW1JEEy7iKHvgv3uowAh24FGOR4cJw 13:41:14.854 [debug] QUERY OK source="settings" db=0.4ms idle=1443.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 [] 13:41:14.855 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1443.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 [] 13:41:14.855 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:41:14.856 [error] #PID<0.4160.0> running PinchflatWeb.Endpoint (connection #PID<0.4159.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/gDzLWEUSFE7SwEW1JEEy7iKHvgv3uowAh24FGOR4cJw ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/gDzLWEUSFE7SwEW1JEEy7iKHvgv3uowAh24FGOR4cJw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4159.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/gDzLWEUSFE7SwEW1JEEy7iKHvgv3uowAh24FGOR4cJw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 41604}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/gDzLWEUSFE7SwEW1JEEy7iKHvgv3uowAh24FGOR4cJw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4160.0>, params: %{}, path_info: [".well-known", "acme-challenge", "gDzLWEUSFE7SwEW1JEEy7iKHvgv3uowAh24FGOR4cJw"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/gDzLWEUSFE7SwEW1JEEy7iKHvgv3uowAh24FGOR4cJw"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/gDzLWEUSFE7SwEW1JEEy7iKHvgv3uowAh24FGOR4cJw", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhB1itzaxwTK4AALCB"} ], 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.4159.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/gDzLWEUSFE7SwEW1JEEy7iKHvgv3uowAh24FGOR4cJw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 41604}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/gDzLWEUSFE7SwEW1JEEy7iKHvgv3uowAh24FGOR4cJw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/gDzLWEUSFE7SwEW1JEEy7iKHvgv3uowAh24FGOR4cJw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4159.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/gDzLWEUSFE7SwEW1JEEy7iKHvgv3uowAh24FGOR4cJw", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 41604}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/gDzLWEUSFE7SwEW1JEEy7iKHvgv3uowAh24FGOR4cJw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4160.0>, params: %{}, path_info: [".well-known", "acme-challenge", "gDzLWEUSFE7SwEW1JEEy7iKHvgv3uowAh24FGOR4cJw"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:41:17.674 [info] GET / 13:41:17.674 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:41:17.675 [debug] QUERY OK source="settings" db=0.6ms idle=1264.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 [] 13:41:17.676 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1193.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:41:17.677 [debug] QUERY OK source="sources" db=0.2ms idle=266.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:41:17.738 [debug] QUERY OK source="media_items" db=61.0ms idle=266.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:41:17.743 [debug] QUERY OK source="media_items" db=4.3ms queue=0.1ms idle=252.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:41:17.744 [debug] QUERY OK source="settings" db=0.3ms idle=67.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 [] 13:41:17.744 [debug] QUERY OK source="settings" db=0.1ms idle=67.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 [] 13:41:17.745 [debug] QUERY OK source="settings" db=0.6ms idle=67.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 [] 13:41:17.755 [debug] QUERY OK source="media_items" db=8.7ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 13:41:17.757 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=12.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:41:17.759 [debug] QUERY OK source="sources" db=0.9ms 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" IN (?,?)) [2, 6] 13:41:17.855 [debug] QUERY OK source="media_items" db=92.8ms idle=17.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 (((((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"))) [] 13:41:17.916 [debug] QUERY OK source="media_items" db=60.3ms idle=109.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:41:17.917 [debug] QUERY OK source="sources" db=0.3ms idle=161.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] 13:41:17.922 [debug] QUERY OK source="tasks" db=0.5ms idle=163.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:41:17.923 [debug] QUERY OK source="media_items" db=0.3ms idle=163.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3651, 3654] 13:41:17.926 [info] Sent 200 in 251ms 13:41:21.367 [info] {"source":"oban","duration":2794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:51.370 [info] {"source":"oban","duration":2657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:00.829 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:42:03.659 [info] {"args":{"id":5},"id":1709,"meta":{},"system_time":1774665723659408976,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:42:03.666 [debug] QUERY OK source="sources" db=6.0ms idle=1021.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] 13:42:03.675 [debug] QUERY OK source="settings" db=8.4ms idle=256.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 [] 13:42:03.676 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=265.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] 13:42:03.677 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=34.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 [] 13:42:03.677 [debug] Fetching recent media IDs from YouTube API for playlist: UUVwfqPkv08OTuHzkPU3EaDw 13:42:03.678 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 13:42:03.678 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:42:04.105 [debug] QUERY OK source="media_items" db=2.1ms 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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [5, "k8Yr1jU-0EE", "NFrnhg8hI0c", "20XMhcpSNV0", "YVGFnwJho6E", "xQXiSGDXknA", "uZl0TO8i96g", "Hs5ewNKWUwk", "E5suxhHY0aY", "sCou7ut2L-o", "a0INtLdzUiE", "n0x8sH0M9CE", "W4Af6DIMqnE", "Q-sUbLem5aI", "s-jMj11w68U", "DS9HZG5JRBc", "_wLy-vzLi3E", "iFpZfYwRcns", "nPovqKKSKcE", "j_w4tRYm7Og", "laZpTO7IFtA", "FM5e9Vb1noE", "cK6g53lLgnw", "1X5WYEhzGyI", "QVpu66njzdE", "tfnANe2YUwM", "0-QK6hxLxgM", "TYUeXqSlcDg", "0322Pk-GKto", "1Em1UrRSEXc", "x2RT9Awsyi8", "4Yth52yml8E", "ky9Zo2FmjQ8", "npU2QpX5piA", "XEb_1Sq8jNo", "L3QQDAKxUIk", "l3s8S6bBbOs", "WyWBU1NpDf8", "7wZ0NVuoDWg", "-Ig2-rBZtSI", "5BG06-J1t4Y", "GcQ6vQEeQew", "ap8S88LeiB0", "4LvXP3XR6gw", "I9o65_aIq0Q", "Ut9XjFkGK6s", "PcFkjR5NELA", "Yl67318oP-s", "umbar5BKBus", "FEfCtNhVjJ0", ...] 13:42:04.111 [debug] QUERY OK source="media_items" db=4.5ms idle=431.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 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")))) [5] 13:42:04.314 [debug] QUERY OK source="tasks" db=0.4ms idle=7.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1715, 5, ~U[2026-03-28 02:42:04Z], ~U[2026-03-28 02:42:04Z]] 13:42:04.316 [info] {"args":{"id":5},"id":1709,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":655547,"event":"job:stop","queue_time":328885,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:42:18.100 [info] GET / 13:42:18.101 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:42:18.102 [debug] QUERY OK source="settings" db=0.3ms queue=0.3ms idle=1691.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 [] 13:42:18.103 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1413.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:42:18.103 [debug] QUERY OK source="sources" db=0.4ms idle=692.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:42:18.155 [debug] QUERY OK source="media_items" db=51.0ms idle=693.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:42:18.158 [debug] QUERY OK source="media_items" db=2.9ms idle=462.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:42:18.158 [debug] QUERY OK source="settings" db=0.2ms idle=56.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 [] 13:42:18.159 [debug] QUERY OK source="settings" db=0.2ms idle=56.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 [] 13:42:18.160 [debug] QUERY OK source="settings" db=0.1ms idle=55.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 [] 13:42:18.164 [debug] QUERY OK source="media_items" db=3.1ms idle=6.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 (NOT (m0."media_filepath" IS NULL)) [] 13:42:18.166 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=7.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:42:18.167 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [2, 6] 13:42:18.228 [debug] QUERY OK source="media_items" db=53.8ms queue=0.1ms idle=15.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 (((((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"))) [] 13:42:18.290 [debug] QUERY OK source="media_items" db=61.6ms queue=0.2ms idle=69.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:42:18.291 [debug] QUERY OK source="sources" db=0.4ms idle=126.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] 13:42:18.297 [debug] QUERY OK source="tasks" db=0.6ms idle=130.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:42:18.298 [debug] QUERY OK source="media_items" db=0.2ms idle=129.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3651, 3654] 13:42:18.300 [info] Sent 200 in 200ms 13:42:21.374 [info] {"source":"oban","duration":2565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:51.378 [info] {"source":"oban","duration":2711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:56.849 [info] {"args":{"id":1},"id":1710,"meta":{},"system_time":1774665776849696271,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:42:56.856 [debug] QUERY OK source="sources" db=6.1ms idle=1020.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" = ?) [1] 13:42:56.871 [debug] QUERY OK source="settings" db=14.9ms idle=446.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 [] 13:42:56.872 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=461.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] 13:42:56.873 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=40.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 [] 13:42:56.873 [debug] Fetching recent media IDs from YouTube API for playlist: UUISrVZmDM4x-Rq9mmNUw7Zw 13:42:56.874 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=24.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 [] 13:42:56.874 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:42:57.413 [debug] QUERY OK source="media_items" db=3.3ms idle=553.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "Q0qmHym16H4", "WcWL0_PlcO8", "dQV1WkSly7k", "Xpohopi2_tA", "fsZdCn4jIUY", "hgk2jMPnG2w", "oDh4gg7xiUs", "3LfUmSMW_qc", "5gN9QvwPLq8", "uSBe19ms3aw", "Eq1BmJikpHA", "OsKelxcQUNo", "zNP6Q_Yk9hU", "ZPPCc15thCc", "UzARiS2CyJ4", "r8X8HVGVV1o", "_JI7oYBFZIo", "niCh-EI1Kfo", "92mSBlpBEJo", "_6OAB_8iwqs", "tJbcC43WELc", "cPz1rUCNI0o", "hFzt_dOdElw", "nC-QKeluT0c", "i8ARsrsVUMM", "X30l-491qck", "rzQeUM-lMUY", "BkUHm95UvCw", "MQ2cHq3-J7A", "CtF5dLHITYA", "SGJkxRdkRGg", "OUCt85aJaAA", "9gARPYZOka4", "-uH-Gi5tjEw", "qwUBBQKYX94", "s8VLDSQJ8nA", "EvPfr0lKkh4", "msXzAxF49gA", "hQCWaSvjkU0", "RcmjVsy3a-g", "xtuNc9vYJG4", "fj2tcg8OzsM", "2FZ4IfPACDM", "2Q9DzW20YJ8", "IVsWFGOE_mw", "vPxpMcv2Z4Y", "Zverj_ldlhY", "pQK8xasPd9Q", "_Yo7nh8u9pk", ...] 13:42:57.418 [debug] QUERY OK source="media_items" db=1.8ms idle=545.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 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] 13:42:57.446 [debug] QUERY OK source="tasks" db=0.4ms idle=8.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1716, 1, ~U[2026-03-28 02:42:57Z], ~U[2026-03-28 02:42:57Z]] 13:42:57.447 [info] {"args":{"id":1},"id":1710,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":596499,"event":"job:stop","queue_time":598245,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:43:00.830 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:43:07.560 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HpdpxLVKU14 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f4/16/f4162e0ce0cd09dd406b581c56ffe9eb2e25aeec7f5306ea25c927453939629a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:43:07.626 [debug] Running yt-dlp command for action: download_thumbnail 13:43:07.628 [debug] QUERY OK source="settings" db=0.3ms idle=1217.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 [] 13:43:07.628 [debug] QUERY OK source="settings" db=0.2ms idle=759.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 [] 13:43:07.629 [debug] QUERY OK source="settings" db=0.3ms idle=218.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 [] 13:43:07.629 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HpdpxLVKU14 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3654/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/5d/0b/5d0bd96500ed9dcb091359bcaf9e3176ed7ddba50cdb4989288ef026631bdbef.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:43:15.833 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HpdpxLVKU14 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3654/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/5d/0b/5d0bd96500ed9dcb091359bcaf9e3176ed7ddba50cdb4989288ef026631bdbef.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:43:15.834 [debug] QUERY OK db=0.1ms idle=931.0ms begin [] 13:43:15.839 [debug] QUERY OK source="media_items" db=4.8ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 02:43:07Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e052099 - BBQ Mint Julep with Scotch Whisky & Beer Syrup.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e052099 - BBQ Mint Julep with Scotch Whisky & Beer Syrup.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e052099 - BBQ Mint Julep with Scotch Whisky & Beer Syrup.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e052099 - BBQ Mint Julep with Scotch Whisky & Beer Syrup.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e052099 - BBQ Mint Julep with Scotch Whisky & Beer Syrup.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e052099 - BBQ Mint Julep with Scotch Whisky & Beer Syrup-thumb.jpg", ~U[2026-03-28 02:43:15Z], 3654] 13:43:15.842 [debug] QUERY OK source="media_metadata" db=2.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/3654/metadata.json.gz", "/config/metadata/media_items/3654/thumbnail.jpg", 3654, ~U[2026-03-28 02:43:15Z], ~U[2026-03-28 02:43:15Z]] 13:43:15.843 [debug] QUERY OK db=0.7ms commit [] 13:43:15.852 [debug] QUERY OK source="media_items" db=4.9ms idle=436.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [96732502, ~U[2026-03-28 02:43:15Z], 3654] 13:43:15.852 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:43:15.853 [info] {"args":{"id":3654},"id":663,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":213939949,"event":"job:stop","queue_time":80794891125,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:43:15.861 [info] {"args":{"id":3657},"id":664,"meta":{},"system_time":1774665795861089393,"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"]} 13:43:15.862 [debug] QUERY OK source="media_items" db=0.6ms idle=450.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" = ?) [3657] 13:43:15.862 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:43:15.863 [debug] QUERY OK source="sources" db=0.6ms idle=19.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" = ?) [4] 13:43:15.863 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 13:43:15.865 [debug] QUERY OK source="media_items" db=0.7ms 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 [3657] 13:43:15.866 [debug] QUERY OK source="media_metadata" db=0.2ms idle=5.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" = ?) [3657] 13:43:15.867 [debug] QUERY OK source="media_profiles" db=0.4ms idle=4.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] 13:43:15.867 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:43:15.868 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:43:15.868 [debug] Running yt-dlp command for action: get_downloadable_status 13:43:15.869 [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 [] 13:43:15.869 [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 [] 13:43:15.870 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:43:15.870 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fHp2Ee-_QvY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f6/69/f669729cc9a2de4b9ad5f06f2507c1aae73991f7f8f3ad470dae1007f8738e83.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:43:18.527 [info] GET / 13:43:18.527 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:43:18.529 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1117.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 [] 13:43:18.530 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1119.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:43:18.530 [debug] QUERY OK source="sources" db=0.4ms idle=1119.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:43:18.590 [debug] QUERY OK source="media_items" db=59.7ms queue=0.1ms idle=1120.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:43:18.594 [debug] QUERY OK source="media_items" db=3.0ms idle=674.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:43:18.595 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=65.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 [] 13:43:18.596 [debug] QUERY OK source="settings" db=0.3ms idle=65.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 [] 13:43:18.597 [debug] QUERY OK source="settings" db=0.5ms idle=66.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 [] 13:43:18.602 [debug] QUERY OK source="media_items" db=3.3ms queue=0.1ms idle=8.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 (NOT (m0."media_filepath" IS NULL)) [] 13:43:18.606 [debug] QUERY OK source="media_items" db=3.5ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:43:18.607 [debug] QUERY OK source="sources" db=0.3ms idle=11.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" IN (?,?)) [2, 6] 13:43:18.663 [debug] QUERY OK source="media_items" db=52.4ms idle=14.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 (((((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"))) [] 13:43:18.723 [debug] QUERY OK source="media_items" db=60.1ms idle=65.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:43:18.725 [debug] QUERY OK source="sources" db=0.3ms idle=121.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] 13:43:18.730 [debug] QUERY OK source="tasks" db=1.1ms idle=122.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:43:18.731 [debug] QUERY OK source="media_items" db=0.4ms idle=123.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3651, 3657] 13:43:18.734 [info] Sent 200 in 207ms 13:43:21.380 [info] {"source":"oban","duration":1372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:22.716 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fHp2Ee-_QvY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f6/69/f669729cc9a2de4b9ad5f06f2507c1aae73991f7f8f3ad470dae1007f8738e83.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:43:22.716 [debug] Running yt-dlp command for action: download 13:43:22.718 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=785.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 [] 13:43:22.718 [debug] QUERY OK source="settings" db=0.4ms idle=307.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 [] 13:43:22.719 [debug] QUERY OK source="settings" db=0.6ms idle=308.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 [] 13:43:22.720 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fHp2Ee-_QvY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/33/d9/33d945faa70adbffd33c7a4140e745da297261ae716b27274808aaa3cf127a46.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:43:51.384 [info] {"source":"oban","duration":3339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:00.833 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:44:18.978 [info] GET / 13:44:18.979 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:44:18.980 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=837.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 [] 13:44:18.981 [debug] QUERY OK source="media_profiles" db=0.3ms idle=570.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:44:18.981 [debug] QUERY OK source="sources" db=0.2ms idle=570.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:44:18.995 [debug] QUERY OK source="media_items" db=13.1ms idle=571.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:44:19.000 [debug] QUERY OK source="media_items" db=5.2ms queue=0.1ms idle=585.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:44:19.002 [debug] QUERY OK source="settings" db=0.4ms idle=21.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 [] 13:44:19.002 [debug] QUERY OK source="settings" db=0.5ms idle=21.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 [] 13:44:19.004 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=22.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 [] 13:44:19.009 [debug] QUERY OK source="media_items" db=2.2ms idle=11.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 (NOT (m0."media_filepath" IS NULL)) [] 13:44:19.011 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:44:19.012 [debug] QUERY OK source="sources" db=0.7ms idle=9.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" IN (?,?)) [2, 6] 13:44:19.123 [debug] QUERY OK source="media_items" db=108.6ms idle=12.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 (((((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"))) [] 13:44:19.139 [debug] QUERY OK source="media_items" db=14.8ms queue=0.1ms idle=119.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:44:19.140 [debug] QUERY OK source="sources" db=0.4ms idle=130.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] 13:44:19.148 [debug] QUERY OK source="tasks" db=0.9ms idle=134.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:44:19.149 [debug] QUERY OK source="media_items" db=0.7ms idle=25.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3651, 3657] 13:44:19.151 [info] Sent 200 in 172ms 13:44:21.165 [info] {"args":{"id":6},"id":1711,"meta":{},"system_time":1774665861165423072,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:44:21.172 [debug] QUERY OK source="sources" db=6.9ms idle=755.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" = ?) [6] 13:44:21.174 [debug] QUERY OK source="settings" db=0.6ms idle=762.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 [] 13:44:21.189 [debug] QUERY OK source="media_profiles" db=14.9ms idle=764.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] 13:44:21.206 [debug] QUERY OK source="settings" db=16.4ms idle=35.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 [] 13:44:21.206 [debug] Fetching recent media IDs from YouTube API for playlist: UUOzMAa6IhV6uwYQATYG_2kg 13:44:21.207 [debug] QUERY OK source="settings" db=0.5ms idle=41.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 [] 13:44:21.207 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:44:21.387 [info] {"source":"oban","duration":2409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:21.632 [debug] QUERY OK source="media_items" db=1.6ms idle=456.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6, "dnia-38h1GA", "iZaN9NRWc28", "CJrLdBStrzc", "u-eoT-Foth8", "XHineC0YKjs", "VdlejwGkNoI", "ikIigkz2pMg", "qUdPPQ9-9Tg", "k9fuSOPjSXM", "hb-oXWK9r7k", "hDfrtCQmNOo", "zRIUM4OhyWU", "W7c0iVM4P2I", "KCFDp_kxT_4", "aZhuGRngq-g", "BgWbezF2M28", "ZJfHw71KKsk", "MisOg5bX0a4", "2UampQ_86ek", "7-iImzOel-s", "O8E47Ib_RoU", "RcVBMZd2_u8", "b-DHev8Uc6I", "0apH8xkS6PE", "I8m3hyPVsxA", "urqkKHRaT-8", "shyrhINSaPk", "Ze3bKcLbPWg", "ydk9KfgHUPo", "sFlgR1oiUXk", "jCieQsNXdBM", "Nz4uVkNMKdI", "tyX3PvjLSC8", "VeDDo4HhNVo", "2RmXPeBn3x0", "1sA4iEo0x1o", "KqAYebG_Bs0", "FelCut8wQ3o", "wY5Xb_t79SM", "-YqD-IWgaz8", "BdV0pSziReE", "u5VKDy7Dgj8", "hn89XxHJLQ0", "wE60s-NuU6c", "LBwtYK3W-vw", "FGpCwqNklsw", "79hW_qeneEY", "aNpJxLXZATY", "9JhGit6JRw0", ...] 13:44:21.634 [debug] QUERY OK source="settings" db=0.5ms idle=444.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 [] 13:44:21.635 [debug] QUERY OK source="settings" db=0.6ms idle=428.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 [] 13:44:21.636 [debug] Running yt-dlp command for action: get_media_attributes 13:44:21.640 [debug] QUERY OK source="settings" db=0.6ms idle=431.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 [] 13:44:21.641 [debug] QUERY OK source="settings" db=0.6ms idle=253.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 [] 13:44:21.642 [debug] QUERY OK source="settings" db=0.6ms 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 [] 13:44:21.642 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/a6/a9/a6a9a67e7b788a5ce3e6f84d47e834a2329e06adbb9c8dccbb1388f9199ff7c1.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:44:24.475 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/a6/a9/a6a9a67e7b788a5ce3e6f84d47e834a2329e06adbb9c8dccbb1388f9199ff7c1.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days. 13:44:24.475 [error] Error creating media item 'u-eoT-Foth8' from URL: {:error, "ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days.\n", 1} 13:44:24.491 [debug] QUERY OK source="media_items" db=16.0ms idle=1065.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 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] 13:44:24.638 [debug] QUERY OK source="tasks" db=0.6ms idle=9.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1717, 6, ~U[2026-03-28 02:44:24Z], ~U[2026-03-28 02:44:24Z]] 13:44:24.639 [info] {"args":{"id":6},"id":1711,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":3472777,"event":"job:stop","queue_time":922855,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:44:31.576 [info] GET /sources/4/media/67358 13:44:31.577 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "67358", "prevent_download" => "true", "source_id" => "4"} Pipelines: [:browser] 13:44:31.578 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=1167.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" = ?) [67358] 13:44:31.581 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1170.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 [] 13:44:31.582 [debug] QUERY OK source="settings" db=0.2ms idle=1171.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 [] 13:44:31.584 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1172.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 [] 13:44:31.586 [info] Sent 404 in 10ms 13:44:31.587 [debug] Converted error Ecto.NoResultsError to 404 response 13:44:40.411 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ky9cRNf0Mk8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/cc/93/cc93032d9a3ad9c44c0271ad5e63e82760dc8575bd95a8e9d1c75f0e6e1f1a31.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:44:40.514 [debug] Running yt-dlp command for action: download_thumbnail 13:44:40.515 [debug] QUERY OK source="settings" db=0.2ms idle=1104.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 [] 13:44:40.515 [debug] QUERY OK source="settings" db=0.1ms idle=1105.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 [] 13:44:40.516 [debug] QUERY OK source="settings" db=0.3ms idle=1105.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 [] 13:44:40.516 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ky9cRNf0Mk8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3651/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/4d/7c/4d7c0d66ca6ed39210b4f6bff9eb7ff832920a162d52df4bb71bf1666b85dd4e.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:44:48.122 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ky9cRNf0Mk8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3651/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/4d/7c/4d7c0d66ca6ed39210b4f6bff9eb7ff832920a162d52df4bb71bf1666b85dd4e.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:44:48.123 [debug] QUERY OK db=0.0ms idle=1713.0ms begin [] 13:44:48.125 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [623, ~U[2026-03-28 02:44:40Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e052799 - History of the Sazerac - Cognac or Whiskey Cocktail?.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e052799 - History of the Sazerac - Cognac or Whiskey Cocktail?.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e052799 - History of the Sazerac - Cognac or Whiskey Cocktail?.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e052799 - History of the Sazerac - Cognac or Whiskey Cocktail?.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e052799 - History of the Sazerac - Cognac or Whiskey Cocktail?.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e052799 - History of the Sazerac - Cognac or Whiskey Cocktail?-thumb.jpg", ~U[2026-03-28 02:44:48Z], 3651] 13:44:48.127 [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/3651/metadata.json.gz", "/config/metadata/media_items/3651/thumbnail.jpg", 3651, ~U[2026-03-28 02:44:48Z], ~U[2026-03-28 02:44:48Z]] 13:44:48.127 [debug] QUERY OK db=0.4ms commit [] 13:44:48.132 [debug] QUERY OK source="media_items" db=2.3ms idle=1719.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [221134596, ~U[2026-03-28 02:44:48Z], 3651] 13:44:48.132 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:44:48.133 [info] {"args":{"id":3651},"id":662,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":390031651,"event":"job:stop","queue_time":80717093082,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:44:48.141 [info] {"args":{"id":3659},"id":665,"meta":{},"system_time":1774665888141384052,"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"]} 13:44:48.142 [debug] QUERY OK source="media_items" db=0.7ms idle=906.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" = ?) [3659] 13:44:48.142 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:44:48.143 [debug] QUERY OK source="sources" db=0.7ms idle=15.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" = ?) [4] 13:44:48.144 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 13:44:48.145 [debug] QUERY OK source="media_items" db=0.5ms idle=11.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 [3659] 13:44:48.148 [debug] QUERY OK source="media_metadata" db=0.3ms idle=6.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" = ?) [3659] 13:44:48.148 [debug] QUERY OK source="media_profiles" db=0.3ms queue=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] 13:44:48.150 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms 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 [] 13:44:48.150 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:44:48.151 [debug] Running yt-dlp command for action: get_downloadable_status 13:44:48.152 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:44:48.153 [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 [] 13:44:48.153 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:44:48.154 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=PENrLKgxyo0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/33/2b/332b581fc67371c89538aa4b8f89eb459d68f98641e139e8c1e3f4f624cdaf07.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:44:51.391 [info] {"source":"oban","duration":3644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:54.952 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=PENrLKgxyo0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/33/2b/332b581fc67371c89538aa4b8f89eb459d68f98641e139e8c1e3f4f624cdaf07.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:44:54.953 [debug] Running yt-dlp command for action: download 13:44:54.954 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1543.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 [] 13:44:54.955 [debug] QUERY OK source="settings" db=0.5ms idle=1544.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 [] 13:44:54.956 [debug] QUERY OK source="settings" db=0.3ms idle=1545.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 [] 13:44:54.957 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=PENrLKgxyo0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e6/f8/e6f890607258ffba94df5adb5be878cc41b33462625e8906f4385190712df3d7.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:45:00.834 [info] {"source":"oban","duration":507,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:45:19.356 [info] GET / 13:45:19.357 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:45:19.357 [debug] QUERY OK source="settings" db=0.4ms idle=946.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 [] 13:45:19.358 [debug] QUERY OK source="media_profiles" db=0.1ms idle=947.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:45:19.358 [debug] QUERY OK source="sources" db=0.0ms idle=947.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:45:19.394 [debug] QUERY OK source="media_items" db=35.6ms idle=948.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:45:19.397 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=42.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:45:19.398 [debug] QUERY OK source="settings" db=0.2ms idle=40.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 [] 13:45:19.398 [debug] QUERY OK source="settings" db=0.1ms idle=40.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 [] 13:45:19.399 [debug] QUERY OK source="settings" db=0.1ms idle=40.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 [] 13:45:19.404 [debug] QUERY OK source="media_items" db=2.9ms idle=6.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 (NOT (m0."media_filepath" IS NULL)) [] 13:45:19.405 [debug] QUERY OK source="media_items" db=0.6ms idle=7.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:45:19.406 [debug] QUERY OK source="sources" db=0.3ms idle=7.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" IN (?,?)) [2, 6] 13:45:19.461 [debug] QUERY OK source="media_items" db=52.8ms idle=9.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 (((((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"))) [] 13:45:19.522 [debug] QUERY OK source="media_items" db=60.6ms idle=62.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:45:19.524 [debug] QUERY OK source="sources" db=0.2ms idle=119.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] 13:45:19.529 [debug] QUERY OK source="tasks" db=0.6ms idle=123.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:45:19.530 [debug] QUERY OK source="media_items" db=0.4ms 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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3657, 3659] 13:45:19.532 [info] Sent 200 in 175ms 13:45:21.395 [info] {"source":"oban","duration":2543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:51.400 [info] {"source":"oban","duration":3483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:00.836 [info] {"source":"oban","duration":560,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:46:19.732 [info] GET / 13:46:19.733 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:46:19.734 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1323.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 [] 13:46:19.734 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1170.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:46:19.735 [debug] QUERY OK source="sources" db=0.1ms idle=324.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:46:19.765 [debug] QUERY OK source="media_items" db=30.1ms idle=324.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:46:19.773 [debug] QUERY OK source="media_items" db=7.3ms queue=0.3ms idle=196.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:46:19.775 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=40.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 [] 13:46:19.776 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=40.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 [] 13:46:19.777 [debug] QUERY OK source="settings" db=0.3ms idle=41.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 [] 13:46:19.792 [debug] QUERY OK source="media_items" db=13.6ms 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 (NOT (m0."media_filepath" IS NULL)) [] 13:46:19.794 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=18.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:46:19.796 [debug] QUERY OK source="sources" db=0.8ms idle=20.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" IN (?,?)) [2, 6] 13:46:19.921 [debug] QUERY OK source="media_items" db=121.4ms idle=24.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 (((((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"))) [] 13:46:19.990 [debug] QUERY OK source="media_items" db=67.5ms idle=145.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:46:19.991 [debug] QUERY OK source="sources" db=0.3ms idle=198.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] 13:46:19.994 [debug] QUERY OK source="tasks" db=0.4ms idle=198.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:46:19.995 [debug] QUERY OK source="media_items" db=0.4ms idle=198.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3657, 3659] 13:46:19.996 [info] Sent 200 in 263ms 13:46:21.402 [info] {"source":"oban","duration":1598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:51.406 [info] {"source":"oban","duration":3133,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:00.839 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:47:20.214 [info] GET / 13:47:20.214 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:47:20.215 [debug] QUERY OK source="settings" db=0.5ms idle=1803.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 [] 13:47:20.216 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1804.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:47:20.216 [debug] QUERY OK source="sources" db=0.3ms idle=1431.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:47:20.255 [debug] QUERY OK source="media_items" db=38.3ms idle=805.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:47:20.267 [debug] QUERY OK source="media_items" db=11.8ms idle=467.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:47:20.268 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=52.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 [] 13:47:20.269 [debug] QUERY OK source="settings" db=0.5ms idle=52.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 [] 13:47:20.272 [debug] QUERY OK source="settings" db=1.3ms queue=0.2ms idle=53.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 [] 13:47:20.278 [debug] QUERY OK source="media_items" db=4.5ms idle=17.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 (NOT (m0."media_filepath" IS NULL)) [] 13:47:20.279 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=10.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:47:20.281 [debug] QUERY OK source="sources" db=0.4ms queue=0.3ms idle=11.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" IN (?,?)) [2, 6] 13:47:20.367 [debug] QUERY OK source="media_items" db=79.1ms idle=18.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 (((((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"))) [] 13:47:20.388 [debug] QUERY OK source="media_items" db=20.2ms idle=95.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:47:20.389 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=110.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] 13:47:20.394 [debug] QUERY OK source="tasks" db=0.7ms idle=114.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:47:20.396 [debug] QUERY OK source="media_items" db=0.6ms idle=113.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3657, 3659] 13:47:20.399 [info] Sent 200 in 184ms 13:47:21.409 [info] {"source":"oban","duration":2007,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:51.411 [info] {"source":"oban","duration":1376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:51.614 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fHp2Ee-_QvY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/33/d9/33d945faa70adbffd33c7a4140e745da297261ae716b27274808aaa3cf127a46.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:47:51.673 [debug] Running yt-dlp command for action: download_thumbnail 13:47:51.678 [debug] QUERY OK source="settings" db=0.4ms idle=1266.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 [] 13:47:51.678 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1266.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 [] 13:47:51.679 [debug] QUERY OK source="settings" db=0.2ms idle=790.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 [] 13:47:51.680 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fHp2Ee-_QvY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3657/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/3d/e7/3de7c910e8812201d304729ae40ff4aab52b878a6f1098fd6aac1ccd2fb70111.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:47:59.369 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fHp2Ee-_QvY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3657/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/3d/e7/3de7c910e8812201d304729ae40ff4aab52b878a6f1098fd6aac1ccd2fb70111.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:47:59.370 [debug] QUERY OK db=0.1ms idle=1958.9ms begin [] 13:47:59.376 [debug] QUERY OK source="media_items" db=5.4ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 02:47:51Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e051399 - Green VS Clear | Zero Waste Gin Basil Smash.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e051399 - Green VS Clear | Zero Waste Gin Basil Smash.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e051399 - Green VS Clear | Zero Waste Gin Basil Smash.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e051399 - Green VS Clear | Zero Waste Gin Basil Smash.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e051399 - Green VS Clear | Zero Waste Gin Basil Smash.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e051399 - Green VS Clear | Zero Waste Gin Basil Smash-thumb.jpg", ~U[2026-03-28 02:47:59Z], 3657] 13:47:59.379 [debug] QUERY OK source="media_metadata" db=2.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/3657/metadata.json.gz", "/config/metadata/media_items/3657/thumbnail.jpg", 3657, ~U[2026-03-28 02:47:59Z], ~U[2026-03-28 02:47:59Z]] 13:47:59.383 [debug] QUERY OK db=3.6ms commit [] 13:47:59.428 [debug] QUERY OK source="media_items" db=22.8ms idle=1993.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [155203685, ~U[2026-03-28 02:47:59Z], 3657] 13:47:59.428 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:47:59.442 [info] {"args":{"id":3657},"id":664,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":283567708,"event":"job:stop","queue_time":81004859056,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:47:59.467 [info] {"args":{"id":3662},"id":666,"meta":{},"system_time":1774666079466987923,"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"]} 13:47:59.497 [debug] QUERY OK source="media_items" db=29.8ms queue=0.1ms idle=56.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" = ?) [3662] 13:47:59.498 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:47:59.512 [debug] QUERY OK source="sources" db=14.3ms idle=87.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" = ?) [4] 13:47:59.514 [debug] QUERY OK source="media_profiles" db=0.7ms idle=84.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] 13:47:59.515 [debug] QUERY OK source="media_items" db=1.0ms idle=72.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 [3662] 13:47:59.518 [debug] QUERY OK source="media_metadata" db=0.4ms idle=51.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" = ?) [3662] 13:47:59.519 [debug] QUERY OK source="media_profiles" db=0.6ms idle=21.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] 13:47:59.521 [debug] QUERY OK source="settings" db=0.5ms 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 [] 13:47:59.522 [debug] QUERY OK source="settings" db=0.6ms 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 [] 13:47:59.523 [debug] Running yt-dlp command for action: get_downloadable_status 13:47:59.524 [debug] QUERY OK source="settings" db=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 [] 13:47:59.525 [debug] QUERY OK source="settings" db=0.4ms 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 [] 13:47:59.525 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:47:59.526 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CfwkvUUlrhg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/27/85/2785ba594d4273a69cfa4a952e8b59a2bb7aff782200e603ac91df2b99b36ce8.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:48:00.840 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:48:05.723 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CfwkvUUlrhg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/27/85/2785ba594d4273a69cfa4a952e8b59a2bb7aff782200e603ac91df2b99b36ce8.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:48:05.724 [debug] Running yt-dlp command for action: download 13:48:05.724 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=779.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 [] 13:48:05.725 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=313.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 [] 13:48:05.726 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=314.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 [] 13:48:05.727 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CfwkvUUlrhg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ad/d5/add53128b3e281c2f91181f9b236e7052c40e91e819e45dc8deee4153109b6e4.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:48:19.331 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=PENrLKgxyo0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e6/f8/e6f890607258ffba94df5adb5be878cc41b33462625e8906f4385190712df3d7.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:48:19.429 [debug] Running yt-dlp command for action: download_thumbnail 13:48:19.431 [debug] QUERY OK source="settings" db=0.2ms idle=443.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 [] 13:48:19.431 [debug] QUERY OK source="settings" db=0.1ms idle=20.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 [] 13:48:19.432 [debug] QUERY OK source="settings" db=0.2ms idle=20.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 [] 13:48:19.432 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=PENrLKgxyo0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3659/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/95/d9/95d9c31afb5cb94dd8530c247a32f004d21f2d3ac64fbb321c9d65ada9d1cba7.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:48:20.599 [info] GET / 13:48:20.599 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:48:20.600 [debug] QUERY OK source="settings" db=0.3ms idle=1188.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 [] 13:48:20.601 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1169.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:48:20.601 [debug] QUERY OK source="sources" db=0.2ms idle=1169.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:48:20.661 [debug] QUERY OK source="media_items" db=59.8ms idle=1169.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:48:20.665 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=670.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:48:20.666 [debug] QUERY OK source="settings" db=0.2ms idle=65.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 [] 13:48:20.666 [debug] QUERY OK source="settings" db=0.2ms idle=65.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 [] 13:48:20.667 [debug] QUERY OK source="settings" db=0.2ms idle=65.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 [] 13:48:20.672 [debug] QUERY OK source="media_items" db=3.4ms idle=7.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 (NOT (m0."media_filepath" IS NULL)) [] 13:48:20.673 [debug] QUERY OK source="media_items" db=0.5ms idle=7.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:48:20.674 [debug] QUERY OK source="sources" db=0.3ms idle=8.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" IN (?,?)) [2, 6] 13:48:20.736 [debug] QUERY OK source="media_items" db=55.4ms idle=14.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 (((((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"))) [] 13:48:20.796 [debug] QUERY OK source="media_items" db=59.5ms idle=69.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:48:20.797 [debug] QUERY OK source="sources" db=0.3ms idle=124.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] 13:48:20.803 [debug] QUERY OK source="tasks" db=0.8ms idle=128.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:48:20.804 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=129.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3659, 3662] 13:48:20.808 [info] Sent 200 in 208ms 13:48:21.414 [info] {"source":"oban","duration":2221,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:26.919 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=PENrLKgxyo0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3659/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/95/d9/95d9c31afb5cb94dd8530c247a32f004d21f2d3ac64fbb321c9d65ada9d1cba7.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:48:26.919 [debug] QUERY OK db=0.1ms idle=1508.1ms begin [] 13:48:26.924 [debug] QUERY OK source="media_items" db=3.8ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [566, ~U[2026-03-28 02:48:19Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e050699 - I Made My Own Coca-Cola | Best Cuba Libre?.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e050699 - I Made My Own Coca-Cola | Best Cuba Libre?.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e050699 - I Made My Own Coca-Cola | Best Cuba Libre?.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e050699 - I Made My Own Coca-Cola | Best Cuba Libre?.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e050699 - I Made My Own Coca-Cola | Best Cuba Libre?.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e050699 - I Made My Own Coca-Cola | Best Cuba Libre?-thumb.jpg", ~U[2026-03-28 02:48:26Z], 3659] 13:48:26.926 [debug] QUERY OK source="media_metadata" db=2.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/3659/metadata.json.gz", "/config/metadata/media_items/3659/thumbnail.jpg", 3659, ~U[2026-03-28 02:48:26Z], ~U[2026-03-28 02:48:26Z]] 13:48:26.927 [debug] QUERY OK db=0.8ms commit [] 13:48:26.949 [debug] QUERY OK source="media_items" db=2.6ms idle=931.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [113592798, ~U[2026-03-28 02:48:26Z], 3659] 13:48:26.949 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:48:26.969 [info] {"args":{"id":3659},"id":665,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":218808359,"event":"job:stop","queue_time":81093139079,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:48:26.993 [info] {"args":{"id":3665},"id":667,"meta":{},"system_time":1774666106993320816,"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"]} 13:48:27.006 [debug] QUERY OK source="media_items" db=12.6ms idle=582.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" = ?) [3665] 13:48:27.007 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:48:27.009 [debug] QUERY OK source="sources" db=1.8ms queue=0.2ms idle=80.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" = ?) [4] 13:48:27.011 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=60.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] 13:48:27.012 [debug] QUERY OK source="media_items" db=1.0ms idle=42.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 [3665] 13:48:27.015 [debug] QUERY OK source="media_metadata" db=0.5ms idle=21.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" = ?) [3665] 13:48:27.016 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=5.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] 13:48:27.017 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:48:27.017 [debug] QUERY OK source="settings" db=0.4ms 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 [] 13:48:27.018 [debug] Running yt-dlp command for action: get_downloadable_status 13:48:27.020 [debug] QUERY OK source="settings" db=0.4ms 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 [] 13:48:27.020 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:48:27.021 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:48:27.021 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9-PW4CAvxnI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/64/61/6461cab787f24c489a2180497ed3e7f716f6a0583a00a9726802a5daac9060a0.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:48:33.764 [info] GET /sources/3/media/777/force_download 13:48:33.765 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=1353.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 [] 13:48:33.766 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1354.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 [] 13:48:33.766 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:48:33.767 [error] #PID<0.4245.0> running PinchflatWeb.Endpoint (connection #PID<0.4244.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /sources/3/media/777/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/3/media/777/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4244.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/777/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 49518}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "47.128.19.199", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4245.0>, params: %{}, path_info: ["sources", "3", "media", "777", "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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"host", "pinchflat.suranyami.com"}, {"priority", "u=0, i"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "47.128.19.199"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/3/media/777/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhbYnbM1a4fwsAALhB"} ], 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.4244.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/777/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 49518}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "47.128.19.199", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/777/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4244.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/777/force_download", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 49518}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/heif,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.suranyami.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spide (truncated) 13:48:34.990 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9-PW4CAvxnI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/64/61/6461cab787f24c489a2180497ed3e7f716f6a0583a00a9726802a5daac9060a0.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:48:34.991 [debug] Running yt-dlp command for action: download 13:48:34.991 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1225.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 [] 13:48:34.992 [debug] QUERY OK source="settings" db=0.1ms idle=1225.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 [] 13:48:34.992 [debug] QUERY OK source="settings" db=0.1ms idle=948.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 [] 13:48:34.993 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9-PW4CAvxnI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/13/0d/130d2fd985fda6ac9fff73ce5ae0cdca62c29d55406fb6573d16287100bfaceb.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:48:51.419 [info] {"source":"oban","duration":3902,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:00.841 [info] {"source":"oban","duration":435,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:49:21.049 [info] GET / 13:49:21.050 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:49:21.051 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=864.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 [] 13:49:21.052 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=640.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:49:21.053 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=641.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:49:21.081 [debug] QUERY OK source="media_items" db=26.7ms queue=0.1ms idle=642.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:49:21.085 [debug] QUERY OK source="media_items" db=3.1ms queue=0.2ms idle=670.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:49:21.086 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=34.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 [] 13:49:21.087 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=34.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 [] 13:49:21.089 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=34.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 [] 13:49:21.099 [debug] QUERY OK source="media_items" db=7.7ms queue=0.1ms idle=10.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 (NOT (m0."media_filepath" IS NULL)) [] 13:49:21.101 [debug] QUERY OK source="media_items" db=0.7ms queue=0.2ms 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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:49:21.103 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms 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" IN (?,?)) [2, 6] 13:49:21.163 [debug] QUERY OK source="media_items" db=53.7ms idle=22.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 (((((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"))) [] 13:49:21.221 [debug] QUERY OK source="media_items" db=57.5ms idle=74.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:49:21.222 [debug] QUERY OK source="sources" db=0.3ms idle=121.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] 13:49:21.225 [debug] QUERY OK source="tasks" db=0.4ms idle=122.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:49:21.226 [debug] QUERY OK source="media_items" db=0.4ms idle=62.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3662, 3665] 13:49:21.230 [info] Sent 200 in 180ms 13:49:21.422 [info] {"source":"oban","duration":2263,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:51.425 [info] {"source":"oban","duration":2437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:00.843 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:50:01.347 [info] {"args":{"id":3},"id":1712,"meta":{},"system_time":1774666201346919080,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:50:01.348 [debug] QUERY OK source="sources" db=1.0ms idle=935.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" = ?) [3] 13:50:01.355 [debug] QUERY OK source="settings" db=6.5ms queue=0.1ms idle=936.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 [] 13:50:01.356 [debug] QUERY OK source="media_profiles" db=0.5ms idle=513.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] 13:50:01.368 [debug] QUERY OK source="settings" db=10.8ms idle=33.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 [] 13:50:01.368 [debug] Fetching recent media IDs from YouTube API for playlist: UUwnKziETDbHJtx78nIkfYug 13:50:01.369 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=22.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 [] 13:50:01.369 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:50:02.071 [debug] QUERY OK source="media_items" db=4.4ms queue=0.2ms idle=718.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "QtpFa0LdXEY", "8Rv4wwcQ89Y", "2cRKv1oqyX8", "mQfQwLW6CNw", "y0TZuhNixNk", "GZ7wE3XOwFU", "-aRdX-kZ9g4", "99bldMr1byI", "EzCiEv1IqiA", "mC5NdpSMDks", "ccV3u3D9ONE", "cVCDjEfPzII", "n0X2rqzKTgM", "dcuCvRNqmpY", "GG1qX8jHKGo", "k9wkleHFvo0", "CWoYVlMuUNQ", "xlfeieH4z38", "eZM2Ik-FHEU", "CtcTG8-qzbA", "6Mmj7mf1qlg", "InwVO9qBjqs", "1Hp-W2bpPrw", "VtE5sTpkn7k", "8dOJypt2F70", "Evm4t4prtWo", "taLzgvbrnv0", "rgCrnyf5JEI", "PHhc-48JT3U", "vFKjpNNjNGw", "VJQlOI70ubw", "E5cfNq0DO90", "DNBGSsZatbY", "pna1NyaHTls", "CUHao-vA98g", "cPN9BJe_RQw", "rCBt4XgCX-0", "f4g6KKGMmEI", "P_I5Jsc3xRw", "fPaU2l7RktM", "0PVwt01b6fs", "0qMDM4Y4Hwo", "Ld285PDsHvs", "p1mQC71wplA", "9k5JhKK6WlA", "WPxrifmtlQI", "nVNBmK7a1y8", "QDnMYztaxfI", "gxsaWhXG1Gg", ...] 13:50:02.080 [debug] QUERY OK source="media_items" db=5.3ms queue=0.1ms idle=718.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 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] 13:50:02.087 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=717.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1718, 3, ~U[2026-03-28 02:50:02Z], ~U[2026-03-28 02:50:02Z]] 13:50:02.090 [info] {"args":{"id":3},"id":1712,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":741248,"event":"job:stop","queue_time":475011,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:50:21.430 [info] {"source":"oban","duration":3703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:21.471 [info] GET / 13:50:21.472 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:50:21.473 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=60.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 [] 13:50:21.474 [debug] QUERY OK source="media_profiles" db=0.4ms idle=61.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:50:21.474 [debug] QUERY OK source="sources" db=0.3ms idle=62.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:50:21.534 [debug] QUERY OK source="media_items" db=59.3ms idle=62.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:50:21.539 [debug] QUERY OK source="media_items" db=4.4ms queue=0.1ms idle=104.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:50:21.540 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=67.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 [] 13:50:21.541 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=66.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 [] 13:50:21.542 [debug] QUERY OK source="settings" db=0.1ms idle=67.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 [] 13:50:21.547 [debug] QUERY OK source="media_items" db=3.0ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 13:50:21.548 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:50:21.549 [debug] QUERY OK source="sources" db=0.3ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [2, 6] 13:50:21.608 [debug] QUERY OK source="media_items" db=52.9ms idle=14.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 (((((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"))) [] 13:50:21.665 [debug] QUERY OK source="media_items" db=55.9ms queue=0.2ms idle=66.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:50:21.667 [debug] QUERY OK source="sources" db=0.2ms idle=119.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] 13:50:21.672 [debug] QUERY OK source="tasks" db=0.5ms idle=123.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:50:21.673 [debug] QUERY OK source="media_items" db=0.4ms idle=123.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3662, 3665] 13:50:21.676 [info] Sent 200 in 205ms 13:50:36.865 [info] GET /.well-known/acme-challenge/uUQJ4wcC2LeuCoGBSII07c95396BjHPM2yUhL7nwsj8 13:50:36.866 [debug] QUERY OK source="settings" db=0.8ms idle=1453.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 [] 13:50:36.867 [debug] QUERY OK source="settings" db=0.2ms idle=1454.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 [] 13:50:36.867 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:50:36.868 [error] #PID<0.4266.0> running PinchflatWeb.Endpoint (connection #PID<0.4265.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/uUQJ4wcC2LeuCoGBSII07c95396BjHPM2yUhL7nwsj8 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/uUQJ4wcC2LeuCoGBSII07c95396BjHPM2yUhL7nwsj8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4265.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/uUQJ4wcC2LeuCoGBSII07c95396BjHPM2yUhL7nwsj8", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52996}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/uUQJ4wcC2LeuCoGBSII07c95396BjHPM2yUhL7nwsj8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4266.0>, params: %{}, path_info: [".well-known", "acme-challenge", "uUQJ4wcC2LeuCoGBSII07c95396BjHPM2yUhL7nwsj8"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/uUQJ4wcC2LeuCoGBSII07c95396BjHPM2yUhL7nwsj8"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/uUQJ4wcC2LeuCoGBSII07c95396BjHPM2yUhL7nwsj8", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhijM36qoN6kMAALlh"} ], 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.4265.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/uUQJ4wcC2LeuCoGBSII07c95396BjHPM2yUhL7nwsj8", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52996}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/uUQJ4wcC2LeuCoGBSII07c95396BjHPM2yUhL7nwsj8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/uUQJ4wcC2LeuCoGBSII07c95396BjHPM2yUhL7nwsj8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4265.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/uUQJ4wcC2LeuCoGBSII07c95396BjHPM2yUhL7nwsj8", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 52996}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/uUQJ4wcC2LeuCoGBSII07c95396BjHPM2yUhL7nwsj8", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4266.0>, params: %{}, path_info: [".well-known", "acme-challenge", "uUQJ4wcC2LeuCoGBSII07c95396BjHPM2yUhL7nwsj8"], 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://pinchflat.f2fv7 (truncated) 13:50:38.441 [info] GET /.well-known/acme-challenge/RrkCuTu3coNf3jIdl5-YyTsFnEgC7-dcATpEkFBL06g 13:50:38.442 [debug] QUERY OK source="settings" db=0.4ms idle=1029.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 [] 13:50:38.443 [debug] QUERY OK source="settings" db=0.7ms idle=1030.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 [] 13:50:38.443 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:50:38.444 [error] #PID<0.4268.0> running PinchflatWeb.Endpoint (connection #PID<0.4267.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/RrkCuTu3coNf3jIdl5-YyTsFnEgC7-dcATpEkFBL06g ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/RrkCuTu3coNf3jIdl5-YyTsFnEgC7-dcATpEkFBL06g (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4267.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/RrkCuTu3coNf3jIdl5-YyTsFnEgC7-dcATpEkFBL06g", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53010}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/RrkCuTu3coNf3jIdl5-YyTsFnEgC7-dcATpEkFBL06g", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4268.0>, params: %{}, path_info: [".well-known", "acme-challenge", "RrkCuTu3coNf3jIdl5-YyTsFnEgC7-dcATpEkFBL06g"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/RrkCuTu3coNf3jIdl5-YyTsFnEgC7-dcATpEkFBL06g"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/RrkCuTu3coNf3jIdl5-YyTsFnEgC7-dcATpEkFBL06g", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhipEurKqMkW4AALmB"} ], 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.4267.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/RrkCuTu3coNf3jIdl5-YyTsFnEgC7-dcATpEkFBL06g", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53010}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/RrkCuTu3coNf3jIdl5-YyTsFnEgC7-dcATpEkFBL06g", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/RrkCuTu3coNf3jIdl5-YyTsFnEgC7-dcATpEkFBL06g (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4267.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/RrkCuTu3coNf3jIdl5-YyTsFnEgC7-dcATpEkFBL06g", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 53010}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/RrkCuTu3coNf3jIdl5-YyTsFnEgC7-dcATpEkFBL06g", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4268.0>, params: %{}, path_info: [".well-known", "acme-challenge", "RrkCuTu3coNf3jIdl5-YyTsFnEgC7-dcATpEkFBL06g"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:50:49.391 [info] GET /.well-known/acme-challenge/zLBsEnbzd68uiMR9QyHDD4CqbHGPZTc60Jdlwkm-OJg 13:50:49.392 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=979.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 [] 13:50:49.393 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=980.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 [] 13:50:49.393 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:50:49.394 [error] #PID<0.4272.0> running PinchflatWeb.Endpoint (connection #PID<0.4271.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/zLBsEnbzd68uiMR9QyHDD4CqbHGPZTc60Jdlwkm-OJg ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/zLBsEnbzd68uiMR9QyHDD4CqbHGPZTc60Jdlwkm-OJg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/zLBsEnbzd68uiMR9QyHDD4CqbHGPZTc60Jdlwkm-OJg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 36788}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/zLBsEnbzd68uiMR9QyHDD4CqbHGPZTc60Jdlwkm-OJg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4272.0>, params: %{}, path_info: [".well-known", "acme-challenge", "zLBsEnbzd68uiMR9QyHDD4CqbHGPZTc60Jdlwkm-OJg"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/zLBsEnbzd68uiMR9QyHDD4CqbHGPZTc60Jdlwkm-OJg"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/zLBsEnbzd68uiMR9QyHDD4CqbHGPZTc60Jdlwkm-OJg", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhjR3XMnpdXNUAALnB"} ], 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.4271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/zLBsEnbzd68uiMR9QyHDD4CqbHGPZTc60Jdlwkm-OJg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 36788}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/zLBsEnbzd68uiMR9QyHDD4CqbHGPZTc60Jdlwkm-OJg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/zLBsEnbzd68uiMR9QyHDD4CqbHGPZTc60Jdlwkm-OJg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/zLBsEnbzd68uiMR9QyHDD4CqbHGPZTc60Jdlwkm-OJg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 36788}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/zLBsEnbzd68uiMR9QyHDD4CqbHGPZTc60Jdlwkm-OJg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4272.0>, params: %{}, path_info: [".well-known", "acme-challenge", "zLBsEnbzd68uiMR9QyHDD4CqbHGPZTc60Jdlwkm-OJg"], 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://pinchflat.f2fv7 (truncated) 13:50:51.158 [info] GET /.well-known/acme-challenge/Xuc2oulbNZRkvALEyXlWC-ZPskUC90T4g8wr09KRIVM 13:50:51.159 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=746.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 [] 13:50:51.159 [debug] QUERY OK source="settings" db=0.1ms idle=747.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 [] 13:50:51.160 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:50:51.160 [error] #PID<0.4274.0> running PinchflatWeb.Endpoint (connection #PID<0.4273.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/Xuc2oulbNZRkvALEyXlWC-ZPskUC90T4g8wr09KRIVM ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Xuc2oulbNZRkvALEyXlWC-ZPskUC90T4g8wr09KRIVM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4273.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Xuc2oulbNZRkvALEyXlWC-ZPskUC90T4g8wr09KRIVM", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36804}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Xuc2oulbNZRkvALEyXlWC-ZPskUC90T4g8wr09KRIVM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4274.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Xuc2oulbNZRkvALEyXlWC-ZPskUC90T4g8wr09KRIVM"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/Xuc2oulbNZRkvALEyXlWC-ZPskUC90T4g8wr09KRIVM"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/Xuc2oulbNZRkvALEyXlWC-ZPskUC90T4g8wr09KRIVM", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhjYcndCmLx-oAALnh"} ], 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.4273.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Xuc2oulbNZRkvALEyXlWC-ZPskUC90T4g8wr09KRIVM", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36804}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Xuc2oulbNZRkvALEyXlWC-ZPskUC90T4g8wr09KRIVM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Xuc2oulbNZRkvALEyXlWC-ZPskUC90T4g8wr09KRIVM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4273.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Xuc2oulbNZRkvALEyXlWC-ZPskUC90T4g8wr09KRIVM", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 36804}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Xuc2oulbNZRkvALEyXlWC-ZPskUC90T4g8wr09KRIVM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4274.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Xuc2oulbNZRkvALEyXlWC-ZPskUC90T4g8wr09KRIVM"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:50:51.435 [info] {"source":"oban","duration":3172,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:53.830 [info] GET /.well-known/acme-challenge/B2Pq3_rAgLa76FTnq_6gapqG1HuH6TU3SlfKyd9aWnk 13:50:53.831 [debug] QUERY OK source="settings" db=0.5ms idle=1418.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 [] 13:50:53.832 [debug] QUERY OK source="settings" db=0.4ms idle=1419.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 [] 13:50:53.832 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:50:53.832 [error] #PID<0.4275.0> running PinchflatWeb.Endpoint (connection #PID<0.4271.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/B2Pq3_rAgLa76FTnq_6gapqG1HuH6TU3SlfKyd9aWnk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/B2Pq3_rAgLa76FTnq_6gapqG1HuH6TU3SlfKyd9aWnk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/B2Pq3_rAgLa76FTnq_6gapqG1HuH6TU3SlfKyd9aWnk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 36788}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/B2Pq3_rAgLa76FTnq_6gapqG1HuH6TU3SlfKyd9aWnk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4275.0>, params: %{}, path_info: [".well-known", "acme-challenge", "B2Pq3_rAgLa76FTnq_6gapqG1HuH6TU3SlfKyd9aWnk"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/B2Pq3_rAgLa76FTnq_6gapqG1HuH6TU3SlfKyd9aWnk"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/B2Pq3_rAgLa76FTnq_6gapqG1HuH6TU3SlfKyd9aWnk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhjiZwpBFfTn0AALoB"} ], 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.4271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/B2Pq3_rAgLa76FTnq_6gapqG1HuH6TU3SlfKyd9aWnk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 36788}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/B2Pq3_rAgLa76FTnq_6gapqG1HuH6TU3SlfKyd9aWnk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/B2Pq3_rAgLa76FTnq_6gapqG1HuH6TU3SlfKyd9aWnk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/B2Pq3_rAgLa76FTnq_6gapqG1HuH6TU3SlfKyd9aWnk", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 36788}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/B2Pq3_rAgLa76FTnq_6gapqG1HuH6TU3SlfKyd9aWnk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4275.0>, params: %{}, path_info: [".well-known", "acme-challenge", "B2Pq3_rAgLa76FTnq_6gapqG1HuH6TU3SlfKyd9aWnk"], 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://pinchflat.f2fv7 (truncated) 13:51:00.844 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:51:01.752 [info] GET /.well-known/acme-challenge/U3Hru-P2yOasKnOzxFJ3tFhWCPBz4Sri4LhF8JsAT3U 13:51:01.754 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1215.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 [] 13:51:01.754 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=909.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 [] 13:51:01.755 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:51:01.756 [error] #PID<0.4277.0> running PinchflatWeb.Endpoint (connection #PID<0.4276.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/U3Hru-P2yOasKnOzxFJ3tFhWCPBz4Sri4LhF8JsAT3U ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/U3Hru-P2yOasKnOzxFJ3tFhWCPBz4Sri4LhF8JsAT3U (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4276.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/U3Hru-P2yOasKnOzxFJ3tFhWCPBz4Sri4LhF8JsAT3U", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49044}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/U3Hru-P2yOasKnOzxFJ3tFhWCPBz4Sri4LhF8JsAT3U", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4277.0>, params: %{}, path_info: [".well-known", "acme-challenge", "U3Hru-P2yOasKnOzxFJ3tFhWCPBz4Sri4LhF8JsAT3U"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/U3Hru-P2yOasKnOzxFJ3tFhWCPBz4Sri4LhF8JsAT3U"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/U3Hru-P2yOasKnOzxFJ3tFhWCPBz4Sri4LhF8JsAT3U", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhj_6hgwVNGhkAALoh"} ], 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.4276.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/U3Hru-P2yOasKnOzxFJ3tFhWCPBz4Sri4LhF8JsAT3U", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49044}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/U3Hru-P2yOasKnOzxFJ3tFhWCPBz4Sri4LhF8JsAT3U", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/U3Hru-P2yOasKnOzxFJ3tFhWCPBz4Sri4LhF8JsAT3U (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4276.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/U3Hru-P2yOasKnOzxFJ3tFhWCPBz4Sri4LhF8JsAT3U", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49044}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/U3Hru-P2yOasKnOzxFJ3tFhWCPBz4Sri4LhF8JsAT3U", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4277.0>, params: %{}, path_info: [".well-known", "acme-challenge", "U3Hru-P2yOasKnOzxFJ3tFhWCPBz4Sri4LhF8JsAT3U"], 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://pinchflat.f2fv7 (truncated) 13:51:03.903 [info] GET /.well-known/acme-challenge/VuzlfIDgoeP5cIpXTpdy1B1OJ0VETJNd20fj4dPvMmE 13:51:03.905 [debug] QUERY OK source="settings" db=0.9ms idle=491.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 [] 13:51:03.906 [debug] QUERY OK source="settings" db=0.5ms idle=492.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 [] 13:51:03.906 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:51:03.906 [error] #PID<0.4278.0> running PinchflatWeb.Endpoint (connection #PID<0.4276.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/VuzlfIDgoeP5cIpXTpdy1B1OJ0VETJNd20fj4dPvMmE ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/VuzlfIDgoeP5cIpXTpdy1B1OJ0VETJNd20fj4dPvMmE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4276.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/VuzlfIDgoeP5cIpXTpdy1B1OJ0VETJNd20fj4dPvMmE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49044}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/VuzlfIDgoeP5cIpXTpdy1B1OJ0VETJNd20fj4dPvMmE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4278.0>, params: %{}, path_info: [".well-known", "acme-challenge", "VuzlfIDgoeP5cIpXTpdy1B1OJ0VETJNd20fj4dPvMmE"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/VuzlfIDgoeP5cIpXTpdy1B1OJ0VETJNd20fj4dPvMmE"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/VuzlfIDgoeP5cIpXTpdy1B1OJ0VETJNd20fj4dPvMmE", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhkH7VNSRzUs0AALpB"} ], 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.4276.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/VuzlfIDgoeP5cIpXTpdy1B1OJ0VETJNd20fj4dPvMmE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49044}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/VuzlfIDgoeP5cIpXTpdy1B1OJ0VETJNd20fj4dPvMmE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/VuzlfIDgoeP5cIpXTpdy1B1OJ0VETJNd20fj4dPvMmE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4276.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/VuzlfIDgoeP5cIpXTpdy1B1OJ0VETJNd20fj4dPvMmE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 49044}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/VuzlfIDgoeP5cIpXTpdy1B1OJ0VETJNd20fj4dPvMmE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4278.0>, params: %{}, path_info: [".well-known", "acme-challenge", "VuzlfIDgoeP5cIpXTpdy1B1OJ0VETJNd20fj4dPvMmE"], 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://pinchflat.f2fv7 (truncated) 13:51:08.169 [info] GET /.well-known/acme-challenge/24p-v8zArmVATZXc_7Vfq5V3s4wHDz_vbeKL4MkKx3A 13:51:08.170 [debug] QUERY OK source="settings" db=0.5ms idle=1611.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 [] 13:51:08.170 [debug] QUERY OK source="settings" db=0.5ms idle=757.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 [] 13:51:08.171 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:51:08.171 [error] #PID<0.4280.0> running PinchflatWeb.Endpoint (connection #PID<0.4279.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/24p-v8zArmVATZXc_7Vfq5V3s4wHDz_vbeKL4MkKx3A ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/24p-v8zArmVATZXc_7Vfq5V3s4wHDz_vbeKL4MkKx3A (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4279.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/24p-v8zArmVATZXc_7Vfq5V3s4wHDz_vbeKL4MkKx3A", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54566}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/24p-v8zArmVATZXc_7Vfq5V3s4wHDz_vbeKL4MkKx3A", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4280.0>, params: %{}, path_info: [".well-known", "acme-challenge", "24p-v8zArmVATZXc_7Vfq5V3s4wHDz_vbeKL4MkKx3A"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/24p-v8zArmVATZXc_7Vfq5V3s4wHDz_vbeKL4MkKx3A"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/24p-v8zArmVATZXc_7Vfq5V3s4wHDz_vbeKL4MkKx3A", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhkX0U9WaxE78AALph"} ], 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.4279.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/24p-v8zArmVATZXc_7Vfq5V3s4wHDz_vbeKL4MkKx3A", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54566}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/24p-v8zArmVATZXc_7Vfq5V3s4wHDz_vbeKL4MkKx3A", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/24p-v8zArmVATZXc_7Vfq5V3s4wHDz_vbeKL4MkKx3A (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4279.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/24p-v8zArmVATZXc_7Vfq5V3s4wHDz_vbeKL4MkKx3A", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54566}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/24p-v8zArmVATZXc_7Vfq5V3s4wHDz_vbeKL4MkKx3A", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4280.0>, params: %{}, path_info: [".well-known", "acme-challenge", "24p-v8zArmVATZXc_7Vfq5V3s4wHDz_vbeKL4MkKx3A"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:51:08.587 [info] {"args":{"id":2},"id":1713,"meta":{},"system_time":1774666268586463199,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:51:08.587 [info] {"args":{"id":4},"id":1714,"meta":{},"system_time":1774666268586765942,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:51:08.589 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=1025.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" = ?) [2] 13:51:08.590 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=419.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 [] 13:51:08.615 [debug] QUERY OK source="sources" db=26.8ms queue=0.2ms idle=418.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" = ?) [4] 13:51:08.618 [debug] QUERY OK source="settings" db=0.7ms queue=0.4ms 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 [] 13:51:08.620 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.2ms idle=29.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] 13:51:08.621 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=30.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 [] 13:51:08.621 [debug] Fetching recent media IDs from YouTube API for playlist: UUEiui9T4ZYx8K8nuZ5YFSTw 13:51:08.622 [debug] QUERY OK source="media_profiles" db=30.7ms 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] 13:51:08.622 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms 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 [] 13:51:08.622 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:51:08.623 [debug] QUERY OK source="settings" db=0.5ms 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 [] 13:51:08.623 [debug] Fetching recent media IDs from YouTube API for playlist: UUjzi56cxvmEDwjo1Bd2Yxpg 13:51:08.624 [debug] QUERY OK source="settings" db=0.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 [] 13:51:08.624 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:51:09.140 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=514.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [4, "gthI7e6zPWo", "psRX1C7auj8", "2ZtSRjGhStw", "Z8KiNkDP9c4", "AZibPvCnG4k", "QXNPI7Ucivo", "WtxCD4567G4", "80bkfWoOHaE", "pYBAEGrhggM", "9M3wLySdGXY", "mcvbD_Ipbf8", "E_Y7kLO3Iaw", "gPdh5lVJYD0", "qrkTK1UcvSM", "45UcuOLjxeY", "gnbhO9hJ198", "fiFzXo1wNno", "TM5mKkwC0Ok", "kS2A72peqmg", "ueDcEpRFW_M", "AN4-pHYBK2M", "TMNa6ocIv8o", "S1Vt1tQJczE", "_BEmUjtwhLw", "1bxoWiQ2AQY", "CZeRfNeKEBE", "2nftRe3tjLQ", "v1biAguVbg8", "cLDsQImoeHQ", "hhH7mchDBXY", "uQj2W5ej104", "vYRV_nprXBA", "1v_qsQL3mo8", "hfHxFTbVaTo", "mfWqziOaR4A", "AmCWMmKgHkI", "ZWgq-s8r2FE", "1dAkTDsD1c4", "ozdDp_eMPZY", "iHogtXxywLQ", "7ysd04ltGag", "5jq8kH9s0V8", "AB6bC9gtfoc", "R7Tm3zvyy9U", "dUHzocz0hLo", "9Oh6oVrf7kM", "LzUhByZ4jtc", "j7evpR_Fbsw", "_iGhJt3ah8E", ...] 13:51:09.148 [debug] QUERY OK source="media_items" db=7.2ms idle=519.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 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] 13:51:09.392 [debug] QUERY OK source="tasks" db=0.4ms idle=3.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1719, 4, ~U[2026-03-28 02:51:09Z], ~U[2026-03-28 02:51:09Z]] 13:51:09.393 [info] {"args":{"id":4},"id":1714,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":805562,"event":"job:stop","queue_time":294587,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:51:10.253 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9-PW4CAvxnI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/13/0d/130d2fd985fda6ac9fff73ce5ae0cdca62c29d55406fb6573d16287100bfaceb.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:51:10.358 [debug] Running yt-dlp command for action: download_thumbnail 13:51:10.359 [debug] QUERY OK source="settings" db=0.4ms idle=966.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 [] 13:51:10.359 [debug] QUERY OK source="settings" db=0.2ms idle=966.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 [] 13:51:10.359 [debug] QUERY OK source="settings" db=0.1ms idle=966.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 [] 13:51:10.360 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9-PW4CAvxnI --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3665/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/7f/16/7f1638cd97d2a3312c7ed13ba4ef7762aedfc5e3c6e277c158fa48ee3df9c277.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:51:11.899 [info] GET /.well-known/acme-challenge/-yV8tTxDUZrqiRNKEaLZBuEts1K5F4wstEhiiKwigqI 13:51:11.901 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1326.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 [] 13:51:11.901 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=489.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 [] 13:51:11.902 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:51:11.902 [error] #PID<0.4287.0> running PinchflatWeb.Endpoint (connection #PID<0.4279.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/-yV8tTxDUZrqiRNKEaLZBuEts1K5F4wstEhiiKwigqI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/-yV8tTxDUZrqiRNKEaLZBuEts1K5F4wstEhiiKwigqI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4279.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/-yV8tTxDUZrqiRNKEaLZBuEts1K5F4wstEhiiKwigqI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54566}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/-yV8tTxDUZrqiRNKEaLZBuEts1K5F4wstEhiiKwigqI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4287.0>, params: %{}, path_info: [".well-known", "acme-challenge", "-yV8tTxDUZrqiRNKEaLZBuEts1K5F4wstEhiiKwigqI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/-yV8tTxDUZrqiRNKEaLZBuEts1K5F4wstEhiiKwigqI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/-yV8tTxDUZrqiRNKEaLZBuEts1K5F4wstEhiiKwigqI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhkltzVnOySYcAAMYB"} ], 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.4279.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/-yV8tTxDUZrqiRNKEaLZBuEts1K5F4wstEhiiKwigqI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54566}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/-yV8tTxDUZrqiRNKEaLZBuEts1K5F4wstEhiiKwigqI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/-yV8tTxDUZrqiRNKEaLZBuEts1K5F4wstEhiiKwigqI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4279.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/-yV8tTxDUZrqiRNKEaLZBuEts1K5F4wstEhiiKwigqI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54566}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/-yV8tTxDUZrqiRNKEaLZBuEts1K5F4wstEhiiKwigqI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4287.0>, params: %{}, path_info: [".well-known", "acme-challenge", "-yV8tTxDUZrqiRNKEaLZBuEts1K5F4wstEhiiKwigqI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:51:12.076 [debug] QUERY OK source="media_items" db=4.7ms queue=0.1ms idle=659.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "CzjE_CAAdm8", "Hw2_s31u_4Q", "b4x9IzQtiA0", "16aM5Bop7Qw", "3hBk9xqT9hs", "xDa45wnAzc8", "Yq41acIvzj8", "Ttn_Q1B2ALc", "-bV0F6OP31U", "qAstyiKRt10", "NF2StvrYme0", "_Q-2UzYr3AA", "FeEEy3jZvlM", "EHaNwda0xto", "KL0u63mAy5M", "fzklfnO42ts", "oZ4kddHCFVY", "spSOp5s_6_A", "C48yl9fSYv8", "654RgtNwXZ8", "4wu_B_XF6wk", "wFLJxWyDJPs", "J5NKnYfn6qw", "fcVRuF6c-bc", "xNAFpSnpqjs", "cavmWZnCeJI", "_J0gQ5GdUSk", "_oISg668F40", "v34wa9QhF0s", "iEen_cClzkg", "CD9wUM2v-0U", "E8k9oqjl5_E", "lQDUMfg_SJc", "pPMD0YPBHQ4", "qq1IN4umTI8", "L63goFhe8KM", "5OXvwQ3CB1I", "doZvHBPoVCw", "9SXMTDO4lIo", "8JmSUN8jp3Q", "7oSgaaUEjZM", "sKSPwnFSRCw", "gdY_Q9ltw8w", "uHbviTslBFY", "gMzXgYFT4Ck", "NdsMuD-_5To", "9JXltNRqLu4", "7ThBvLBMacw", "7BTWa3jFBMw", ...] 13:51:12.149 [debug] QUERY OK source="media_items" db=67.5ms queue=0.2ms idle=668.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 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] 13:51:12.159 [debug] QUERY OK source="tasks" db=0.7ms idle=81.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1720, 2, ~U[2026-03-28 02:51:12Z], ~U[2026-03-28 02:51:12Z]] 13:51:12.175 [info] {"args":{"id":2},"id":1713,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":3572797,"event":"job:stop","queue_time":918636,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:51:18.805 [info] GET /.well-known/acme-challenge/yL3EX5hfgL7YM3DUzs3t6lve86OORb6bAfbsdE9V7DI 13:51:18.806 [debug] QUERY OK source="settings" db=0.8ms idle=1392.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 [] 13:51:18.807 [debug] QUERY OK source="settings" db=0.4ms idle=1393.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 [] 13:51:18.808 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:51:18.809 [error] #PID<0.4292.0> running PinchflatWeb.Endpoint (connection #PID<0.4291.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/yL3EX5hfgL7YM3DUzs3t6lve86OORb6bAfbsdE9V7DI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/yL3EX5hfgL7YM3DUzs3t6lve86OORb6bAfbsdE9V7DI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4291.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/yL3EX5hfgL7YM3DUzs3t6lve86OORb6bAfbsdE9V7DI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 38810}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/yL3EX5hfgL7YM3DUzs3t6lve86OORb6bAfbsdE9V7DI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4292.0>, params: %{}, path_info: [".well-known", "acme-challenge", "yL3EX5hfgL7YM3DUzs3t6lve86OORb6bAfbsdE9V7DI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/yL3EX5hfgL7YM3DUzs3t6lve86OORb6bAfbsdE9V7DI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/yL3EX5hfgL7YM3DUzs3t6lve86OORb6bAfbsdE9V7DI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhk_cOLR6TihoAAMZB"} ], 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.4291.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/yL3EX5hfgL7YM3DUzs3t6lve86OORb6bAfbsdE9V7DI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 38810}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/yL3EX5hfgL7YM3DUzs3t6lve86OORb6bAfbsdE9V7DI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/yL3EX5hfgL7YM3DUzs3t6lve86OORb6bAfbsdE9V7DI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4291.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/yL3EX5hfgL7YM3DUzs3t6lve86OORb6bAfbsdE9V7DI", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 38810}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/yL3EX5hfgL7YM3DUzs3t6lve86OORb6bAfbsdE9V7DI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4292.0>, params: %{}, path_info: [".well-known", "acme-challenge", "yL3EX5hfgL7YM3DUzs3t6lve86OORb6bAfbsdE9V7DI"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:51:19.535 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9-PW4CAvxnI --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3665/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/7f/16/7f1638cd97d2a3312c7ed13ba4ef7762aedfc5e3c6e277c158fa48ee3df9c277.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:51:19.536 [debug] QUERY OK db=0.1ms idle=931.1ms begin [] 13:51:19.541 [debug] QUERY OK source="media_items" db=4.3ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [457, ~U[2026-03-28 02:51:10Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e042299 - Manhattan Three Ways | Whiskey Cocktail History Lesson.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e042299 - Manhattan Three Ways | Whiskey Cocktail History Lesson.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e042299 - Manhattan Three Ways | Whiskey Cocktail History Lesson.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e042299 - Manhattan Three Ways | Whiskey Cocktail History Lesson.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e042299 - Manhattan Three Ways | Whiskey Cocktail History Lesson.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e042299 - Manhattan Three Ways | Whiskey Cocktail History Lesson-thumb.jpg", ~U[2026-03-28 02:51:19Z], 3665] 13:51:19.543 [debug] QUERY OK source="media_metadata" db=1.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/3665/metadata.json.gz", "/config/metadata/media_items/3665/thumbnail.jpg", 3665, ~U[2026-03-28 02:51:19Z], ~U[2026-03-28 02:51:19Z]] 13:51:19.544 [debug] QUERY OK db=0.6ms commit [] 13:51:19.555 [debug] QUERY OK source="media_items" db=4.5ms idle=744.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [80063845, ~U[2026-03-28 02:51:19Z], 3665] 13:51:19.555 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:51:19.556 [info] {"args":{"id":3665},"id":667,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":172562630,"event":"job:stop","queue_time":81300975139,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:51:19.564 [info] {"args":{"id":3668},"id":668,"meta":{},"system_time":1774666279564463276,"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"]} 13:51:19.565 [debug] QUERY OK source="media_items" db=0.7ms idle=151.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" = ?) [3668] 13:51:19.566 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:51:19.567 [debug] QUERY OK source="sources" db=0.9ms idle=21.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" = ?) [4] 13:51:19.568 [debug] QUERY OK source="media_profiles" db=0.5ms idle=11.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] 13:51:19.569 [debug] QUERY OK source="media_items" db=0.9ms 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 [3668] 13:51:19.570 [debug] QUERY OK source="media_metadata" db=0.1ms idle=6.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" = ?) [3668] 13:51:19.570 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 13:51:19.571 [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 [] 13:51:19.571 [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 [] 13:51:19.571 [debug] Running yt-dlp command for action: get_downloadable_status 13:51:19.573 [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 [] 13:51:19.573 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:51:19.573 [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 [] 13:51:19.574 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YI7Wrs4ul0E --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/95/78/9578c864baed371b7e20d555c720f69e8a742bc2e575d2b258b4613b4b1a41dc.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:51:21.438 [info] {"source":"oban","duration":2433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:21.934 [info] GET / 13:51:21.934 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:51:21.935 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=521.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 [] 13:51:21.936 [debug] QUERY OK source="media_profiles" db=0.1ms idle=522.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:51:21.936 [debug] QUERY OK source="sources" db=0.1ms idle=522.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:51:21.994 [debug] QUERY OK source="media_items" db=57.5ms idle=497.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:51:21.999 [debug] QUERY OK source="media_items" db=4.8ms queue=0.1ms idle=376.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:51:22.000 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=64.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 [] 13:51:22.001 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=64.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 [] 13:51:22.003 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=66.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 [] 13:51:22.007 [debug] QUERY OK source="media_items" db=3.2ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 13:51:22.008 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=8.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:51:22.009 [debug] QUERY OK source="sources" db=0.2ms idle=8.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" IN (?,?)) [2, 6] 13:51:22.069 [debug] QUERY OK source="media_items" db=56.8ms idle=11.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 (((((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"))) [] 13:51:22.130 [debug] QUERY OK source="media_items" db=59.4ms queue=0.1ms idle=67.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:51:22.131 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=123.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] 13:51:22.137 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=127.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:51:22.138 [debug] QUERY OK source="media_items" db=0.6ms idle=128.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3662, 3668] 13:51:22.142 [info] Sent 200 in 207ms 13:51:27.137 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YI7Wrs4ul0E --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/95/78/9578c864baed371b7e20d555c720f69e8a742bc2e575d2b258b4613b4b1a41dc.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:51:27.137 [debug] Running yt-dlp command for action: download 13:51:27.138 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1724.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 [] 13:51:27.139 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1725.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 [] 13:51:27.140 [debug] QUERY OK source="settings" db=0.2ms idle=1726.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 [] 13:51:27.141 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YI7Wrs4ul0E --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5b/d5/5bd560ec8bf64a1523e675f5b2422b8a7a6bbd4ffb997da3060df74cc45b9e3a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:51:51.442 [info] {"source":"oban","duration":2487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:00.847 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:52:04.803 [info] {"args":{"id":5},"id":1715,"meta":{},"system_time":1774666324803072624,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:52:04.805 [debug] QUERY OK source="sources" db=1.7ms idle=390.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" = ?) [5] 13:52:04.806 [debug] QUERY OK source="settings" db=0.7ms idle=392.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 [] 13:52:04.827 [debug] QUERY OK source="media_profiles" db=19.5ms queue=0.1ms idle=394.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] 13:52:04.843 [debug] QUERY OK source="settings" db=15.7ms idle=44.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 [] 13:52:04.843 [debug] Fetching recent media IDs from YouTube API for playlist: UUVwfqPkv08OTuHzkPU3EaDw 13:52:04.845 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=41.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 [] 13:52:04.845 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:52:05.294 [debug] QUERY OK source="media_items" db=4.7ms queue=0.1ms idle=483.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [5, "k8Yr1jU-0EE", "NFrnhg8hI0c", "20XMhcpSNV0", "YVGFnwJho6E", "xQXiSGDXknA", "uZl0TO8i96g", "Hs5ewNKWUwk", "E5suxhHY0aY", "sCou7ut2L-o", "a0INtLdzUiE", "n0x8sH0M9CE", "W4Af6DIMqnE", "Q-sUbLem5aI", "s-jMj11w68U", "DS9HZG5JRBc", "_wLy-vzLi3E", "iFpZfYwRcns", "nPovqKKSKcE", "j_w4tRYm7Og", "laZpTO7IFtA", "FM5e9Vb1noE", "cK6g53lLgnw", "1X5WYEhzGyI", "QVpu66njzdE", "tfnANe2YUwM", "0-QK6hxLxgM", "TYUeXqSlcDg", "0322Pk-GKto", "1Em1UrRSEXc", "x2RT9Awsyi8", "4Yth52yml8E", "ky9Zo2FmjQ8", "npU2QpX5piA", "XEb_1Sq8jNo", "L3QQDAKxUIk", "l3s8S6bBbOs", "WyWBU1NpDf8", "7wZ0NVuoDWg", "-Ig2-rBZtSI", "5BG06-J1t4Y", "GcQ6vQEeQew", "ap8S88LeiB0", "4LvXP3XR6gw", "I9o65_aIq0Q", "Ut9XjFkGK6s", "PcFkjR5NELA", "Yl67318oP-s", "umbar5BKBus", "FEfCtNhVjJ0", ...] 13:52:05.304 [debug] QUERY OK source="media_items" db=5.0ms queue=0.1ms idle=492.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 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")))) [5] 13:52:05.528 [debug] QUERY OK source="tasks" db=0.5ms idle=6.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1721, 5, ~U[2026-03-28 02:52:05Z], ~U[2026-03-28 02:52:05Z]] 13:52:05.530 [info] {"args":{"id":5},"id":1715,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":725900,"event":"job:stop","queue_time":476891,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:52:21.447 [info] {"source":"oban","duration":2894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:22.340 [info] GET / 13:52:22.341 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:52:22.341 [debug] QUERY OK source="settings" db=0.2ms idle=927.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 [] 13:52:22.341 [debug] QUERY OK source="media_profiles" db=0.1ms idle=928.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:52:22.342 [debug] QUERY OK source="sources" db=0.2ms idle=928.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:52:22.394 [debug] QUERY OK source="media_items" db=51.3ms idle=895.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:52:22.397 [debug] QUERY OK source="media_items" db=3.3ms idle=545.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:52:22.398 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms 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 [] 13:52:22.399 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=57.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 [] 13:52:22.401 [debug] QUERY OK source="settings" db=0.3ms idle=58.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 [] 13:52:22.406 [debug] QUERY OK source="media_items" db=3.1ms idle=9.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 (NOT (m0."media_filepath" IS NULL)) [] 13:52:22.408 [debug] QUERY OK source="media_items" db=0.9ms queue=0.2ms idle=9.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:52:22.410 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms 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" IN (?,?)) [2, 6] 13:52:22.477 [debug] QUERY OK source="media_items" db=61.5ms idle=15.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 (((((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"))) [] 13:52:22.537 [debug] QUERY OK source="media_items" db=59.2ms idle=76.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:52:22.538 [debug] QUERY OK source="sources" db=0.3ms idle=132.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] 13:52:22.543 [debug] QUERY OK source="tasks" db=0.4ms idle=135.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:52:22.544 [debug] QUERY OK source="media_items" db=0.4ms idle=134.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3662, 3668] 13:52:22.547 [info] Sent 200 in 206ms 13:52:33.448 [info] GET /sources/6/media/68257 13:52:33.448 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "68257", "prevent_download" => "true", "source_id" => "6"} Pipelines: [:browser] 13:52:33.449 [debug] QUERY OK source="media_items" db=0.5ms idle=1034.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" = ?) [68257] 13:52:33.452 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1037.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 [] 13:52:33.453 [debug] QUERY OK source="settings" db=0.4ms idle=1038.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 [] 13:52:33.454 [debug] QUERY OK source="settings" db=0.3ms idle=1039.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 [] 13:52:33.456 [info] Sent 404 in 7ms 13:52:33.456 [debug] Converted error Ecto.NoResultsError to 404 response 13:52:51.451 [info] {"source":"oban","duration":3065,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:57.994 [info] {"args":{"id":1},"id":1716,"meta":{},"system_time":1774666377994571975,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:52:58.015 [debug] QUERY OK source="sources" db=20.4ms idle=580.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] 13:52:58.017 [debug] QUERY OK source="settings" db=1.6ms queue=0.2ms 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 [] 13:52:58.027 [debug] QUERY OK source="media_profiles" db=8.6ms idle=603.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] 13:52:58.034 [debug] QUERY OK source="settings" db=7.0ms idle=40.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 [] 13:52:58.035 [debug] Fetching recent media IDs from YouTube API for playlist: UUISrVZmDM4x-Rq9mmNUw7Zw 13:52:58.036 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=40.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 [] 13:52:58.036 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:52:58.631 [debug] QUERY OK source="media_items" db=1.8ms idle=613.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "Q0qmHym16H4", "WcWL0_PlcO8", "dQV1WkSly7k", "Xpohopi2_tA", "fsZdCn4jIUY", "hgk2jMPnG2w", "oDh4gg7xiUs", "3LfUmSMW_qc", "5gN9QvwPLq8", "uSBe19ms3aw", "Eq1BmJikpHA", "OsKelxcQUNo", "zNP6Q_Yk9hU", "ZPPCc15thCc", "UzARiS2CyJ4", "r8X8HVGVV1o", "_JI7oYBFZIo", "niCh-EI1Kfo", "92mSBlpBEJo", "_6OAB_8iwqs", "tJbcC43WELc", "cPz1rUCNI0o", "hFzt_dOdElw", "nC-QKeluT0c", "i8ARsrsVUMM", "X30l-491qck", "rzQeUM-lMUY", "BkUHm95UvCw", "MQ2cHq3-J7A", "CtF5dLHITYA", "SGJkxRdkRGg", "OUCt85aJaAA", "9gARPYZOka4", "-uH-Gi5tjEw", "qwUBBQKYX94", "s8VLDSQJ8nA", "EvPfr0lKkh4", "msXzAxF49gA", "hQCWaSvjkU0", "RcmjVsy3a-g", "xtuNc9vYJG4", "fj2tcg8OzsM", "2FZ4IfPACDM", "2Q9DzW20YJ8", "IVsWFGOE_mw", "vPxpMcv2Z4Y", "Zverj_ldlhY", "pQK8xasPd9Q", "_Yo7nh8u9pk", ...] 13:52:58.635 [debug] QUERY OK source="media_items" db=2.2ms idle=614.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 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] 13:52:58.660 [debug] QUERY OK source="tasks" db=0.4ms idle=7.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1722, 1, ~U[2026-03-28 02:52:58Z], ~U[2026-03-28 02:52:58Z]] 13:52:58.661 [info] {"args":{"id":1},"id":1716,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":666219,"event":"job:stop","queue_time":549429,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:53:00.849 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:53:21.454 [info] {"source":"oban","duration":2161,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:22.713 [info] GET / 13:53:22.713 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:53:22.714 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1299.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 [] 13:53:22.715 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1260.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:53:22.715 [debug] QUERY OK source="sources" db=0.2ms idle=625.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:53:22.755 [debug] QUERY OK source="media_items" db=39.7ms idle=301.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:53:22.760 [debug] QUERY OK source="media_items" db=4.3ms queue=0.1ms idle=341.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:53:22.761 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=46.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 [] 13:53:22.762 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=46.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 [] 13:53:22.764 [debug] QUERY OK source="settings" db=0.4ms idle=48.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 [] 13:53:22.771 [debug] QUERY OK source="media_items" db=4.7ms queue=0.1ms idle=10.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 (NOT (m0."media_filepath" IS NULL)) [] 13:53:22.773 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=11.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:53:22.775 [debug] QUERY OK source="sources" db=0.6ms idle=13.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" IN (?,?)) [2, 6] 13:53:22.838 [debug] QUERY OK source="media_items" db=59.7ms idle=16.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 (((((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"))) [] 13:53:22.890 [debug] QUERY OK source="media_items" db=52.0ms idle=74.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:53:22.891 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=120.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] 13:53:22.897 [debug] QUERY OK source="tasks" db=0.6ms idle=122.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:53:22.898 [debug] QUERY OK source="media_items" db=0.3ms idle=122.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3662, 3668] 13:53:22.901 [info] Sent 200 in 187ms 13:53:31.487 [info] GET /.well-known/acme-challenge/YKoShdzTcMyXz5aM2bgft1WE_LmNrM3o5MIb1oGNiKA 13:53:31.489 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=1073.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 [] 13:53:31.489 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1074.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 [] 13:53:31.490 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:53:31.490 [error] #PID<0.4315.0> running PinchflatWeb.Endpoint (connection #PID<0.4314.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/YKoShdzTcMyXz5aM2bgft1WE_LmNrM3o5MIb1oGNiKA ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/YKoShdzTcMyXz5aM2bgft1WE_LmNrM3o5MIb1oGNiKA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/YKoShdzTcMyXz5aM2bgft1WE_LmNrM3o5MIb1oGNiKA", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 48948}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/YKoShdzTcMyXz5aM2bgft1WE_LmNrM3o5MIb1oGNiKA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4315.0>, params: %{}, path_info: [".well-known", "acme-challenge", "YKoShdzTcMyXz5aM2bgft1WE_LmNrM3o5MIb1oGNiKA"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/YKoShdzTcMyXz5aM2bgft1WE_LmNrM3o5MIb1oGNiKA"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.107"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/YKoShdzTcMyXz5aM2bgft1WE_LmNrM3o5MIb1oGNiKA", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhstuGSowMSWAAANHh"} ], 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.4314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/YKoShdzTcMyXz5aM2bgft1WE_LmNrM3o5MIb1oGNiKA", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 48948}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/YKoShdzTcMyXz5aM2bgft1WE_LmNrM3o5MIb1oGNiKA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/YKoShdzTcMyXz5aM2bgft1WE_LmNrM3o5MIb1oGNiKA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/YKoShdzTcMyXz5aM2bgft1WE_LmNrM3o5MIb1oGNiKA", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 48948}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/YKoShdzTcMyXz5aM2bgft1WE_LmNrM3o5MIb1oGNiKA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4315.0>, params: %{}, path_info: [".well-known", "acme-challenge", "YKoShdzTcMyXz5aM2bgft1WE_LmNrM3o5MIb1oGNiKA"], 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://pinchflat.f (truncated) 13:53:40.646 [info] GET /.well-known/acme-challenge/1tiRL5S8MGmSxztN8GGgcs8wV2pMH7i1sM8WTbrQAqo 13:53:40.648 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1232.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 [] 13:53:40.649 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1234.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 [] 13:53:40.649 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:53:40.650 [error] #PID<0.4317.0> running PinchflatWeb.Endpoint (connection #PID<0.4316.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/1tiRL5S8MGmSxztN8GGgcs8wV2pMH7i1sM8WTbrQAqo ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/1tiRL5S8MGmSxztN8GGgcs8wV2pMH7i1sM8WTbrQAqo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4316.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/1tiRL5S8MGmSxztN8GGgcs8wV2pMH7i1sM8WTbrQAqo", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 44698}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/1tiRL5S8MGmSxztN8GGgcs8wV2pMH7i1sM8WTbrQAqo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4317.0>, params: %{}, path_info: [".well-known", "acme-challenge", "1tiRL5S8MGmSxztN8GGgcs8wV2pMH7i1sM8WTbrQAqo"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/1tiRL5S8MGmSxztN8GGgcs8wV2pMH7i1sM8WTbrQAqo"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.107"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/1tiRL5S8MGmSxztN8GGgcs8wV2pMH7i1sM8WTbrQAqo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhtP1tdRvwChMAANIB"} ], 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.4316.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/1tiRL5S8MGmSxztN8GGgcs8wV2pMH7i1sM8WTbrQAqo", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 44698}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/1tiRL5S8MGmSxztN8GGgcs8wV2pMH7i1sM8WTbrQAqo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/1tiRL5S8MGmSxztN8GGgcs8wV2pMH7i1sM8WTbrQAqo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4316.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/1tiRL5S8MGmSxztN8GGgcs8wV2pMH7i1sM8WTbrQAqo", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 44698}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/1tiRL5S8MGmSxztN8GGgcs8wV2pMH7i1sM8WTbrQAqo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4317.0>, params: %{}, path_info: [".well-known", "acme-challenge", "1tiRL5S8MGmSxztN8GGgcs8wV2pMH7i1sM8WTbrQAqo"], 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://pinchflat.f (truncated) 13:53:51.136 [info] GET /.well-known/acme-challenge/IBegMp_QaEixifznrawnNfx7czVsOlhmNwFwG9wguRo 13:53:51.137 [debug] QUERY OK source="settings" db=0.2ms idle=958.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 [] 13:53:51.137 [debug] QUERY OK source="settings" db=0.1ms idle=723.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 [] 13:53:51.137 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:53:51.138 [error] #PID<0.4321.0> running PinchflatWeb.Endpoint (connection #PID<0.4320.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/IBegMp_QaEixifznrawnNfx7czVsOlhmNwFwG9wguRo ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/IBegMp_QaEixifznrawnNfx7czVsOlhmNwFwG9wguRo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4320.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/IBegMp_QaEixifznrawnNfx7czVsOlhmNwFwG9wguRo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44254}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/IBegMp_QaEixifznrawnNfx7czVsOlhmNwFwG9wguRo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4321.0>, params: %{}, path_info: [".well-known", "acme-challenge", "IBegMp_QaEixifznrawnNfx7czVsOlhmNwFwG9wguRo"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/IBegMp_QaEixifznrawnNfx7czVsOlhmNwFwG9wguRo"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.107"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/IBegMp_QaEixifznrawnNfx7czVsOlhmNwFwG9wguRo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDht26z4VfeK3MAANJB"} ], 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.4320.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/IBegMp_QaEixifznrawnNfx7czVsOlhmNwFwG9wguRo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44254}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/IBegMp_QaEixifznrawnNfx7czVsOlhmNwFwG9wguRo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/IBegMp_QaEixifznrawnNfx7czVsOlhmNwFwG9wguRo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4320.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/IBegMp_QaEixifznrawnNfx7czVsOlhmNwFwG9wguRo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44254}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/IBegMp_QaEixifznrawnNfx7czVsOlhmNwFwG9wguRo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4321.0>, params: %{}, path_info: [".well-known", "acme-challenge", "IBegMp_QaEixifznrawnNfx7czVsOlhmNwFwG9wguRo"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWe (truncated) 13:53:51.458 [info] {"source":"oban","duration":2811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:51.589 [info] GET /.well-known/acme-challenge/10sh8UZQ0ocCbEiWuSo4ayPv2X097UCDXUI6Sh6W_Ug 13:53:51.590 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=1175.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 [] 13:53:51.591 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=454.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 [] 13:53:51.592 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:53:51.593 [error] #PID<0.4322.0> running PinchflatWeb.Endpoint (connection #PID<0.4320.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/10sh8UZQ0ocCbEiWuSo4ayPv2X097UCDXUI6Sh6W_Ug ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/10sh8UZQ0ocCbEiWuSo4ayPv2X097UCDXUI6Sh6W_Ug (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4320.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/10sh8UZQ0ocCbEiWuSo4ayPv2X097UCDXUI6Sh6W_Ug", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44254}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/10sh8UZQ0ocCbEiWuSo4ayPv2X097UCDXUI6Sh6W_Ug", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.212", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4322.0>, params: %{}, path_info: [".well-known", "acme-challenge", "10sh8UZQ0ocCbEiWuSo4ayPv2X097UCDXUI6Sh6W_Ug"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/10sh8UZQ0ocCbEiWuSo4ayPv2X097UCDXUI6Sh6W_Ug"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.212"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/10sh8UZQ0ocCbEiWuSo4ayPv2X097UCDXUI6Sh6W_Ug", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDht4msJtmAK6kAANJh"} ], 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.4320.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/10sh8UZQ0ocCbEiWuSo4ayPv2X097UCDXUI6Sh6W_Ug", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44254}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/10sh8UZQ0ocCbEiWuSo4ayPv2X097UCDXUI6Sh6W_Ug", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.212", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/10sh8UZQ0ocCbEiWuSo4ayPv2X097UCDXUI6Sh6W_Ug (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4320.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/10sh8UZQ0ocCbEiWuSo4ayPv2X097UCDXUI6Sh6W_Ug", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44254}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/10sh8UZQ0ocCbEiWuSo4ayPv2X097UCDXUI6Sh6W_Ug", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.212", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4322.0>, params: %{}, path_info: [".well-known", "acme-challenge", "10sh8UZQ0ocCbEiWuSo4ayPv2X097UCDXUI6Sh6W_Ug"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWe (truncated) 13:54:00.850 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:54:11.222 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YI7Wrs4ul0E --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5b/d5/5bd560ec8bf64a1523e675f5b2422b8a7a6bbd4ffb997da3060df74cc45b9e3a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:54:11.307 [debug] Running yt-dlp command for action: download_thumbnail 13:54:11.309 [debug] QUERY OK source="settings" db=0.2ms idle=1892.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 [] 13:54:11.309 [debug] QUERY OK source="settings" db=0.1ms idle=1075.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 [] 13:54:11.310 [debug] QUERY OK source="settings" db=0.2ms idle=894.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 [] 13:54:11.311 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YI7Wrs4ul0E --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3668/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/7b/71/7b7161b4802c86b6f693f29cfb773163ae8511d8b9c1399df5af3fc187356b5a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:54:12.352 [info] GET /.well-known/acme-challenge/0j1UX9ix77vPSTPAwt6hqbjciqZbZYwoSlpFi2-XN4Q 13:54:12.353 [debug] QUERY OK source="settings" db=0.4ms idle=1116.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 [] 13:54:12.353 [debug] QUERY OK source="settings" db=0.4ms idle=1043.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 [] 13:54:12.353 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:54:12.354 [error] #PID<0.4328.0> running PinchflatWeb.Endpoint (connection #PID<0.4327.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/0j1UX9ix77vPSTPAwt6hqbjciqZbZYwoSlpFi2-XN4Q ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/0j1UX9ix77vPSTPAwt6hqbjciqZbZYwoSlpFi2-XN4Q (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4327.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/0j1UX9ix77vPSTPAwt6hqbjciqZbZYwoSlpFi2-XN4Q", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 47950}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/0j1UX9ix77vPSTPAwt6hqbjciqZbZYwoSlpFi2-XN4Q", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4328.0>, params: %{}, path_info: [".well-known", "acme-challenge", "0j1UX9ix77vPSTPAwt6hqbjciqZbZYwoSlpFi2-XN4Q"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/0j1UX9ix77vPSTPAwt6hqbjciqZbZYwoSlpFi2-XN4Q"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.107"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/0j1UX9ix77vPSTPAwt6hqbjciqZbZYwoSlpFi2-XN4Q", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhvF9BSFZqtgQAANKB"} ], 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.4327.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/0j1UX9ix77vPSTPAwt6hqbjciqZbZYwoSlpFi2-XN4Q", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 47950}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/0j1UX9ix77vPSTPAwt6hqbjciqZbZYwoSlpFi2-XN4Q", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/0j1UX9ix77vPSTPAwt6hqbjciqZbZYwoSlpFi2-XN4Q (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4327.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/0j1UX9ix77vPSTPAwt6hqbjciqZbZYwoSlpFi2-XN4Q", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 47950}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/0j1UX9ix77vPSTPAwt6hqbjciqZbZYwoSlpFi2-XN4Q", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4328.0>, params: %{}, path_info: [".well-known", "acme-challenge", "0j1UX9ix77vPSTPAwt6hqbjciqZbZYwoSlpFi2-XN4Q"], 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://pinchflat.f (truncated) 13:54:18.905 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YI7Wrs4ul0E --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3668/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/7b/71/7b7161b4802c86b6f693f29cfb773163ae8511d8b9c1399df5af3fc187356b5a.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:54:18.905 [debug] QUERY OK db=0.0ms idle=1489.4ms begin [] 13:54:18.908 [debug] QUERY OK source="media_items" db=1.9ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 02:54:11Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e041599 - Blooming Martini with Homemade Sake Vermouth | Japanese Story.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e041599 - Blooming Martini with Homemade Sake Vermouth | Japanese Story.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e041599 - Blooming Martini with Homemade Sake Vermouth | Japanese Story.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e041599 - Blooming Martini with Homemade Sake Vermouth | Japanese Story.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e041599 - Blooming Martini with Homemade Sake Vermouth | Japanese Story.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e041599 - Blooming Martini with Homemade Sake Vermouth | Japanese Story-thumb.jpg", ~U[2026-03-28 02:54:18Z], 3668] 13:54:18.920 [debug] QUERY OK source="media_metadata" db=11.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/3668/metadata.json.gz", "/config/metadata/media_items/3668/thumbnail.jpg", 3668, ~U[2026-03-28 02:54:18Z], ~U[2026-03-28 02:54:18Z]] 13:54:18.921 [debug] QUERY OK db=1.0ms commit [] 13:54:18.930 [debug] QUERY OK source="media_items" db=5.7ms idle=1508.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [96868762, ~U[2026-03-28 02:54:18Z], 3668] 13:54:18.930 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:54:18.932 [info] {"args":{"id":3668},"id":668,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":179366413,"event":"job:stop","queue_time":81468562090,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:54:18.953 [info] {"args":{"id":3672},"id":669,"meta":{},"system_time":1774666458953184104,"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"]} 13:54:18.968 [debug] QUERY OK source="media_items" db=14.2ms queue=0.1ms idle=537.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" = ?) [3672] 13:54:18.969 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:54:18.971 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=48.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" = ?) [4] 13:54:18.972 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=41.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] 13:54:18.974 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=40.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 [3672] 13:54:18.977 [debug] QUERY OK source="media_metadata" db=0.4ms idle=23.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" = ?) [3672] 13:54:18.978 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=8.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] 13:54:18.979 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:54:18.979 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=6.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 [] 13:54:18.981 [debug] Running yt-dlp command for action: get_downloadable_status 13:54:18.984 [debug] QUERY OK source="settings" db=0.7ms 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 [] 13:54:18.984 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 13:54:18.985 [debug] QUERY OK source="settings" db=0.2ms queue=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 [] 13:54:18.986 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hMv7jdh-3ws --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/67/39/6739798e512b325740102b27b669056f2b62749ee8cb18ed716020b42f0610aa.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:54:19.590 [info] GET /.well-known/acme-challenge/O3Bha56GPc34cLu6IVCUQeuCFEDxJhQFT6JF4cVxWIg 13:54:19.592 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=610.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 [] 13:54:19.593 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms idle=608.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 [] 13:54:19.594 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:54:19.595 [error] #PID<0.4335.0> running PinchflatWeb.Endpoint (connection #PID<0.4334.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/O3Bha56GPc34cLu6IVCUQeuCFEDxJhQFT6JF4cVxWIg ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/O3Bha56GPc34cLu6IVCUQeuCFEDxJhQFT6JF4cVxWIg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4334.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/O3Bha56GPc34cLu6IVCUQeuCFEDxJhQFT6JF4cVxWIg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 37376}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/O3Bha56GPc34cLu6IVCUQeuCFEDxJhQFT6JF4cVxWIg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4335.0>, params: %{}, path_info: [".well-known", "acme-challenge", "O3Bha56GPc34cLu6IVCUQeuCFEDxJhQFT6JF4cVxWIg"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/O3Bha56GPc34cLu6IVCUQeuCFEDxJhQFT6JF4cVxWIg"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.107"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/O3Bha56GPc34cLu6IVCUQeuCFEDxJhQFT6JF4cVxWIg", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhvg6sReyHHb4AANLB"} ], 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.4334.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/O3Bha56GPc34cLu6IVCUQeuCFEDxJhQFT6JF4cVxWIg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 37376}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/O3Bha56GPc34cLu6IVCUQeuCFEDxJhQFT6JF4cVxWIg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/O3Bha56GPc34cLu6IVCUQeuCFEDxJhQFT6JF4cVxWIg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4334.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/O3Bha56GPc34cLu6IVCUQeuCFEDxJhQFT6JF4cVxWIg", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 37376}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/O3Bha56GPc34cLu6IVCUQeuCFEDxJhQFT6JF4cVxWIg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.107", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4335.0>, params: %{}, path_info: [".well-known", "acme-challenge", "O3Bha56GPc34cLu6IVCUQeuCFEDxJhQFT6JF4cVxWIg"], 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://pinchflat.f (truncated) 13:54:19.693 [info] GET /.well-known/acme-challenge/1BjIsn1bu338c-N5vWqgR2DlHKbNi8Z9JU-8GUbDxTQ 13:54:19.694 [debug] QUERY OK source="settings" db=0.5ms idle=708.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 [] 13:54:19.695 [debug] QUERY OK source="settings" db=0.5ms idle=708.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 [] 13:54:19.695 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:54:19.696 [error] #PID<0.4337.0> running PinchflatWeb.Endpoint (connection #PID<0.4336.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/1BjIsn1bu338c-N5vWqgR2DlHKbNi8Z9JU-8GUbDxTQ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/1BjIsn1bu338c-N5vWqgR2DlHKbNi8Z9JU-8GUbDxTQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4336.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/1BjIsn1bu338c-N5vWqgR2DlHKbNi8Z9JU-8GUbDxTQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37388}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/1BjIsn1bu338c-N5vWqgR2DlHKbNi8Z9JU-8GUbDxTQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.104", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4337.0>, params: %{}, path_info: [".well-known", "acme-challenge", "1BjIsn1bu338c-N5vWqgR2DlHKbNi8Z9JU-8GUbDxTQ"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/1BjIsn1bu338c-N5vWqgR2DlHKbNi8Z9JU-8GUbDxTQ"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.104"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/1BjIsn1bu338c-N5vWqgR2DlHKbNi8Z9JU-8GUbDxTQ", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhvhTPyY21UMkAANLh"} ], 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.4336.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/1BjIsn1bu338c-N5vWqgR2DlHKbNi8Z9JU-8GUbDxTQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37388}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/1BjIsn1bu338c-N5vWqgR2DlHKbNi8Z9JU-8GUbDxTQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.104", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/1BjIsn1bu338c-N5vWqgR2DlHKbNi8Z9JU-8GUbDxTQ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4336.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/1BjIsn1bu338c-N5vWqgR2DlHKbNi8Z9JU-8GUbDxTQ", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37388}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/1BjIsn1bu338c-N5vWqgR2DlHKbNi8Z9JU-8GUbDxTQ", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.104", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4337.0>, params: %{}, path_info: [".well-known", "acme-challenge", "1BjIsn1bu338c-N5vWqgR2DlHKbNi8Z9JU-8GUbDxTQ"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWe (truncated) 13:54:20.695 [info] GET /.well-known/acme-challenge/roNgYPsR6wsQ8jIm8InEHOqEGEgPI9lqNlI-a9BkVdc 13:54:20.697 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1103.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 [] 13:54:20.697 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1103.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 [] 13:54:20.697 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:54:20.698 [error] #PID<0.4338.0> running PinchflatWeb.Endpoint (connection #PID<0.4336.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/roNgYPsR6wsQ8jIm8InEHOqEGEgPI9lqNlI-a9BkVdc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/roNgYPsR6wsQ8jIm8InEHOqEGEgPI9lqNlI-a9BkVdc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4336.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/roNgYPsR6wsQ8jIm8InEHOqEGEgPI9lqNlI-a9BkVdc", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37388}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/roNgYPsR6wsQ8jIm8InEHOqEGEgPI9lqNlI-a9BkVdc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.104", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4338.0>, params: %{}, path_info: [".well-known", "acme-challenge", "roNgYPsR6wsQ8jIm8InEHOqEGEgPI9lqNlI-a9BkVdc"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/roNgYPsR6wsQ8jIm8InEHOqEGEgPI9lqNlI-a9BkVdc"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.104"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/roNgYPsR6wsQ8jIm8InEHOqEGEgPI9lqNlI-a9BkVdc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhvlCMRis7_ToAANMB"} ], 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.4336.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/roNgYPsR6wsQ8jIm8InEHOqEGEgPI9lqNlI-a9BkVdc", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37388}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/roNgYPsR6wsQ8jIm8InEHOqEGEgPI9lqNlI-a9BkVdc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.104", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/roNgYPsR6wsQ8jIm8InEHOqEGEgPI9lqNlI-a9BkVdc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4336.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/roNgYPsR6wsQ8jIm8InEHOqEGEgPI9lqNlI-a9BkVdc", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37388}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/roNgYPsR6wsQ8jIm8InEHOqEGEgPI9lqNlI-a9BkVdc", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.104", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4338.0>, params: %{}, path_info: [".well-known", "acme-challenge", "roNgYPsR6wsQ8jIm8InEHOqEGEgPI9lqNlI-a9BkVdc"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWe (truncated) 13:54:21.388 [info] GET /.well-known/acme-challenge/iYZUAg38HjpPwRfJlNISUn_8jnSV0abOZieIEQwBBpM 13:54:21.390 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms 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 [] 13:54:21.390 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1118.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 [] 13:54:21.391 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:54:21.391 [error] #PID<0.4339.0> running PinchflatWeb.Endpoint (connection #PID<0.4334.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/iYZUAg38HjpPwRfJlNISUn_8jnSV0abOZieIEQwBBpM ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/iYZUAg38HjpPwRfJlNISUn_8jnSV0abOZieIEQwBBpM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4334.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/iYZUAg38HjpPwRfJlNISUn_8jnSV0abOZieIEQwBBpM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 37376}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/iYZUAg38HjpPwRfJlNISUn_8jnSV0abOZieIEQwBBpM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4339.0>, params: %{}, path_info: [".well-known", "acme-challenge", "iYZUAg38HjpPwRfJlNISUn_8jnSV0abOZieIEQwBBpM"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/iYZUAg38HjpPwRfJlNISUn_8jnSV0abOZieIEQwBBpM"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.210"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/iYZUAg38HjpPwRfJlNISUn_8jnSV0abOZieIEQwBBpM", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhvnnbp6eeQuIAANMh"} ], 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.4334.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/iYZUAg38HjpPwRfJlNISUn_8jnSV0abOZieIEQwBBpM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 37376}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/iYZUAg38HjpPwRfJlNISUn_8jnSV0abOZieIEQwBBpM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/iYZUAg38HjpPwRfJlNISUn_8jnSV0abOZieIEQwBBpM (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4334.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/iYZUAg38HjpPwRfJlNISUn_8jnSV0abOZieIEQwBBpM", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 37376}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/iYZUAg38HjpPwRfJlNISUn_8jnSV0abOZieIEQwBBpM", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.210", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4339.0>, params: %{}, path_info: [".well-known", "acme-challenge", "iYZUAg38HjpPwRfJlNISUn_8jnSV0abOZieIEQwBBpM"], 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://pinchflat.f (truncated) 13:54:21.462 [info] {"source":"oban","duration":3242,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:22.096 [info] GET /.well-known/acme-challenge/Y_5DepUFbHLou9IACYZiPh1LPXsb-0bJbXATeDDB7bs 13:54:22.098 [debug] QUERY OK source="settings" db=0.8ms idle=1399.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 [] 13:54:22.099 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=822.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 [] 13:54:22.099 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:54:22.100 [error] #PID<0.4340.0> running PinchflatWeb.Endpoint (connection #PID<0.4336.0>, stream id 3) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/Y_5DepUFbHLou9IACYZiPh1LPXsb-0bJbXATeDDB7bs ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Y_5DepUFbHLou9IACYZiPh1LPXsb-0bJbXATeDDB7bs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4336.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Y_5DepUFbHLou9IACYZiPh1LPXsb-0bJbXATeDDB7bs", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37388}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Y_5DepUFbHLou9IACYZiPh1LPXsb-0bJbXATeDDB7bs", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.104", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4340.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Y_5DepUFbHLou9IACYZiPh1LPXsb-0bJbXATeDDB7bs"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/Y_5DepUFbHLou9IACYZiPh1LPXsb-0bJbXATeDDB7bs"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "23.178.112.104"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/Y_5DepUFbHLou9IACYZiPh1LPXsb-0bJbXATeDDB7bs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhvqQWC6rZPBEAANNB"} ], 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.4336.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Y_5DepUFbHLou9IACYZiPh1LPXsb-0bJbXATeDDB7bs", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37388}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Y_5DepUFbHLou9IACYZiPh1LPXsb-0bJbXATeDDB7bs", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.104", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/Y_5DepUFbHLou9IACYZiPh1LPXsb-0bJbXATeDDB7bs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4336.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/Y_5DepUFbHLou9IACYZiPh1LPXsb-0bJbXATeDDB7bs", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37388}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/Y_5DepUFbHLou9IACYZiPh1LPXsb-0bJbXATeDDB7bs", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "23.178.112.104", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4340.0>, params: %{}, path_info: [".well-known", "acme-challenge", "Y_5DepUFbHLou9IACYZiPh1LPXsb-0bJbXATeDDB7bs"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWe (truncated) 13:54:23.083 [info] GET / 13:54:23.083 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:54:23.084 [debug] QUERY OK source="settings" db=0.4ms idle=1621.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 [] 13:54:23.085 [debug] QUERY OK source="media_profiles" db=0.2ms idle=986.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:54:23.085 [debug] QUERY OK source="sources" db=0.3ms idle=986.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:54:23.112 [debug] QUERY OK source="media_items" db=26.1ms idle=803.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:54:23.120 [debug] QUERY OK source="media_items" db=7.7ms queue=0.2ms idle=696.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:54:23.122 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=36.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 [] 13:54:23.123 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=37.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 [] 13:54:23.124 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=38.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 [] 13:54:23.130 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=14.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 (NOT (m0."media_filepath" IS NULL)) [] 13:54:23.132 [debug] QUERY OK source="media_items" db=0.7ms queue=0.2ms idle=10.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:54:23.133 [debug] QUERY OK source="sources" db=0.4ms queue=0.2ms idle=11.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" IN (?,?)) [2, 6] 13:54:23.195 [debug] QUERY OK source="media_items" db=54.8ms idle=17.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 (((((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"))) [] 13:54:23.255 [debug] QUERY OK source="media_items" db=59.2ms queue=0.1ms idle=71.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:54:23.257 [debug] QUERY OK source="sources" db=0.6ms idle=126.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] 13:54:23.264 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=131.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:54:23.266 [debug] QUERY OK source="media_items" db=0.5ms idle=131.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3662, 3672] 13:54:23.270 [info] Sent 200 in 187ms 13:54:25.313 [info] {"args":{"id":6},"id":1717,"meta":{},"system_time":1774666465313476582,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:54:25.316 [debug] QUERY OK source="sources" db=2.0ms idle=897.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] 13:54:25.317 [debug] QUERY OK source="settings" db=0.7ms idle=900.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 [] 13:54:25.338 [debug] QUERY OK source="media_profiles" db=20.2ms queue=0.1ms idle=901.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] 13:54:25.346 [debug] QUERY OK source="settings" db=7.1ms queue=0.2ms idle=45.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 [] 13:54:25.346 [debug] Fetching recent media IDs from YouTube API for playlist: UUOzMAa6IhV6uwYQATYG_2kg 13:54:25.352 [debug] QUERY OK source="settings" db=3.9ms queue=1.9ms idle=33.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 [] 13:54:25.354 [debug] Using YouTube API key: AIzaSyCthCIwqYIV7i9dIZ9H05uf2byx_olu9Ew 13:54:26.722 [debug] QUERY OK source="media_items" db=2.9ms idle=423.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6, "dnia-38h1GA", "iZaN9NRWc28", "CJrLdBStrzc", "u-eoT-Foth8", "XHineC0YKjs", "VdlejwGkNoI", "ikIigkz2pMg", "qUdPPQ9-9Tg", "k9fuSOPjSXM", "hb-oXWK9r7k", "hDfrtCQmNOo", "zRIUM4OhyWU", "W7c0iVM4P2I", "KCFDp_kxT_4", "aZhuGRngq-g", "BgWbezF2M28", "ZJfHw71KKsk", "MisOg5bX0a4", "2UampQ_86ek", "7-iImzOel-s", "O8E47Ib_RoU", "RcVBMZd2_u8", "b-DHev8Uc6I", "0apH8xkS6PE", "I8m3hyPVsxA", "urqkKHRaT-8", "shyrhINSaPk", "Ze3bKcLbPWg", "ydk9KfgHUPo", "sFlgR1oiUXk", "jCieQsNXdBM", "Nz4uVkNMKdI", "tyX3PvjLSC8", "VeDDo4HhNVo", "2RmXPeBn3x0", "1sA4iEo0x1o", "KqAYebG_Bs0", "FelCut8wQ3o", "wY5Xb_t79SM", "-YqD-IWgaz8", "BdV0pSziReE", "u5VKDy7Dgj8", "hn89XxHJLQ0", "wE60s-NuU6c", "LBwtYK3W-vw", "FGpCwqNklsw", "79hW_qeneEY", "aNpJxLXZATY", "9JhGit6JRw0", ...] 13:54:26.725 [debug] QUERY OK source="settings" db=0.6ms idle=308.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 [] 13:54:26.726 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=309.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 [] 13:54:26.726 [debug] Running yt-dlp command for action: get_media_attributes 13:54:26.731 [debug] QUERY OK source="settings" db=0.7ms idle=313.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 [] 13:54:26.732 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=315.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 [] 13:54:26.733 [debug] QUERY OK source="settings" db=0.5ms queue=0.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 [] 13:54:26.733 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/39/b9/39b97ac6d43a8978c36786d04d2eab433540dc3aad2fed9bf0b8ee4d1c2c533b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:54:27.662 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hMv7jdh-3ws --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/67/39/6739798e512b325740102b27b669056f2b62749ee8cb18ed716020b42f0610aa.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:54:27.663 [debug] Running yt-dlp command for action: download 13:54:27.664 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=937.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 [] 13:54:27.665 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=933.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 [] 13:54:27.666 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=933.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 [] 13:54:27.667 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hMv7jdh-3ws --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d3/b2/d3b25b4911c99bf7d9b5ffaa1e4db051522bd1572ef78ccbb7ed48da35175472.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:54:29.859 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u-eoT-Foth8 --simulate --skip-download --output /downloads/shows/Novara Media/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/39/b9/39b97ac6d43a8978c36786d04d2eab433540dc3aad2fed9bf0b8ee4d1c2c533b.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days. 13:54:29.859 [error] Error creating media item 'u-eoT-Foth8' from URL: {:error, "ERROR: [youtube] u-eoT-Foth8: This live event will begin in 2 days.\n", 1} 13:54:29.877 [debug] QUERY OK source="media_items" db=16.4ms queue=0.1ms idle=1444.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 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] 13:54:30.073 [debug] QUERY OK source="tasks" db=0.3ms idle=15.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1723, 6, ~U[2026-03-28 02:54:30Z], ~U[2026-03-28 02:54:30Z]] 13:54:30.074 [info] {"args":{"id":6},"id":1717,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":4760280,"event":"job:stop","queue_time":662207,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:54:36.801 [info] GET /.well-known/acme-challenge/W7c4hHe2ZuCIFTbSndui-IO-zTaUKtTekhLw6puXXLI 13:54:36.803 [debug] QUERY OK source="settings" db=1.0ms queue=0.3ms idle=1385.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 [] 13:54:36.805 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms idle=1387.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 [] 13:54:36.806 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:54:36.807 [error] #PID<0.4345.0> running PinchflatWeb.Endpoint (connection #PID<0.4344.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/W7c4hHe2ZuCIFTbSndui-IO-zTaUKtTekhLw6puXXLI ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/W7c4hHe2ZuCIFTbSndui-IO-zTaUKtTekhLw6puXXLI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4344.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/W7c4hHe2ZuCIFTbSndui-IO-zTaUKtTekhLw6puXXLI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41172}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/W7c4hHe2ZuCIFTbSndui-IO-zTaUKtTekhLw6puXXLI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4345.0>, params: %{}, path_info: [".well-known", "acme-challenge", "W7c4hHe2ZuCIFTbSndui-IO-zTaUKtTekhLw6puXXLI"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/W7c4hHe2ZuCIFTbSndui-IO-zTaUKtTekhLw6puXXLI"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/W7c4hHe2ZuCIFTbSndui-IO-zTaUKtTekhLw6puXXLI", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhwhCD2d5DHYAAANvB"} ], 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.4344.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/W7c4hHe2ZuCIFTbSndui-IO-zTaUKtTekhLw6puXXLI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41172}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/W7c4hHe2ZuCIFTbSndui-IO-zTaUKtTekhLw6puXXLI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/W7c4hHe2ZuCIFTbSndui-IO-zTaUKtTekhLw6puXXLI (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4344.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/W7c4hHe2ZuCIFTbSndui-IO-zTaUKtTekhLw6puXXLI", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 41172}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/W7c4hHe2ZuCIFTbSndui-IO-zTaUKtTekhLw6puXXLI", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4345.0>, params: %{}, path_info: [".well-known", "acme-challenge", "W7c4hHe2ZuCIFTbSndui-IO-zTaUKtTekhLw6puXXLI"], 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://pinchflat.f2fv7 (truncated) 13:54:45.370 [info] GET /.well-known/acme-challenge/4-tMXTJ2hH_kLJh-EwQ4zda_8DRg3sf0oa9DVk6Q5FE 13:54:45.371 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1954.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 [] 13:54:45.372 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1020.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 [] 13:54:45.372 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:54:45.373 [error] #PID<0.4347.0> running PinchflatWeb.Endpoint (connection #PID<0.4346.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/4-tMXTJ2hH_kLJh-EwQ4zda_8DRg3sf0oa9DVk6Q5FE ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/4-tMXTJ2hH_kLJh-EwQ4zda_8DRg3sf0oa9DVk6Q5FE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4346.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/4-tMXTJ2hH_kLJh-EwQ4zda_8DRg3sf0oa9DVk6Q5FE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 50196}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/4-tMXTJ2hH_kLJh-EwQ4zda_8DRg3sf0oa9DVk6Q5FE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4347.0>, params: %{}, path_info: [".well-known", "acme-challenge", "4-tMXTJ2hH_kLJh-EwQ4zda_8DRg3sf0oa9DVk6Q5FE"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/4-tMXTJ2hH_kLJh-EwQ4zda_8DRg3sf0oa9DVk6Q5FE"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/4-tMXTJ2hH_kLJh-EwQ4zda_8DRg3sf0oa9DVk6Q5FE", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhxA9MLAaurFwAANvh"} ], 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.4346.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/4-tMXTJ2hH_kLJh-EwQ4zda_8DRg3sf0oa9DVk6Q5FE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 50196}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/4-tMXTJ2hH_kLJh-EwQ4zda_8DRg3sf0oa9DVk6Q5FE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/4-tMXTJ2hH_kLJh-EwQ4zda_8DRg3sf0oa9DVk6Q5FE (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4346.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/4-tMXTJ2hH_kLJh-EwQ4zda_8DRg3sf0oa9DVk6Q5FE", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 50196}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/4-tMXTJ2hH_kLJh-EwQ4zda_8DRg3sf0oa9DVk6Q5FE", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4347.0>, params: %{}, path_info: [".well-known", "acme-challenge", "4-tMXTJ2hH_kLJh-EwQ4zda_8DRg3sf0oa9DVk6Q5FE"], 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://pinchflat.f2fv7 (truncated) 13:54:51.464 [info] {"source":"oban","duration":1793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:55.492 [info] GET /.well-known/acme-challenge/4bUZ9Q-ERux8kODH2sOtH3LCtkHECuQ9cjY0_MZIiEk 13:54:55.493 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1076.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 [] 13:54:55.494 [debug] QUERY OK source="settings" db=0.2ms queue=0.4ms idle=1077.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 [] 13:54:55.494 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:54:55.495 [error] #PID<0.4351.0> running PinchflatWeb.Endpoint (connection #PID<0.4350.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/4bUZ9Q-ERux8kODH2sOtH3LCtkHECuQ9cjY0_MZIiEk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/4bUZ9Q-ERux8kODH2sOtH3LCtkHECuQ9cjY0_MZIiEk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4350.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/4bUZ9Q-ERux8kODH2sOtH3LCtkHECuQ9cjY0_MZIiEk", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44092}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/4bUZ9Q-ERux8kODH2sOtH3LCtkHECuQ9cjY0_MZIiEk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4351.0>, params: %{}, path_info: [".well-known", "acme-challenge", "4bUZ9Q-ERux8kODH2sOtH3LCtkHECuQ9cjY0_MZIiEk"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/4bUZ9Q-ERux8kODH2sOtH3LCtkHECuQ9cjY0_MZIiEk"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/4bUZ9Q-ERux8kODH2sOtH3LCtkHECuQ9cjY0_MZIiEk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhxmqYmKRFyBAAANwh"} ], 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.4350.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/4bUZ9Q-ERux8kODH2sOtH3LCtkHECuQ9cjY0_MZIiEk", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44092}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/4bUZ9Q-ERux8kODH2sOtH3LCtkHECuQ9cjY0_MZIiEk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/4bUZ9Q-ERux8kODH2sOtH3LCtkHECuQ9cjY0_MZIiEk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4350.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/4bUZ9Q-ERux8kODH2sOtH3LCtkHECuQ9cjY0_MZIiEk", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44092}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/4bUZ9Q-ERux8kODH2sOtH3LCtkHECuQ9cjY0_MZIiEk", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4351.0>, params: %{}, path_info: [".well-known", "acme-challenge", "4bUZ9Q-ERux8kODH2sOtH3LCtkHECuQ9cjY0_MZIiEk"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:54:56.152 [info] GET /.well-known/acme-challenge/DNhz2sdEA6rkfkGO59Cx8CnVkwxjzzpd5kkembmhpTo 13:54:56.153 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1736.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 [] 13:54:56.155 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=768.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 [] 13:54:56.155 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:54:56.156 [error] #PID<0.4352.0> running PinchflatWeb.Endpoint (connection #PID<0.4350.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/DNhz2sdEA6rkfkGO59Cx8CnVkwxjzzpd5kkembmhpTo ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/DNhz2sdEA6rkfkGO59Cx8CnVkwxjzzpd5kkembmhpTo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4350.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/DNhz2sdEA6rkfkGO59Cx8CnVkwxjzzpd5kkembmhpTo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44092}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/DNhz2sdEA6rkfkGO59Cx8CnVkwxjzzpd5kkembmhpTo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4352.0>, params: %{}, path_info: [".well-known", "acme-challenge", "DNhz2sdEA6rkfkGO59Cx8CnVkwxjzzpd5kkembmhpTo"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/DNhz2sdEA6rkfkGO59Cx8CnVkwxjzzpd5kkembmhpTo"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/DNhz2sdEA6rkfkGO59Cx8CnVkwxjzzpd5kkembmhpTo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhxpHz0u9sWhsAAHwD"} ], 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.4350.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/DNhz2sdEA6rkfkGO59Cx8CnVkwxjzzpd5kkembmhpTo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44092}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/DNhz2sdEA6rkfkGO59Cx8CnVkwxjzzpd5kkembmhpTo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/DNhz2sdEA6rkfkGO59Cx8CnVkwxjzzpd5kkembmhpTo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4350.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/DNhz2sdEA6rkfkGO59Cx8CnVkwxjzzpd5kkembmhpTo", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 44092}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/DNhz2sdEA6rkfkGO59Cx8CnVkwxjzzpd5kkembmhpTo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4352.0>, params: %{}, path_info: [".well-known", "acme-challenge", "DNhz2sdEA6rkfkGO59Cx8CnVkwxjzzpd5kkembmhpTo"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:55:00.853 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:55:07.686 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CfwkvUUlrhg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ad/d5/add53128b3e281c2f91181f9b236e7052c40e91e819e45dc8deee4153109b6e4.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:55:07.727 [debug] Running yt-dlp command for action: download_thumbnail 13:55:07.729 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1313.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 [] 13:55:07.730 [debug] QUERY OK source="settings" db=0.1ms idle=1311.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 [] 13:55:07.730 [debug] QUERY OK source="settings" db=0.1ms idle=314.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 [] 13:55:07.730 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CfwkvUUlrhg --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3662/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/5a/82/5a82704c9a447b3abd53ff63cb8fc8aebc0862bf81e1b43bba3068ccd8642ef2.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:55:14.252 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CfwkvUUlrhg --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3662/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/5a/82/5a82704c9a447b3abd53ff63cb8fc8aebc0862bf81e1b43bba3068ccd8642ef2.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:55:14.253 [debug] QUERY OK db=0.1ms idle=836.6ms begin [] 13:55:14.255 [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" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-28 02:55:07Z], "/downloads/shows/Kevin Kos/Season 2022/s2022e042999 - I made a World-Class Old Fashioned Using IKEA Ingredients.mp4", "/downloads/shows/Kevin Kos/Season 2022/s2022e042999 - I made a World-Class Old Fashioned Using IKEA Ingredients.info.json", "/downloads/shows/Kevin Kos/Season 2022/s2022e042999 - I made a World-Class Old Fashioned Using IKEA Ingredients.nfo", "/downloads/shows/Kevin Kos/Season 2022/s2022e042999 - I made a World-Class Old Fashioned Using IKEA Ingredients.mp4", [["en", "/downloads/shows/Kevin Kos/Season 2022/s2022e042999 - I made a World-Class Old Fashioned Using IKEA Ingredients.en.srt"]], "/downloads/shows/Kevin Kos/Season 2022/s2022e042999 - I made a World-Class Old Fashioned Using IKEA Ingredients-thumb.jpg", ~U[2026-03-28 02:55:14Z], 3662] 13:55:14.256 [debug] QUERY OK source="media_metadata" db=1.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/3662/metadata.json.gz", "/config/metadata/media_items/3662/thumbnail.jpg", 3662, ~U[2026-03-28 02:55:14Z], ~U[2026-03-28 02:55:14Z]] 13:55:14.257 [debug] QUERY OK db=0.4ms commit [] 13:55:14.267 [debug] QUERY OK source="media_items" db=2.2ms idle=848.4ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [156014909, ~U[2026-03-28 02:55:14Z], 3662] 13:55:14.267 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:55:14.268 [info] {"args":{"id":3662},"id":666,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":434800898,"event":"job:stop","queue_time":81279448112,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:55:14.277 [info] {"args":{"id":3675},"id":670,"meta":{},"system_time":1774666514276872813,"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"]} 13:55:14.277 [debug] QUERY OK source="media_items" db=0.3ms idle=840.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" = ?) [3675] 13:55:14.278 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:55:14.278 [debug] QUERY OK source="sources" db=0.3ms idle=20.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" = ?) [4] 13:55:14.279 [debug] QUERY OK source="media_profiles" db=0.3ms idle=11.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] 13:55:14.280 [debug] QUERY OK source="media_items" db=0.5ms idle=11.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 [3675] 13:55:14.283 [debug] QUERY OK source="media_metadata" db=0.5ms idle=6.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" = ?) [3675] 13:55:14.285 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.2ms idle=6.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] 13:55:14.286 [debug] QUERY OK source="settings" db=0.2ms queue=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 [] 13:55:14.287 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 13:55:14.289 [debug] Running yt-dlp command for action: get_downloadable_status 13:55:14.290 [debug] QUERY OK source="settings" db=0.2ms idle=9.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 [] 13:55:14.290 [debug] QUERY OK source="settings" db=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 [] 13:55:14.290 [debug] QUERY OK source="settings" db=0.1ms idle=5.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 [] 13:55:14.291 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=s8JLCgN8XYg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2a/fb/2afb318835aad1dceae7ed89b22fc227533847d1a0f0c5d401986a4dbe5d50d5.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:55:16.772 [info] GET /.well-known/acme-challenge/kGB1s4VFxlHetxnAEGM3gt2nAXIQBPqiaoA1XvdcLCA 13:55:16.774 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=1357.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 [] 13:55:16.775 [debug] QUERY OK source="settings" db=0.8ms idle=1358.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 [] 13:55:16.776 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:55:16.776 [error] #PID<0.4361.0> running PinchflatWeb.Endpoint (connection #PID<0.4360.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/kGB1s4VFxlHetxnAEGM3gt2nAXIQBPqiaoA1XvdcLCA ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/kGB1s4VFxlHetxnAEGM3gt2nAXIQBPqiaoA1XvdcLCA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4360.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/kGB1s4VFxlHetxnAEGM3gt2nAXIQBPqiaoA1XvdcLCA", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 50748}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/kGB1s4VFxlHetxnAEGM3gt2nAXIQBPqiaoA1XvdcLCA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4361.0>, params: %{}, path_info: [".well-known", "acme-challenge", "kGB1s4VFxlHetxnAEGM3gt2nAXIQBPqiaoA1XvdcLCA"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/kGB1s4VFxlHetxnAEGM3gt2nAXIQBPqiaoA1XvdcLCA"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/kGB1s4VFxlHetxnAEGM3gt2nAXIQBPqiaoA1XvdcLCA", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhy18DzAtPAXcAANxB"} ], 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.4360.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/kGB1s4VFxlHetxnAEGM3gt2nAXIQBPqiaoA1XvdcLCA", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 50748}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/kGB1s4VFxlHetxnAEGM3gt2nAXIQBPqiaoA1XvdcLCA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/kGB1s4VFxlHetxnAEGM3gt2nAXIQBPqiaoA1XvdcLCA (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4360.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/kGB1s4VFxlHetxnAEGM3gt2nAXIQBPqiaoA1XvdcLCA", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 50748}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/kGB1s4VFxlHetxnAEGM3gt2nAXIQBPqiaoA1XvdcLCA", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4361.0>, params: %{}, path_info: [".well-known", "acme-challenge", "kGB1s4VFxlHetxnAEGM3gt2nAXIQBPqiaoA1XvdcLCA"], 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://pinchflat.f2fv7 (truncated) 13:55:21.468 [info] {"source":"oban","duration":2356,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:22.366 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=s8JLCgN8XYg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2a/fb/2afb318835aad1dceae7ed89b22fc227533847d1a0f0c5d401986a4dbe5d50d5.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:55:22.367 [debug] Running yt-dlp command for action: download 13:55:22.368 [debug] QUERY OK source="settings" db=0.3ms idle=1902.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 [] 13:55:22.368 [debug] QUERY OK source="settings" db=0.1ms idle=950.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 [] 13:55:22.368 [debug] QUERY OK source="settings" db=0.2ms idle=951.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 [] 13:55:22.369 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=s8JLCgN8XYg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(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/shows/Kevin Kos/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/cd/8e/cd8ec47562093786e8deea236da5d285095b6ed84d64ec845c1241422c5bee38.json --limit-rate 1M --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:55:23.470 [info] GET / 13:55:23.471 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:55:23.471 [debug] QUERY OK source="settings" db=0.5ms idle=997.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 [] 13:55:23.472 [debug] QUERY OK source="media_profiles" db=0.3ms idle=54.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:55:23.472 [debug] QUERY OK source="sources" db=0.1ms idle=55.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:55:23.524 [debug] QUERY OK source="media_items" db=51.4ms idle=55.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:55:23.532 [debug] QUERY OK source="media_items" db=7.0ms queue=0.1ms idle=53.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:55:23.533 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=60.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 [] 13:55:23.534 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=60.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 [] 13:55:23.535 [debug] QUERY OK source="settings" db=0.4ms idle=58.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 [] 13:55:23.544 [debug] QUERY OK source="media_items" db=7.4ms 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 (NOT (m0."media_filepath" IS NULL)) [] 13:55:23.547 [debug] QUERY OK source="media_items" db=1.5ms queue=0.2ms idle=13.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:55:23.549 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms 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" IN (?,?)) [2, 6] 13:55:23.633 [debug] QUERY OK source="media_items" db=78.4ms idle=20.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 (((((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"))) [] 13:55:23.694 [debug] QUERY OK source="media_items" db=59.3ms queue=0.3ms idle=98.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:55:23.695 [debug] QUERY OK source="sources" db=0.4ms idle=149.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] 13:55:23.700 [debug] QUERY OK source="tasks" db=0.5ms idle=152.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:55:23.701 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=152.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3672, 3675] 13:55:23.705 [info] Sent 200 in 234ms 13:55:24.651 [info] GET /.well-known/acme-challenge/TgVrOaHGwJ7ONjA1JjkM1qP4Vp7xKaXYqLSraGKH3Ls 13:55:24.652 [debug] QUERY OK source="settings" db=0.6ms idle=957.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 [] 13:55:24.652 [debug] QUERY OK source="settings" db=0.3ms idle=957.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 [] 13:55:24.653 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:55:24.653 [error] #PID<0.4368.0> running PinchflatWeb.Endpoint (connection #PID<0.4367.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/TgVrOaHGwJ7ONjA1JjkM1qP4Vp7xKaXYqLSraGKH3Ls ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/TgVrOaHGwJ7ONjA1JjkM1qP4Vp7xKaXYqLSraGKH3Ls (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4367.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/TgVrOaHGwJ7ONjA1JjkM1qP4Vp7xKaXYqLSraGKH3Ls", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51754}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/TgVrOaHGwJ7ONjA1JjkM1qP4Vp7xKaXYqLSraGKH3Ls", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4368.0>, params: %{}, path_info: [".well-known", "acme-challenge", "TgVrOaHGwJ7ONjA1JjkM1qP4Vp7xKaXYqLSraGKH3Ls"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/TgVrOaHGwJ7ONjA1JjkM1qP4Vp7xKaXYqLSraGKH3Ls"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/TgVrOaHGwJ7ONjA1JjkM1qP4Vp7xKaXYqLSraGKH3Ls", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhzTSYh5pLLwgAAN0B"} ], 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.4367.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/TgVrOaHGwJ7ONjA1JjkM1qP4Vp7xKaXYqLSraGKH3Ls", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51754}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/TgVrOaHGwJ7ONjA1JjkM1qP4Vp7xKaXYqLSraGKH3Ls", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/TgVrOaHGwJ7ONjA1JjkM1qP4Vp7xKaXYqLSraGKH3Ls (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4367.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/TgVrOaHGwJ7ONjA1JjkM1qP4Vp7xKaXYqLSraGKH3Ls", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51754}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/TgVrOaHGwJ7ONjA1JjkM1qP4Vp7xKaXYqLSraGKH3Ls", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4368.0>, params: %{}, path_info: [".well-known", "acme-challenge", "TgVrOaHGwJ7ONjA1JjkM1qP4Vp7xKaXYqLSraGKH3Ls"], 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://pinchflat.f2fv7 (truncated) 13:55:24.842 [info] GET /.well-known/acme-challenge/L7Ng0hiUJYnn5c8iVhLqwuUpsAdV47R3tns9F5Gqf_A 13:55:24.844 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1142.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 [] 13:55:24.844 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1142.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 [] 13:55:24.845 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:55:24.846 [error] #PID<0.4369.0> running PinchflatWeb.Endpoint (connection #PID<0.4365.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/L7Ng0hiUJYnn5c8iVhLqwuUpsAdV47R3tns9F5Gqf_A ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/L7Ng0hiUJYnn5c8iVhLqwuUpsAdV47R3tns9F5Gqf_A (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4365.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/L7Ng0hiUJYnn5c8iVhLqwuUpsAdV47R3tns9F5Gqf_A", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50752}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/L7Ng0hiUJYnn5c8iVhLqwuUpsAdV47R3tns9F5Gqf_A", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4369.0>, params: %{}, path_info: [".well-known", "acme-challenge", "L7Ng0hiUJYnn5c8iVhLqwuUpsAdV47R3tns9F5Gqf_A"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/L7Ng0hiUJYnn5c8iVhLqwuUpsAdV47R3tns9F5Gqf_A"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/L7Ng0hiUJYnn5c8iVhLqwuUpsAdV47R3tns9F5Gqf_A", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhzUAHiRXNQskAAN0h"} ], 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.4365.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/L7Ng0hiUJYnn5c8iVhLqwuUpsAdV47R3tns9F5Gqf_A", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50752}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/L7Ng0hiUJYnn5c8iVhLqwuUpsAdV47R3tns9F5Gqf_A", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/L7Ng0hiUJYnn5c8iVhLqwuUpsAdV47R3tns9F5Gqf_A (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4365.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/L7Ng0hiUJYnn5c8iVhLqwuUpsAdV47R3tns9F5Gqf_A", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50752}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/L7Ng0hiUJYnn5c8iVhLqwuUpsAdV47R3tns9F5Gqf_A", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4369.0>, params: %{}, path_info: [".well-known", "acme-challenge", "L7Ng0hiUJYnn5c8iVhLqwuUpsAdV47R3tns9F5Gqf_A"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:55:26.225 [info] GET /.well-known/acme-challenge/ouEuE_9AWD9zyL_4AntJVp4C7DRYLPMN_FKSSb0O64w 13:55:26.226 [debug] QUERY OK source="settings" db=0.7ms idle=1573.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 [] 13:55:26.227 [debug] QUERY OK source="settings" db=0.7ms idle=1573.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 [] 13:55:26.227 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:55:26.228 [error] #PID<0.4370.0> running PinchflatWeb.Endpoint (connection #PID<0.4367.0>, stream id 2) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/ouEuE_9AWD9zyL_4AntJVp4C7DRYLPMN_FKSSb0O64w ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ouEuE_9AWD9zyL_4AntJVp4C7DRYLPMN_FKSSb0O64w (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4367.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ouEuE_9AWD9zyL_4AntJVp4C7DRYLPMN_FKSSb0O64w", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51754}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ouEuE_9AWD9zyL_4AntJVp4C7DRYLPMN_FKSSb0O64w", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4370.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ouEuE_9AWD9zyL_4AntJVp4C7DRYLPMN_FKSSb0O64w"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ouEuE_9AWD9zyL_4AntJVp4C7DRYLPMN_FKSSb0O64w"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/ouEuE_9AWD9zyL_4AntJVp4C7DRYLPMN_FKSSb0O64w", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhzZJt7Q0LDeEAAHzD"} ], 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.4367.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ouEuE_9AWD9zyL_4AntJVp4C7DRYLPMN_FKSSb0O64w", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51754}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ouEuE_9AWD9zyL_4AntJVp4C7DRYLPMN_FKSSb0O64w", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/ouEuE_9AWD9zyL_4AntJVp4C7DRYLPMN_FKSSb0O64w (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4367.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/ouEuE_9AWD9zyL_4AntJVp4C7DRYLPMN_FKSSb0O64w", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 51754}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/ouEuE_9AWD9zyL_4AntJVp4C7DRYLPMN_FKSSb0O64w", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4370.0>, params: %{}, path_info: [".well-known", "acme-challenge", "ouEuE_9AWD9zyL_4AntJVp4C7DRYLPMN_FKSSb0O64w"], 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://pinchflat.f2fv7 (truncated) 13:55:26.579 [info] GET /.well-known/acme-challenge/2wPfhyEUm4nigQiFGz8fMqHHqcT-Ma7uwGsOnV8oze4 13:55:26.580 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=353.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 [] 13:55:26.581 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 13:55:26.582 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:55:26.583 [error] #PID<0.4371.0> running PinchflatWeb.Endpoint (connection #PID<0.4365.0>, stream id 3) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/2wPfhyEUm4nigQiFGz8fMqHHqcT-Ma7uwGsOnV8oze4 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/2wPfhyEUm4nigQiFGz8fMqHHqcT-Ma7uwGsOnV8oze4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4365.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/2wPfhyEUm4nigQiFGz8fMqHHqcT-Ma7uwGsOnV8oze4", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50752}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/2wPfhyEUm4nigQiFGz8fMqHHqcT-Ma7uwGsOnV8oze4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4371.0>, params: %{}, path_info: [".well-known", "acme-challenge", "2wPfhyEUm4nigQiFGz8fMqHHqcT-Ma7uwGsOnV8oze4"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/2wPfhyEUm4nigQiFGz8fMqHHqcT-Ma7uwGsOnV8oze4"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/2wPfhyEUm4nigQiFGz8fMqHHqcT-Ma7uwGsOnV8oze4", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhzaeF-q3EFGUAAN1B"} ], 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.4365.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/2wPfhyEUm4nigQiFGz8fMqHHqcT-Ma7uwGsOnV8oze4", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50752}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/2wPfhyEUm4nigQiFGz8fMqHHqcT-Ma7uwGsOnV8oze4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/2wPfhyEUm4nigQiFGz8fMqHHqcT-Ma7uwGsOnV8oze4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4365.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/2wPfhyEUm4nigQiFGz8fMqHHqcT-Ma7uwGsOnV8oze4", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50752}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/2wPfhyEUm4nigQiFGz8fMqHHqcT-Ma7uwGsOnV8oze4", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4371.0>, params: %{}, path_info: [".well-known", "acme-challenge", "2wPfhyEUm4nigQiFGz8fMqHHqcT-Ma7uwGsOnV8oze4"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:55:26.868 [info] GET /.well-known/acme-challenge/MKKDO4sD-hOPFgtV0QTgp03mxr88wxWr1BUmC69C-20 13:55:26.870 [debug] QUERY OK source="settings" db=0.7ms queue=0.3ms idle=452.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 [] 13:55:26.871 [debug] QUERY OK source="settings" db=0.4ms idle=453.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 [] 13:55:26.871 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:55:26.872 [error] #PID<0.4372.0> running PinchflatWeb.Endpoint (connection #PID<0.4365.0>, stream id 4) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/MKKDO4sD-hOPFgtV0QTgp03mxr88wxWr1BUmC69C-20 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/MKKDO4sD-hOPFgtV0QTgp03mxr88wxWr1BUmC69C-20 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4365.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/MKKDO4sD-hOPFgtV0QTgp03mxr88wxWr1BUmC69C-20", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50752}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/MKKDO4sD-hOPFgtV0QTgp03mxr88wxWr1BUmC69C-20", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4372.0>, params: %{}, path_info: [".well-known", "acme-challenge", "MKKDO4sD-hOPFgtV0QTgp03mxr88wxWr1BUmC69C-20"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/MKKDO4sD-hOPFgtV0QTgp03mxr88wxWr1BUmC69C-20"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/MKKDO4sD-hOPFgtV0QTgp03mxr88wxWr1BUmC69C-20", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDhzbjGKpOVDW4AAN1h"} ], 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.4365.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/MKKDO4sD-hOPFgtV0QTgp03mxr88wxWr1BUmC69C-20", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50752}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/MKKDO4sD-hOPFgtV0QTgp03mxr88wxWr1BUmC69C-20", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/MKKDO4sD-hOPFgtV0QTgp03mxr88wxWr1BUmC69C-20 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4365.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/MKKDO4sD-hOPFgtV0QTgp03mxr88wxWr1BUmC69C-20", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 50752}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/MKKDO4sD-hOPFgtV0QTgp03mxr88wxWr1BUmC69C-20", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4372.0>, params: %{}, path_info: [".well-known", "acme-challenge", "MKKDO4sD-hOPFgtV0QTgp03mxr88wxWr1BUmC69C-20"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:55:51.471 [info] {"source":"oban","duration":2339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:00.854 [info] {"source":"oban","duration":455,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:56:21.475 [info] {"source":"oban","duration":2881,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:23.899 [info] GET / 13:56:23.899 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:56:23.900 [debug] QUERY OK source="settings" db=0.6ms idle=1482.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 [] 13:56:23.901 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1483.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:56:23.901 [debug] QUERY OK source="sources" db=0.2ms idle=1199.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:56:23.920 [debug] QUERY OK source="media_items" db=18.7ms idle=484.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:56:23.934 [debug] QUERY OK source="media_items" db=12.9ms idle=216.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:56:23.935 [debug] QUERY OK source="settings" db=0.6ms idle=33.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 [] 13:56:23.936 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=34.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 [] 13:56:23.937 [debug] QUERY OK source="settings" db=0.3ms idle=34.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 [] 13:56:23.945 [debug] QUERY OK source="media_items" db=7.3ms idle=17.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 (NOT (m0."media_filepath" IS NULL)) [] 13:56:23.947 [debug] QUERY OK source="media_items" db=1.8ms idle=11.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:56:23.948 [debug] QUERY OK source="sources" db=0.9ms idle=12.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" IN (?,?)) [2, 6] 13:56:24.064 [debug] QUERY OK source="media_items" db=112.2ms idle=16.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 (((((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"))) [] 13:56:24.080 [debug] QUERY OK source="media_items" db=14.6ms idle=128.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:56:24.081 [debug] QUERY OK source="sources" db=0.6ms idle=135.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] 13:56:24.084 [debug] QUERY OK source="tasks" db=0.5ms idle=136.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:56:24.085 [debug] QUERY OK source="media_items" db=0.7ms idle=135.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3672, 3675] 13:56:24.086 [info] Sent 200 in 187ms 13:56:35.886 [info] GET /sources/24/media/39287 13:56:35.887 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "39287", "prevent_download" => "true", "source_id" => "24"} Pipelines: [:browser] 13:56:35.888 [debug] QUERY OK source="media_items" db=0.7ms idle=470.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" = ?) [39287] 13:56:35.890 [debug] QUERY OK source="settings" db=0.3ms idle=472.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 [] 13:56:35.891 [debug] QUERY OK source="settings" db=0.4ms idle=473.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 [] 13:56:35.892 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=475.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 [] 13:56:35.895 [info] Sent 404 in 8ms 13:56:35.896 [debug] Converted error Ecto.NoResultsError to 404 response 13:56:41.522 [info] GET /.well-known/acme-challenge/E1X5xDBON3kOYLi201e-gfx_ze7E_AFfI3-d-QsJNDo 13:56:41.524 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=756.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 [] 13:56:41.525 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=107.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 [] 13:56:41.526 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:56:41.527 [error] #PID<0.4382.0> running PinchflatWeb.Endpoint (connection #PID<0.4381.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/E1X5xDBON3kOYLi201e-gfx_ze7E_AFfI3-d-QsJNDo ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/E1X5xDBON3kOYLi201e-gfx_ze7E_AFfI3-d-QsJNDo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4381.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/E1X5xDBON3kOYLi201e-gfx_ze7E_AFfI3-d-QsJNDo", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 57206}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/E1X5xDBON3kOYLi201e-gfx_ze7E_AFfI3-d-QsJNDo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4382.0>, params: %{}, path_info: [".well-known", "acme-challenge", "E1X5xDBON3kOYLi201e-gfx_ze7E_AFfI3-d-QsJNDo"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/E1X5xDBON3kOYLi201e-gfx_ze7E_AFfI3-d-QsJNDo"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/E1X5xDBON3kOYLi201e-gfx_ze7E_AFfI3-d-QsJNDo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDh3xqE0Teq8oEAAN8h"} ], 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.4381.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/E1X5xDBON3kOYLi201e-gfx_ze7E_AFfI3-d-QsJNDo", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 57206}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/E1X5xDBON3kOYLi201e-gfx_ze7E_AFfI3-d-QsJNDo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/E1X5xDBON3kOYLi201e-gfx_ze7E_AFfI3-d-QsJNDo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4381.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/E1X5xDBON3kOYLi201e-gfx_ze7E_AFfI3-d-QsJNDo", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 57206}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/E1X5xDBON3kOYLi201e-gfx_ze7E_AFfI3-d-QsJNDo", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4382.0>, params: %{}, path_info: [".well-known", "acme-challenge", "E1X5xDBON3kOYLi201e-gfx_ze7E_AFfI3-d-QsJNDo"], 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://pinchflat.f2fv7 (truncated) 13:56:49.923 [info] GET /.well-known/acme-challenge/pL1d3dZFp79Ef_jFp2aeaqXltniSpX4jIapWEPwjTtw 13:56:49.925 [debug] QUERY OK source="settings" db=0.8ms idle=506.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 [] 13:56:49.926 [debug] QUERY OK source="settings" db=0.3ms idle=507.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 [] 13:56:49.926 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:56:49.926 [error] #PID<0.4386.0> running PinchflatWeb.Endpoint (connection #PID<0.4385.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/pL1d3dZFp79Ef_jFp2aeaqXltniSpX4jIapWEPwjTtw ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/pL1d3dZFp79Ef_jFp2aeaqXltniSpX4jIapWEPwjTtw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4385.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/pL1d3dZFp79Ef_jFp2aeaqXltniSpX4jIapWEPwjTtw", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 36584}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/pL1d3dZFp79Ef_jFp2aeaqXltniSpX4jIapWEPwjTtw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4386.0>, params: %{}, path_info: [".well-known", "acme-challenge", "pL1d3dZFp79Ef_jFp2aeaqXltniSpX4jIapWEPwjTtw"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/pL1d3dZFp79Ef_jFp2aeaqXltniSpX4jIapWEPwjTtw"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/pL1d3dZFp79Ef_jFp2aeaqXltniSpX4jIapWEPwjTtw", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDh4Q9A55vrzfsAAN9h"} ], 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.4385.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/pL1d3dZFp79Ef_jFp2aeaqXltniSpX4jIapWEPwjTtw", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 36584}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/pL1d3dZFp79Ef_jFp2aeaqXltniSpX4jIapWEPwjTtw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/pL1d3dZFp79Ef_jFp2aeaqXltniSpX4jIapWEPwjTtw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4385.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/pL1d3dZFp79Ef_jFp2aeaqXltniSpX4jIapWEPwjTtw", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 36584}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/pL1d3dZFp79Ef_jFp2aeaqXltniSpX4jIapWEPwjTtw", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4386.0>, params: %{}, path_info: [".well-known", "acme-challenge", "pL1d3dZFp79Ef_jFp2aeaqXltniSpX4jIapWEPwjTtw"], 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://pinchflat.f2fv7 (truncated) 13:56:51.478 [info] {"source":"oban","duration":1788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:59.667 [info] GET /.well-known/acme-challenge/TAmrIaRL9VZ0eBKQv0mSXiAmVR9zhPIXOxxArQeJfwg 13:56:59.669 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=834.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 [] 13:56:59.670 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=252.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 [] 13:56:59.670 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:56:59.671 [error] #PID<0.4388.0> running PinchflatWeb.Endpoint (connection #PID<0.4387.0>, stream id 1) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/TAmrIaRL9VZ0eBKQv0mSXiAmVR9zhPIXOxxArQeJfwg ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/TAmrIaRL9VZ0eBKQv0mSXiAmVR9zhPIXOxxArQeJfwg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/TAmrIaRL9VZ0eBKQv0mSXiAmVR9zhPIXOxxArQeJfwg", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57900}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/TAmrIaRL9VZ0eBKQv0mSXiAmVR9zhPIXOxxArQeJfwg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4388.0>, params: %{}, path_info: [".well-known", "acme-challenge", "TAmrIaRL9VZ0eBKQv0mSXiAmVR9zhPIXOxxArQeJfwg"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/TAmrIaRL9VZ0eBKQv0mSXiAmVR9zhPIXOxxArQeJfwg"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/TAmrIaRL9VZ0eBKQv0mSXiAmVR9zhPIXOxxArQeJfwg", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDh41QJeUuar7sAAHzj"} ], 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.4387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/TAmrIaRL9VZ0eBKQv0mSXiAmVR9zhPIXOxxArQeJfwg", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57900}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/TAmrIaRL9VZ0eBKQv0mSXiAmVR9zhPIXOxxArQeJfwg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/TAmrIaRL9VZ0eBKQv0mSXiAmVR9zhPIXOxxArQeJfwg (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/TAmrIaRL9VZ0eBKQv0mSXiAmVR9zhPIXOxxArQeJfwg", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57900}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/TAmrIaRL9VZ0eBKQv0mSXiAmVR9zhPIXOxxArQeJfwg", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4388.0>, params: %{}, path_info: [".well-known", "acme-challenge", "TAmrIaRL9VZ0eBKQv0mSXiAmVR9zhPIXOxxArQeJfwg"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:57:00.399 [info] GET /.well-known/acme-challenge/9djGyBdR_UQIhQoI-lvJUoSC4hL1g4cUtMnGR4-mZ3Y 13:57:00.400 [debug] QUERY OK source="settings" db=0.3ms idle=982.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 [] 13:57:00.401 [debug] QUERY OK source="settings" db=0.2ms idle=983.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 [] 13:57:00.401 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:57:00.401 [error] #PID<0.4389.0> running PinchflatWeb.Endpoint (connection #PID<0.4387.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /.well-known/acme-challenge/9djGyBdR_UQIhQoI-lvJUoSC4hL1g4cUtMnGR4-mZ3Y ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/9djGyBdR_UQIhQoI-lvJUoSC4hL1g4cUtMnGR4-mZ3Y (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/9djGyBdR_UQIhQoI-lvJUoSC4hL1g4cUtMnGR4-mZ3Y", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57900}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/9djGyBdR_UQIhQoI-lvJUoSC4hL1g4cUtMnGR4-mZ3Y", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4389.0>, params: %{}, path_info: [".well-known", "acme-challenge", "9djGyBdR_UQIhQoI-lvJUoSC4hL1g4cUtMnGR4-mZ3Y"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.suranyami.com"}, {"referer", "http://pinchflat.suranyami.com/.well-known/acme-challenge/9djGyBdR_UQIhQoI-lvJUoSC4hL1g4cUtMnGR4-mZ3Y"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/9djGyBdR_UQIhQoI-lvJUoSC4hL1g4cUtMnGR4-mZ3Y", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDh43-rHjH5eeMAAN-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.4387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/9djGyBdR_UQIhQoI-lvJUoSC4hL1g4cUtMnGR4-mZ3Y", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57900}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/9djGyBdR_UQIhQoI-lvJUoSC4hL1g4cUtMnGR4-mZ3Y", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/9djGyBdR_UQIhQoI-lvJUoSC4hL1g4cUtMnGR4-mZ3Y (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/9djGyBdR_UQIhQoI-lvJUoSC4hL1g4cUtMnGR4-mZ3Y", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 57900}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.suranyami.com", "referer" => "http://pinchflat.suranyami.com/.well-known/acme-challenge/9djGyBdR_UQIhQoI-lvJUoSC4hL1g4cUtMnGR4-mZ3Y", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4389.0>, params: %{}, path_info: [".well-known", "acme-challenge", "9djGyBdR_UQIhQoI-lvJUoSC4hL1g4cUtMnGR4-mZ3Y"], 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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Ro (truncated) 13:57:00.855 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:57:20.865 [info] GET /.well-known/acme-challenge/DQX1BPTjuRF35-el-v-G17NPJAvO942DrYVsoRIziSY 13:57:20.867 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=1449.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 [] 13:57:20.868 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1450.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 [] 13:57:20.869 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:57:20.869 [error] #PID<0.4394.0> running PinchflatWeb.Endpoint (connection #PID<0.4393.0>, stream id 1) terminated Server: pinchflat.f2fv7u.uncld.dev:80 (http) Request: GET /.well-known/acme-challenge/DQX1BPTjuRF35-el-v-G17NPJAvO942DrYVsoRIziSY ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/DQX1BPTjuRF35-el-v-G17NPJAvO942DrYVsoRIziSY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4393.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/DQX1BPTjuRF35-el-v-G17NPJAvO942DrYVsoRIziSY", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 54346}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/DQX1BPTjuRF35-el-v-G17NPJAvO942DrYVsoRIziSY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4394.0>, params: %{}, path_info: [".well-known", "acme-challenge", "DQX1BPTjuRF35-el-v-G17NPJAvO942DrYVsoRIziSY"], 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://pinchflat.f2fv7u.uncld.dev", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.f2fv7u.uncld.dev"}, {"referer", "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/DQX1BPTjuRF35-el-v-G17NPJAvO942DrYVsoRIziSY"}, {"user-agent", "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"}, {"via", "1.1 Caddy"}, {"x-forwarded-for", "66.133.109.36"}, {"x-forwarded-host", "pinchflat.f2fv7u.uncld.dev"}, {"x-forwarded-proto", "https"} ], request_path: "/.well-known/acme-challenge/DQX1BPTjuRF35-el-v-G17NPJAvO942DrYVsoRIziSY", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDh6EOEP5DK3sYAAH0D"} ], 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.4393.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/DQX1BPTjuRF35-el-v-G17NPJAvO942DrYVsoRIziSY", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 54346}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/DQX1BPTjuRF35-el-v-G17NPJAvO942DrYVsoRIziSY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/acme-challenge/DQX1BPTjuRF35-el-v-G17NPJAvO942DrYVsoRIziSY (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4393.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/acme-challenge/DQX1BPTjuRF35-el-v-G17NPJAvO942DrYVsoRIziSY", host: "pinchflat.f2fv7u.uncld.dev", peer: {{10, 210, 3, 4}, 54346}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.f2fv7u.uncld.dev", "referer" => "http://pinchflat.f2fv7u.uncld.dev/.well-known/acme-challenge/DQX1BPTjuRF35-el-v-G17NPJAvO942DrYVsoRIziSY", "user-agent" => "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)", "via" => "1.1 Caddy", "x-forwarded-for" => "66.133.109.36", "x-forwarded-host" => "pinchflat.f2fv7u.uncld.dev", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.f2fv7u.uncld.dev", method: "GET", owner: #PID<0.4394.0>, params: %{}, path_info: [".well-known", "acme-challenge", "DQX1BPTjuRF35-el-v-G17NPJAvO942DrYVsoRIziSY"], 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://pinchflat.f2fv7 (truncated) 13:57:21.483 [info] {"source":"oban","duration":4040,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:24.329 [info] GET / 13:57:24.330 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:57:24.331 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1912.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 [] 13:57:24.332 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1408.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:57:24.332 [debug] QUERY OK source="sources" db=0.2ms idle=914.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:57:24.413 [debug] QUERY OK source="media_items" db=80.4ms idle=914.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:57:24.415 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=487.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:57:24.416 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=84.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 [] 13:57:24.417 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=85.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 [] 13:57:24.418 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=86.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 [] 13:57:24.427 [debug] QUERY OK source="media_items" db=6.4ms idle=7.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 (NOT (m0."media_filepath" IS NULL)) [] 13:57:24.430 [debug] QUERY OK source="media_items" db=1.0ms queue=0.2ms idle=12.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 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:57:24.432 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=14.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" IN (?,?)) [2, 6] 13:57:24.465 [debug] QUERY OK source="media_items" db=24.9ms queue=0.1ms idle=22.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 (((((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"))) [] 13:57:24.490 [debug] QUERY OK source="media_items" db=23.5ms queue=0.3ms idle=47.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 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 (((((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."id" DESC LIMIT ? OFFSET ? [5, 0] 13:57:24.492 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=64.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] 13:57:24.499 [debug] QUERY OK source="tasks" db=1.3ms queue=0.1ms idle=68.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:57:24.502 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=68.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3672, 3675] 13:57:24.507 [info] Sent 200 in 177ms 13:57:25.428 [info] GET /sources/2/force_download_pending 13:57:25.429 [debug] QUERY OK source="settings" db=0.6ms idle=938.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 [] 13:57:25.430 [debug] QUERY OK source="settings" db=0.4ms idle=937.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 [] 13:57:25.430 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:57:25.434 [info] GET /sources/2 13:57:25.434 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "2"} Pipelines: [:browser] 13:57:25.435 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=935.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" = ?) [2] 13:57:25.431 [error] #PID<0.4397.0> running PinchflatWeb.Endpoint (connection #PID<0.4395.0>, stream id 2) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /sources/2/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/2/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4395.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_download_pending", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54360}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.suranyami.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.171", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4397.0>, params: %{}, path_info: ["sources", "2", "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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.suranyami.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.171"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/2/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDh6VN8-Xui-8YAAODB"} ], 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.4395.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_download_pending", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54360}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.suranyami.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.171", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4395.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_download_pending", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54360}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.suranyami.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.171", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4397.0>, params: %{}, path_info: ["sources", "2", "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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.suranyami.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.171"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], (truncated) 13:57:25.436 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=934.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] 13:57:25.450 [debug] QUERY OK source="tasks" db=12.3ms idle=508.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 (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 13:57:25.451 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=21.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 (?,?)) [1720, 1187] 13:57:25.452 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=21.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 [] 13:57:25.453 [debug] QUERY OK source="settings" db=0.5ms idle=17.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 [] 13:57:25.455 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=18.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 [] 13:57:25.459 [debug] QUERY OK source="sources" db=0.4ms idle=9.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" = ?) [2] 13:57:25.476 [info] GET /sources/6/sync_files_on_disk 13:57:25.478 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=24.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 [] 13:57:25.479 [debug] QUERY OK source="settings" db=0.4ms idle=24.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 [] 13:57:25.479 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:57:25.480 [debug] QUERY OK source="media_items" db=18.9ms queue=0.5ms idle=9.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 (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] 13:57:25.480 [error] #PID<0.4400.0> running PinchflatWeb.Endpoint (connection #PID<0.4395.0>, stream id 3) terminated Server: pinchflat.suranyami.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.4395.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/sync_files_on_disk", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54360}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.suranyami.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.171", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4400.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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.suranyami.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.171"}, {"x-forwarded-host", "pinchflat.suranyami.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", "GKDh6VZX-ahjg3cAAOFB"} ], 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.4395.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/sync_files_on_disk", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54360}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.suranyami.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.171", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, 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.4395.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/sync_files_on_disk", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 54360}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.suranyami.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.171", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4400.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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.suranyami.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.171"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/6/sync_fi (truncated) 13:57:25.514 [debug] QUERY OK source="media_items" db=32.7ms queue=0.5ms idle=26.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 ? [2, 10, 0] 13:57:25.518 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=57.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" = ?) [2] 13:57:25.520 [debug] QUERY OK source="media_items" db=1.5ms queue=0.4ms idle=40.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 13:57:25.531 [debug] QUERY OK source="media_items" db=9.4ms queue=0.4ms idle=41.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 ? [2, 10, 0] 13:57:25.535 [debug] QUERY OK source="sources" db=0.4ms idle=54.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] 13:57:25.555 [debug] QUERY OK source="media_items" db=17.9ms queue=0.5ms idle=22.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"))))) [2] 13:57:25.605 [debug] QUERY OK source="media_items" db=47.1ms queue=1.0ms idle=39.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 ? [2, 10, 0] 13:57:25.612 [info] Sent 200 in 178ms 13:57:25.781 [info] GET /sources/6/force_redownload 13:57:25.783 [debug] QUERY OK source="settings" db=0.5ms idle=261.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 [] 13:57:25.784 [debug] QUERY OK source="settings" db=0.5ms idle=252.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 [] 13:57:25.784 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:57:25.785 [error] #PID<0.4401.0> running PinchflatWeb.Endpoint (connection #PID<0.4398.0>, stream id 2) terminated Server: pinchflat.suranyami.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.4398.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_redownload", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37822}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.suranyami.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.171", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4401.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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.suranyami.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.171"}, {"x-forwarded-host", "pinchflat.suranyami.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", "GKDh6WiNQ7Adfc8AAOFh"} ], 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.4398.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_redownload", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37822}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.suranyami.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.171", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, 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.4398.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_redownload", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37822}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.suranyami.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.171", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4401.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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.suranyami.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.171"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/6/force_redownload", (truncated) 13:57:26.079 [info] GET /sources/6/force_index 13:57:26.081 [debug] QUERY OK source="settings" db=1.1ms idle=524.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 [] 13:57:26.082 [debug] QUERY OK source="settings" db=0.4ms idle=477.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 [] 13:57:26.082 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:57:26.083 [error] #PID<0.4402.0> running PinchflatWeb.Endpoint (connection #PID<0.4398.0>, stream id 3) terminated Server: pinchflat.suranyami.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.4398.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_index", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37822}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUGtxLUJOUUtwM0NLNjEtbmpBc0w4UjRR.u4xHacpc9Z8l6omqv2ptDilzdgunJBqpkOlBo3bfhp0", "host" => "pinchflat.suranyami.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.171", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUGtxLUJOUUtwM0NLNjEtbmpBc0w4UjRR.u4xHacpc9Z8l6omqv2ptDilzdgunJBqpkOlBo3bfhp0" }, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4402.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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUGtxLUJOUUtwM0NLNjEtbmpBc0w4UjRR.u4xHacpc9Z8l6omqv2ptDilzdgunJBqpkOlBo3bfhp0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUGtxLUJOUUtwM0NLNjEtbmpBc0w4UjRR.u4xHacpc9Z8l6omqv2ptDilzdgunJBqpkOlBo3bfhp0"}, {"host", "pinchflat.suranyami.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.171"}, {"x-forwarded-host", "pinchflat.suranyami.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", "GKDh6XpOnPbET9AAAOGB"} ], 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.4398.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_index", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37822}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUGtxLUJOUUtwM0NLNjEtbmpBc0w4UjRR.u4xHacpc9Z8l6omqv2ptDilzdgunJBqpkOlBo3bfhp0", "host" => "pinchflat.suranyami.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.171", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, 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.4398.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_index", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37822}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUGtxLUJOUUtwM0NLNjEtbmpBc0w4UjRR.u4xHacpc9Z8l6omqv2ptDilzdgunJBqpkOlBo3bfhp0", "host" => "pinchflat.suranyami.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.171", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUGtxLUJOUUtwM0NLNjEtbmpBc0w4UjRR.u4xHacpc9Z8l6omqv2ptDilzdgunJBqpkOlBo3bfhp0" }, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4402.0>, params: %{}, path_info: ["sources", "6", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1 (truncated) 13:57:26.385 [info] GET /sources/2/sync_files_on_disk 13:57:26.386 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=602.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 [] 13:57:26.387 [debug] QUERY OK source="settings" db=0.5ms idle=602.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 [] 13:57:26.387 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:57:26.388 [error] #PID<0.4403.0> running PinchflatWeb.Endpoint (connection #PID<0.4398.0>, stream id 4) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /sources/2/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/2/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4398.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37822}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUGtxLUJOUUtwM0NLNjEtbmpBc0w4UjRR.u4xHacpc9Z8l6omqv2ptDilzdgunJBqpkOlBo3bfhp0", "host" => "pinchflat.suranyami.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.171", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUGtxLUJOUUtwM0NLNjEtbmpBc0w4UjRR.u4xHacpc9Z8l6omqv2ptDilzdgunJBqpkOlBo3bfhp0" }, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4403.0>, params: %{}, path_info: ["sources", "2", "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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUGtxLUJOUUtwM0NLNjEtbmpBc0w4UjRR.u4xHacpc9Z8l6omqv2ptDilzdgunJBqpkOlBo3bfhp0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUGtxLUJOUUtwM0NLNjEtbmpBc0w4UjRR.u4xHacpc9Z8l6omqv2ptDilzdgunJBqpkOlBo3bfhp0"}, {"host", "pinchflat.suranyami.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.171"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/2/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDh6YyFwhEmLXIAAOGh"} ], 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.4398.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37822}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUGtxLUJOUUtwM0NLNjEtbmpBc0w4UjRR.u4xHacpc9Z8l6omqv2ptDilzdgunJBqpkOlBo3bfhp0", "host" => "pinchflat.suranyami.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.171", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4398.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37822}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUGtxLUJOUUtwM0NLNjEtbmpBc0w4UjRR.u4xHacpc9Z8l6omqv2ptDilzdgunJBqpkOlBo3bfhp0", "host" => "pinchflat.suranyami.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.171", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUGtxLUJOUUtwM0NLNjEtbmpBc0w4UjRR.u4xHacpc9Z8l6omqv2ptDilzdgunJBqpkOlBo3bfhp0" }, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4403.0>, params: %{}, path_info: ["sources", "2", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatW (truncated) 13:57:26.688 [info] GET /sources/2/force_redownload 13:57:26.689 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=755.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 [] 13:57:26.690 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=608.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 [] 13:57:26.691 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:57:26.691 [error] #PID<0.4404.0> running PinchflatWeb.Endpoint (connection #PID<0.4398.0>, stream id 5) terminated Server: pinchflat.suranyami.com:80 (http) Request: GET /sources/2/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/2/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4398.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_redownload", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37822}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUGtxLUJOUUtwM0NLNjEtbmpBc0w4UjRR.u4xHacpc9Z8l6omqv2ptDilzdgunJBqpkOlBo3bfhp0", "host" => "pinchflat.suranyami.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.171", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUGtxLUJOUUtwM0NLNjEtbmpBc0w4UjRR.u4xHacpc9Z8l6omqv2ptDilzdgunJBqpkOlBo3bfhp0" }, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4404.0>, params: %{}, path_info: ["sources", "2", "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://pinchflat.suranyami.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 210, 3, 4}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUGtxLUJOUUtwM0NLNjEtbmpBc0w4UjRR.u4xHacpc9Z8l6omqv2ptDilzdgunJBqpkOlBo3bfhp0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUGtxLUJOUUtwM0NLNjEtbmpBc0w4UjRR.u4xHacpc9Z8l6omqv2ptDilzdgunJBqpkOlBo3bfhp0"}, {"host", "pinchflat.suranyami.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.171"}, {"x-forwarded-host", "pinchflat.suranyami.com"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/2/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKDh6Z6UMPXJq9IAAOHB"} ], 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.4398.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_redownload", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37822}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUGtxLUJOUUtwM0NLNjEtbmpBc0w4UjRR.u4xHacpc9Z8l6omqv2ptDilzdgunJBqpkOlBo3bfhp0", "host" => "pinchflat.suranyami.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.171", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4398.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_redownload", host: "pinchflat.suranyami.com", peer: {{10, 210, 3, 4}, 37822}, bindings: %{}, sock: {{10, 210, 0, 10}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUGtxLUJOUUtwM0NLNjEtbmpBc0w4UjRR.u4xHacpc9Z8l6omqv2ptDilzdgunJBqpkOlBo3bfhp0", "host" => "pinchflat.suranyami.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.171", "x-forwarded-host" => "pinchflat.suranyami.com", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUGtxLUJOUUtwM0NLNjEtbmpBc0w4UjRR.u4xHacpc9Z8l6omqv2ptDilzdgunJBqpkOlBo3bfhp0" }, halted: false, host: "pinchflat.suranyami.com", method: "GET", owner: #PID<0.4404.0>, params: %{}, path_info: ["sources", "2", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], (truncated) 13:57:26.995 [info] GET /media_profiles/new 13:57:26.996 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 13:57:26.997 [debug] QUERY OK source="settings" db=0.4ms idle=610.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 [] 13:57:26.997 [debug] QUERY OK source="settings" db=0.2ms idle=610.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 [] 13:57:26.998 [debug] QUERY OK source="settings" db=0.2ms idle=307.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 [] 13:57:26.998 [debug] QUERY OK source="settings" db=0.1ms idle=307.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 [] 13:57:26.999 [debug] QUERY OK source="settings" db=0.3ms idle=62.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 [] 13:57:27.001 [info] Sent 200 in 5ms